Skip to content

GHA: Allow dual release of wolfssl and wolfssl-sys#342

Open
kp-shawn-thiah wants to merge 3 commits intomainfrom
dual-release-workflow
Open

GHA: Allow dual release of wolfssl and wolfssl-sys#342
kp-shawn-thiah wants to merge 3 commits intomainfrom
dual-release-workflow

Conversation

@kp-shawn-thiah
Copy link
Contributor

Update the release process to allow releasing both together, instead of doing it in separate PRs.

@kp-shawn-thiah kp-shawn-thiah requested a review from a team as a code owner February 24, 2026 09:18
@kp-shawn-thiah kp-shawn-thiah marked this pull request as draft February 24, 2026 09:19
@kp-shawn-thiah kp-shawn-thiah changed the title Allow dual release of wolfssl and wolfssl-sys GHA: Allow dual release of wolfssl and wolfssl-sys Feb 24, 2026
@github-actions
Copy link

github-actions bot commented Feb 24, 2026

Code coverage summary for b1e9647:

Filename                             Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
wolfssl-sys/src/lib.rs                    34                 0   100.00%           4                 0   100.00%          22                 0   100.00%           0                 0         -
wolfssl/src/aes256.rs                    166                 8    95.18%          11                 0   100.00%         124                 4    96.77%           0                 0         -
wolfssl/src/chacha20_poly1305.rs          75                 2    97.33%           5                 0   100.00%          66                 2    96.97%           0                 0         -
wolfssl/src/context.rs                   401               173    56.86%          41                14    65.85%         286               110    61.54%           0                 0         -
wolfssl/src/error.rs                      44                12    72.73%           5                 1    80.00%          43                10    76.74%           0                 0         -
wolfssl/src/lib.rs                        81                15    81.48%          11                 1    90.91%          72                13    81.94%           0                 0         -
wolfssl/src/rng.rs                        71                 9    87.32%           6                 0   100.00%          42                 3    92.86%           0                 0         -
wolfssl/src/ssl.rs                      1242               334    73.11%          84                25    70.24%         833               246    70.47%           0                 0         -
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                   2114               553    73.84%         167                41    75.45%        1488               388    73.92%           0                 0         -

✅ Region coverage 73% passes
✅ Line coverage 73% passes

@kp-shawn-thiah kp-shawn-thiah force-pushed the dual-release-workflow branch 2 times, most recently from bc0bd9c to f8298e8 Compare February 24, 2026 09:58
@github-actions
Copy link

github-actions bot commented Feb 24, 2026

🚀 Release Plan

🏷️ Release skipped — ignore-release label is applied.

@kp-shawn-thiah kp-shawn-thiah added the ignore-release Ignore the Release GitHub Action label Feb 24, 2026
@kp-shawn-thiah kp-shawn-thiah marked this pull request as ready for review February 24, 2026 10:10
@kp-shawn-thiah kp-shawn-thiah marked this pull request as draft February 24, 2026 10:23
@kp-shawn-thiah kp-shawn-thiah removed the ignore-release Ignore the Release GitHub Action label Feb 24, 2026
@kp-shawn-thiah kp-shawn-thiah added the ignore-release Ignore the Release GitHub Action label Feb 24, 2026
@kp-shawn-thiah kp-shawn-thiah marked this pull request as ready for review February 24, 2026 10:47
@kp-mariappan-ramasamy
Copy link
Contributor

@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 ?

@kp-shawn-thiah
Copy link
Contributor Author

@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 ignore-release label is added.

Copy link
Contributor

@xv-thomas-leong xv-thomas-leong left a comment

Choose a reason for hiding this comment

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

Logic looks sane. Some comments on implementation

@kp-shawn-thiah kp-shawn-thiah removed the ignore-release Ignore the Release GitHub Action label Feb 25, 2026
@kp-shawn-thiah kp-shawn-thiah added the ignore-release Ignore the Release GitHub Action label Feb 25, 2026
// 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;
Copy link
Contributor

Choose a reason for hiding this comment

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

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.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ignore-release Ignore the Release GitHub Action

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants