chore: Release v1.5.0#770
Conversation
* chore: Release version 1.5.0 * chore: Updating lock file * chore: Clean up 1.5.0 changelog entries * chore: Restore Cargo.lock from main --------- Co-authored-by: oz-release-app[bot] <205211949+oz-release-app[bot]@users.noreply.github.com> Co-authored-by: tirumerla <tirumerla@gmail.com>
WalkthroughThis PR releases version 1.5.0 of the OpenZeppelin Relayer with a coordinated Rust toolchain upgrade from 1.88.0 to 1.91.1. Configuration files, release documentation, and in-memory repositories are updated with lifetime annotations and code utilities modernized to leverage newer Rust standard library APIs. ChangesVersion 1.5.0 Release with Rust 1.91 Upgrade
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/actions/prepare/action.yml:
- Around line 17-19: Replace the mutable tag reference to the third-party GitHub
Action (the uses string "dtolnay/rust-toolchain@1.91.1") with an immutable
commit SHA; update the uses field to point to the action by its full commit SHA
(e.g., "dtolnay/rust-toolchain@<commit-sha>") so the job uses a specific,
immutable revision rather than a tag.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 87735ba3-a107-43c2-9f4c-e0f1bb945f57
⛔ Files ignored due to path filters (1)
Cargo.lockis excluded by!**/*.lock
📒 Files selected for processing (15)
.github/actions/prepare/action.yml.github/release-please/manifest.jsonCHANGELOG.mdCargo.tomlrust-toolchain.tomlsrc/jobs/handlers/transaction_cleanup_handler.rssrc/queues/sqs/worker.rssrc/repositories/api_key/api_key_in_memory.rssrc/repositories/network/network_in_memory.rssrc/repositories/notification/notification_in_memory.rssrc/repositories/plugin/plugin_in_memory.rssrc/repositories/relayer/relayer_in_memory.rssrc/repositories/signer/signer_in_memory.rssrc/repositories/transaction/transaction_in_memory.rssrc/services/plugins/pool_executor.rs
| uses: dtolnay/rust-toolchain@1.91.1 # v1.91.1 | ||
| with: | ||
| components: ${{ (inputs.components != '') && format('{0}, rustfmt, clippy', inputs.components) || 'rustfmt, clippy' }} |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Read-only verification:
# 1) Find non-SHA GitHub Action refs.
# 2) Resolve dtolnay/rust-toolchain tag commit SHA for 1.91.1.
set -euo pipefail
echo "== Non-SHA action refs in workflows/actions =="
rg -n --glob '.github/**' 'uses:\s+[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+@([^\s#]+)' | \
rg -n -v '@[0-9a-fA-F]{40}\b' || true
echo
echo "== Resolve tag -> commit SHA for dtolnay/rust-toolchain@1.91.1 =="
gh api repos/dtolnay/rust-toolchain/git/ref/tags/1.91.1 | jq -r '.object.sha, .object.type'Repository: OpenZeppelin/openzeppelin-relayer
Length of output: 393
🏁 Script executed:
#!/bin/bash
# Step 1: Explore .github directory structure
echo "=== .github directory structure ==="
find .github -type f -name "*.yml" -o -name "*.yaml" 2>/dev/null | head -20
echo
echo "=== Check if .github/actions/prepare/action.yml exists ==="
if [ -f ".github/actions/prepare/action.yml" ]; then
echo "File exists. Content at lines 17-19:"
sed -n '15,21p' ".github/actions/prepare/action.yml" | cat -n
else
echo "File does not exist"
fi
echo
echo "=== All GitHub Actions uses statements ==="
rg 'uses:' '.github/' --no-heading || echo "(no matches found)"Repository: OpenZeppelin/openzeppelin-relayer
Length of output: 13951
🌐 Web query:
dtolnay/rust-toolchain repository tag v1.91.1 commit SHA
💡 Result:
For the repository dtolnay/rust-toolchain, the tag v1.91.1 corresponds to the commit SHA f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561.[1]
Citations:
🌐 Web query:
dtolnay/rust-toolchain action inputs parameters documentation
💡 Result:
The dtolnay/rust-toolchain GitHub Action supports these input parameters (“with:” fields) and outputs: Inputs (with/): 1) toolchain (required: false) - Rustup toolchain specification string such as stable, nightly, 1.89.0, nightly-2025-01-01.[1][2] - The default behavior (if you do not set the input) is to match the action’s @rev (e.g., dtolnay/rust-toolchain@nightly pulls nightly; dtolnay/rust-toolchain@1.89.0 pulls 1.89.0).[1][2] - Note from the README: if you pass an explicit toolchain input instead of using the action @rev, use dtolnay/rust-toolchain@master as the revision of the action.[1] 2) targets (required: false) - Comma-separated list of Rust target triples to install for the chosen toolchain.[3][1] 3) target (required: false) - Alias for targets (same meaning: installs the listed target triples).[3] 4) components (required: false) - Comma-separated list of additional Rust components to install (examples given: clippy, rustfmt).[3][1] Outputs: 1) cachekey - A short hash of the installed rustc version, suitable for use as a cache key.[3][1] 2) name - Rustup’s selected toolchain name (example format like “1.62.0”), suitable for using with cargo +${{ steps..outputs.name }}.[3][1] Example usage: - uses: dtolnay/rust-toolchain@stable with: toolchain: nightly targets: wasm32-unknown-unknown components: clippy,rustfmt Grounding: the action.yml defines inputs toolchain, targets, target (alias), components, plus outputs cachekey and name.[3] The README documents the same inputs/outputs and explains the default behavior tied to the action @rev and the @master guidance when providing toolchain explicitly.[1][2]
Citations:
- 1: https://github.com/dtolnay/rust-toolchain/blob/master/README.md
- 2: https://github.com/dtolnay/rust-toolchain
- 3: https://github.com/dtolnay/rust-toolchain/blob/master/action.yml
🏁 Script executed:
#!/bin/bash
# Check the .github/actions/oidc/action.yml to see similar aws-actions pattern
echo "=== Reference: aws-actions/configure-aws-credentials usage ==="
rg -A 3 'uses: aws-actions/configure-aws-credentials' .github/ --no-heading || true
echo
echo "=== Check how prepare action uses the rust-toolchain action ==="
cat -n .github/actions/prepare/action.yml | head -30Repository: OpenZeppelin/openzeppelin-relayer
Length of output: 1885
Pin third-party GitHub Action to an immutable commit SHA.
Using a tag (@1.91.1) is mutable and weakens CI supply-chain integrity.
Suggested hardening
- uses: dtolnay/rust-toolchain@1.91.1 # v1.91.1
+ uses: dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 # v1.91.1
with:
components: ${{ (inputs.components != '') && format('{0}, rustfmt, clippy', inputs.components) || 'rustfmt, clippy' }}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| uses: dtolnay/rust-toolchain@1.91.1 # v1.91.1 | |
| with: | |
| components: ${{ (inputs.components != '') && format('{0}, rustfmt, clippy', inputs.components) || 'rustfmt, clippy' }} | |
| uses: dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 # v1.91.1 | |
| with: | |
| components: ${{ (inputs.components != '') && format('{0}, rustfmt, clippy', inputs.components) || 'rustfmt, clippy' }} |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/actions/prepare/action.yml around lines 17 - 19, Replace the mutable
tag reference to the third-party GitHub Action (the uses string
"dtolnay/rust-toolchain@1.91.1") with an immutable commit SHA; update the uses
field to point to the action by its full commit SHA (e.g.,
"dtolnay/rust-toolchain@<commit-sha>") so the job uses a specific, immutable
revision rather than a tag.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files
Flags with carried forward coverage won't be shown. Click here to find out more. @@ Coverage Diff @@
## main #770 +/- ##
==========================================
- Coverage 90.32% 90.31% -0.02%
==========================================
Files 291 291
Lines 124502 124510 +8
==========================================
- Hits 112454 112447 -7
- Misses 12048 12063 +15
🚀 New features to boost your workflow:
|
Summary
Summary by CodeRabbit
Chores
Documentation