haskell / actions

Github actions for Haskell CI
146 stars 54 forks source link

`setup` emits invalid `outputs.cabal-store` #281

Open hololeap opened 1 year ago

hololeap commented 1 year ago

I'm getting warnings about caching failing to save, due to an invalid path. The path is being set by steps.setup.outputs.cabal-store.


With this step in my workflow file:

      # Cache dependencies already here, so that we do not have to rebuild them should the subsequent steps fail.
      - name: Save cached dependencies
        uses: actions/cache/save@v3
        # Caches are immutable, trying to save with the same key would error.
        if: ${{ steps.cache.outputs.cache-primary-key != steps.cache.outputs.cache-matched-key }}
        with:
          path: ${{ steps.setup.outputs.cabal-store }}
          key: ${{ steps.cache.outputs.cache-primary-key }}

I get this warning in my action logs:

2023-07-22T19:44:45.8306847Z ##[group]Run actions/cache/save@v3
2023-07-22T19:44:45.8307113Z with:
2023-07-22T19:44:45.8307332Z   path: /home/runner/.cabal/store
2023-07-22T19:44:45.8307798Z   key: Linux-ghc-9.4.5-cabal-3.10.1.0-plan-dea241877e48b4db5e8324c458234b2a1304c699d91083652cdbbc17e6216f6d
2023-07-22T19:44:45.8308241Z   enableCrossOsArchive: false
2023-07-22T19:44:45.8308475Z ##[endgroup]
2023-07-22T19:44:45.9858342Z [warning]Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.
2023-07-22T19:44:45.9892067Z ##[warning]Cache save failed.

The location of the cabal store may have changed recently? Not sure.

2023-07-22T19:44:11.1962449Z ##[group]Preparing cabal environment
2023-07-22T19:44:11.3545187Z [command]/opt/hostedtoolcache/ghcup/0.1.19.4/x64/ghcup unset cabal
2023-07-22T19:44:11.3595420Z [ Info  ] Cabal successfully unset
2023-07-22T19:44:11.3703406Z ##[endgroup]
2023-07-22T19:44:11.3704190Z ##[group]Installing cabal version 3.10.1.0
2023-07-22T19:44:11.5434421Z [command]/opt/hostedtoolcache/ghcup/0.1.19.4/x64/ghcup whereis cabal 3.10.1.0
2023-07-22T19:44:11.5620065Z /usr/local/.ghcup/bin/cabal-3.10.1.0
2023-07-22T19:44:11.5620618Z 
2023-07-22T19:44:11.5621978Z Attempting to access tool cabal at location /opt/cabal/3.10/bin
2023-07-22T19:44:11.5623529Z Failed to access tool cabal at location /opt/cabal/3.10/bin
2023-07-22T19:44:11.5624073Z Attempting to access tool cabal at location /home/runner/.ghcup/bin
2023-07-22T19:44:11.5626511Z Succeeded accessing tool cabal at location /home/runner/.ghcup/bin
2023-07-22T19:44:11.7258640Z [command]/opt/hostedtoolcache/ghcup/0.1.19.4/x64/ghcup set cabal 3.10.1.0
2023-07-22T19:44:11.7936953Z [ Warn  ] []8;;https://errors.haskell.org/messages/GHCup-00330\GHCup-00330]8;;\] cabal is shadowed by /home/runner/.ghcup/bin/cabal.
2023-07-22T19:44:11.7944490Z [ ...   ] The upgrade will not be in effect, unless you remove /home/runner/.ghcup/bin/cabal
2023-07-22T19:44:11.7951071Z [ ...   ] or make sure /usr/local/.ghcup/bin comes before /home/runner/.ghcup/bin in PATH.
2023-07-22T19:44:11.7957394Z [ Info  ] Cabal 3.10.1.0 successfully set as default version
2023-07-22T19:44:11.8019022Z Found cabal 3.10.1.0 in cache at path /home/runner/.ghcup/bin. Setup successful.
2023-07-22T19:44:11.8020048Z ##[endgroup]
2023-07-22T19:44:11.8021059Z ##[group]Setting up cabal
2023-07-22T19:44:14.0232785Z Adding /home/runner/.cabal/bin to PATH
2023-07-22T19:44:14.0264430Z [command]/home/runner/.ghcup/bin/cabal update
2023-07-22T19:44:15.3200245Z Downloading the latest package list from hackage.haskell.org
2023-07-22T19:44:34.2468371Z Package list of hackage.haskell.org has been updated.
2023-07-22T19:44:34.2469461Z The index-state is set to 2023-07-22T17:00:39Z.
2023-07-22T19:44:34.2670618Z ##[endgroup]
andreasabel commented 1 year ago

I get this warning in my action logs:

This link is expired. Do you have a valid link to the failing log? Of interest is e.g. the version of the VM this workflow ran on.

The issue could be caused by a new location of .cabal/store thanks to the XDG adoption in cabal 3.10: https://github.com/haskell/cabal/issues?q=is%3Aissue+label%3A%22re%3A+xdg%22

hololeap commented 1 year ago

@andreasabel

I put it in a gist.

andreasabel commented 1 year ago

https://gist.github.com/hololeap/dd6b0e9ebd86415ac41e973ffdcd229a#file-action-log-L221-L227