release: provide zip for release#19
Conversation
WalkthroughThe changes in the Changes
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (2)
.github/workflows/release.yml (2)
Line range hint
92-113: Consider refactoring protoc installation steps.The protoc installation steps contain duplicated logic that could be simplified using a composite action or a shared script.
Create a composite action
install-protoc.yml:name: 'Install Protoc' description: 'Installs Protocol Buffers compiler' inputs: arch: description: 'Architecture identifier (linux-x86_64, linux-aarch_64, osx-x86_64, osx-aarch_64)' required: true runs: using: 'composite' steps: - shell: bash run: | PROTOC_VERSION="25.2" curl -OL "https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-${{ inputs.arch }}.zip" sudo unzip -o "protoc-${PROTOC_VERSION}-${{ inputs.arch }}.zip" -d /usr/local bin/protoc sudo unzip -o "protoc-${PROTOC_VERSION}-${{ inputs.arch }}.zip" -d /usr/local 'include/*' rm -f "protoc-${PROTOC_VERSION}-${{ inputs.arch }}.zip"
Line range hint
147-179: Consider adding release type configuration.The release is always marked as prerelease, which might not be desired for stable releases. Consider making this configurable based on the tag format or workflow input.
Update the release configuration:
with: tag_name: ${{ github.event.inputs.tag }} files: | ./dash-evo-tool-amd64-linux.zip ./dash-evo-tool-arm64-linux.zip ./dash-evo-tool-amd64-mac.zip ./dash-evo-tool-arm64-mac.zip ./dash-evo-tool-windows.zip draft: false - prerelease: true + prerelease: ${{ !startsWith(github.event.inputs.tag, 'v') || contains(github.event.inputs.tag, '-dev') }}
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
- .github/workflows/release.yml (6 hunks)
🔇 Additional comments (5)
.github/workflows/release.yml (5)
17-20: LGTM: Required permissions for build attestation.The added permissions are correctly configured for generating attested release artifacts.
55-65: LGTM: Efficient caching configuration.The Cargo registry caching is well-configured and will significantly improve build times.
127-140: LGTM: Well-structured packaging and attestation.The packaging and attestation steps are correctly configured to provide verified release artifacts. The zip files include all necessary components and are properly attested using GitHub's official action.
67-72: Verify environment configuration.The setup copies
.env.exampleto.env. Ensure that the example environment file contains safe default values suitable for releases.#!/bin/bash # Check .env.example for sensitive information or placeholder values if [ -f ".env.example" ]; then echo "Contents of .env.example:" cat .env.example fi
30-42: Verify ARM64 build configuration.The ARM64 build is configured to use a self-hosted runner with specific tags. As mentioned in the PR description, ARM64 support needs testing in the original repository.
Replace 6 identical 15-line INSERT INTO wallet blocks in tests with a single insert_test_wallet_row(&db) call. One place to maintain if the wallet schema changes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This provides attested to zips as release artifacts as opposed to raw binaries.
You can see a build in my repo here: https://github.com/PastaPastaPasta/dash-evo-tool/actions/runs/11451944148
Note that my repo excluded arm64 (as GitHub doesn't provide those runners), so that part is untested. Additionally, my run doesn't actually publish the release as I haven't setup a "GITHUB_SECRET" as was done in this repo. Should work, but needs to be tested in this repo / with arm64 linux
Summary by CodeRabbit
New Features
Improvements