diff --git a/.github/workflows/hls.yml b/.github/workflows/hls.yml index 3fb17d69f8..f50be818ee 100644 --- a/.github/workflows/hls.yml +++ b/.github/workflows/hls.yml @@ -12,17 +12,35 @@ jobs: test-hls-works: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - name: Check out repo + uses: actions/checkout@v4 - name: Install Nix with good defaults uses: input-output-hk/install-nix-action@v20 with: extra_nix_config: | trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= substituters = https://cache.iog.io/ https://cache.nixos.org/ - nix_path: nixpkgs=channel:nixos-unstable - - uses: cachix/install-nix-action@v18 + nix_path: nixpkgs=channel:nixos-unstable + - name: Cachix install Nix + uses: cachix/install-nix-action@v18 with: nix_path: nixpkgs=channel:nixos-unstable - # Make the Nix environment available to next steps - - uses: rrbutani/use-nix-shell-action@v1 - - run: cabal update; haskell-language-server + - name: Open nix environment + uses: rrbutani/use-nix-shell-action@v1 + - name: Update dependencies + run: cabal update; cabal freeze + - name: Obtain GHC version + run: | + echo "VERSION=$(ghc --version | grep -oE '[^ ]+$')" >> $GITHUB_OUTPUT + id: ghc + - name: Cache hie-bios and ghcide + uses: actions/cache@v3 + with: + path: | + ~/.cache/hie-bios + ~/.cache/ghcide + key: hls-cache-${{ runner.os }}-${{ steps.ghc.outputs.VERSION }}-${{ hashFiles('**/cabal.project.freeze') }}-${{ hashFiles('**/*.cabal', '**/cabal.project') }} + restore-keys: | + hls-cache-${{ runner.os }}-${{ steps.ghc.outputs.VERSION }}-${{ hashFiles('**/cabal.project.freeze') }}- + - name: Test HLS works + run: haskell-language-server