Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix broken CI, add cache support for Verus build result, update CI OS #594

Merged
merged 23 commits into from
Mar 7, 2025

Conversation

Catoverflow
Copy link
Collaborator

@Catoverflow Catoverflow commented Mar 5, 2025

  • Fixed broken CI caused by rust toolchain update
  • Added cache support for Verus build
    • As we checked out the commit ID the cache will always be reused, so we could save 3mins for every jobs in CI
  • Bumped Github action API call version and runner OS version
    • Cache for Go environment is enabled by default since V4

However, as action cache does not support caching on relative path (we put Verus in ../verus before), and there is no convenient way to get runner root dir instead of project root dir. There are 2 ways to workaround:

  1. Export runner root dir in action runtime to action env, cache ${{env.runer_root}}/verus, and reuse in each cache fetch
  2. Just put verus in project root, which expands to anvil/verus. Require some runtime modification on CI jobs, together with runtime modification in Cargo.toml.

Currently I'm using the 2nd way.

BTW, if we switch to vargo from cargo we can(?) also skip the installation of rust toolchains for most of the jobs.

@Catoverflow Catoverflow requested a review from marshtompsxd March 6, 2025 22:30
@marshtompsxd marshtompsxd added this pull request to the merge queue Mar 7, 2025
@marshtompsxd
Copy link
Collaborator

@Catoverflow Great job!

BTW, if we switch to vargo from cargo we can(?) also skip the installation of rust toolchains for most of the jobs.

We can try it in the next PR

Merged via the queue into main with commit c2e7d29 Mar 7, 2025
18 checks passed
Catoverflow added a commit that referenced this pull request Mar 7, 2025
…#594)

- Fixed broken CI caused by rust toolchain update
- Added cache support for Verus build
- As we checked out the commit ID the cache will always be reused, so we
could save 3mins for every jobs in CI
- Bumped Github action API call version and runner OS version
  - Cache for Go environment is enabled by default since V4

However, as action cache does not support caching on relative path (we
put Verus in `../verus` before), and there is no convenient way to get
runner root dir instead of project root dir. There are 2 ways to
workaround:
1. Export runner root dir in action runtime to action env, cache
`${{env.runer_root}}/verus`, and reuse in each cache fetch
2. Just put verus in project root, which expands to `anvil/verus`.
Require some runtime modification on CI jobs, together with runtime
modification in `Cargo.toml`.

Currently I'm using the 2nd way.

BTW, if we switch to vargo from cargo we can(?) also skip the
installation of rust toolchains for most of the jobs.
@Catoverflow Catoverflow deleted the ci_fix branch March 7, 2025 04:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants