Skip to content

ci: Add release workflow#48

Merged
samuelburnham merged 4 commits into
devfrom
ci-release
Jun 22, 2024
Merged

ci: Add release workflow#48
samuelburnham merged 4 commits into
devfrom
ci-release

Conversation

@samuelburnham
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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.

Comment thread .github/workflows/release-pr.yml Outdated
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
@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