GHA: Allow dual release of wolfssl and wolfssl-sys#342
GHA: Allow dual release of wolfssl and wolfssl-sys#342kp-shawn-thiah wants to merge 3 commits intomainfrom
Conversation
|
Code coverage summary for b1e9647: ✅ Region coverage 73% passes |
bc0bd9c to
f8298e8
Compare
🚀 Release Plan🏷️ Release skipped — |
f8298e8 to
8a5fbda
Compare
8a5fbda to
ce9fda0
Compare
ce9fda0 to
5b469a7
Compare
|
@kp-shawn-thiah This PR does not update the cargo versions and it is happening in another PR: #342 (comment) I don't understand, why is the comment in this PR showing we need to release new versions ? |
This release plan was generated previously when I was testing the version bumps for the crates. I will add a new job to update the stale release plan when a |
xv-thomas-leong
left a comment
There was a problem hiding this comment.
Logic looks sane. Some comments on implementation
5d4bf1b to
d9d4a19
Compare
09eb7e7 to
d9d4a19
Compare
.github/workflows/release.yaml
Outdated
| // In dry-run mode, skip wolfssl publish if wolfssl-sys is also being published, | ||
| // because cargo publish --dry-run verifies deps against crates.io and wolfssl-sys | ||
| // won't be there yet. | ||
| const sysAlsoPublishing = isWolfssl && is_dry_run && sysPublishedThisRun; |
There was a problem hiding this comment.
It seems the new variables you’ve introduced use camelCase, while the existing ones are in snake_case. I have no preference for either style, as JavaScript can be a bit inconsistent in that regard. But could we make sure we stick to one convention within this file for consistency? It was consistent beforehand.
Ideally, we’d enforce this with a linter. However, since this is the only JS file in the project, setting that up is overkill. That said, I’d still like us to keep the naming consistent throughout the file.
There was a problem hiding this comment.
Let me update it to use snake_case to maintain consistency
Previously, wolfssl was blocked from releasing when wolfssl-sys also needed a version bump, because the check-dependencies action required wolfssl-sys git tag to exist before allowing wolfssl to publish. This forces a two-PR workflow. The release now will publish wolfssl-sys first then polls crates.io until it is live, then publish wolfssl. Github tag/release creation is idempotent, so failed runs can be safely rerun.
- Remove obsolete dependency check mermaid diagram - Update steps for version bumping relevant crates
Previously, adding the ignore-release label will skip the release job entirely, this results in a stale release plan and can confuse other reviewers. With this change, a separate skip_release job will update the comments to indicate the release was skipped.
d9d4a19 to
174ab43
Compare
Update the release process to allow releasing both together, instead of doing it in separate PRs.