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

ci: Add release workflow #48

Merged
merged 4 commits into from
Jun 22, 2024
Merged

ci: Add release workflow #48

merged 4 commits into from
Jun 22, 2024

Conversation

samuelburnham
Copy link
Member

@samuelburnham samuelburnham commented Jun 18, 2024

Adds a release workflow based on argumentcomputer/zk-light-clients#19 and argumentcomputer/aptos-core#5

TODO:

  • Do we also want to bump the Cargo.tomls for tests, examples, and cli/src/assets?
  • Make an issue to reusify this workflow to centralize maintenance

@tchataigner
Copy link
Contributor

tchataigner commented Jun 18, 2024

Do we also want to bump the Cargo.tomls for tests, examples, and cli/src/assets?

I believe that we should handle the proper versioning of the crates that are meant to be used as dependencies, so I wouldn't add them in my opinion.

tchataigner
tchataigner previously approved these changes Jun 18, 2024
Copy link
Contributor

@tchataigner tchataigner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

tchataigner
tchataigner previously approved these changes Jun 18, 2024
Copy link
Contributor

@huitseeker huitseeker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great! Just one comment on maintenability of a list of crates distinct from the workspace.

runs-on: ubuntu-latest
env:
# Crates from which the version will be bumped
CRATES: './cli, ./core, ./derive, ./eval, ./helper, ./primitives, ./prover, ./recursion/circuit, ./recursion/compiler, ./recursion/core, ./recursion/gnark-ffi, ./recursion/program, ./sdk, ./tutorials, ./zkvm/entrypoint, ./zkvm/precompiles'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is going to be a pain to maintain.
How about :

  1. removing the glob in the members field of the [workspace] section in the top-level Cargo.toml,
  2. installing tomlq in the CI machines using cargo-install,
  3. do something like:
huitseeker@MacBook-Pro.localdomain➜~/tmp/sphinx(dev)» for i in $(tomlq workspace.members -f Cargo.toml|jq -r '.[] | "\"" + . + "\","'); do echo $i; done
"cli",
"core",
"derive",
"eval",
"helper",
"primitives",
"prover",
"recursion/circuit",
"recursion/compiler",
"recursion/core",
"recursion/gnark-ffi",
"recursion/program",
"sdk",
"tutorials",
"zkvm/*",

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great idea, I used this up to date fork instead: https://github.com/cryptaliagy/tq-rs

Copy link
Contributor

@tchataigner tchataigner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, NIT about referring to environment variable in the same way ($MY_VAR vs ${{ env.MY_VAR }}

@samuelburnham samuelburnham merged commit f47915f into dev Jun 22, 2024
6 checks passed
@samuelburnham samuelburnham deleted the ci-release branch June 22, 2024 08:42
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.

3 participants