Build Version sha256sum #3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Version sha256sum | |
| on: [workflow_dispatch] | |
| env: | |
| PROJECT_NAME: rax25kb | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.runner }} | |
| strategy: | |
| matrix: | |
| include: | |
| - name: win-amd64 | |
| runner: windows-latest | |
| target: x86_64-pc-windows-msvc | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: "${{ matrix.target }}" | |
| - name: Setup Cache | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Get Rust Version | |
| id: cargo-version | |
| shell: bash | |
| run: | | |
| VERSION=$(cargo metadata --format-version=1 --no-deps | jq -r '.packages[0].version') | |
| echo "VERSION=$VERSION" >> $GITHUB_ENV | |
| - name: Build Binary | |
| run: cargo build --verbose --release --target ${{ matrix.target }} | |
| - name: Prepare Versioned Artifact | |
| shell: bash | |
| run: | | |
| if [[ "${{ matrix.runner }}" == "windows-latest" ]]; then | |
| BIN_SUFFIX=".exe" | |
| else | |
| BIN_SUFFIX="" | |
| fi | |
| BIN_INPUT="target/${{ matrix.target }}/release/${PROJECT_NAME}${BIN_SUFFIX}" | |
| BIN_OUTPUT="${PROJECT_NAME}-v${VERSION}-${{ matrix.name }}${BIN_SUFFIX}" | |
| cp "$BIN_INPUT" "$BIN_OUTPUT" | |
| # Generate checksum file with platform-specific naming | |
| if [[ "${{ matrix.runner }}" == "windows-latest" ]]; then | |
| SUM_OUTPUT="${BIN_OUTPUT%.exe}_sha256sum.txt" | |
| else | |
| SUM_OUTPUT="${BIN_OUTPUT}.sha256sum" | |
| fi | |
| sha256sum "$BIN_OUTPUT" > "$SUM_OUTPUT" | |
| echo "ARTIFACT_PATH=$BIN_OUTPUT" >> $GITHUB_ENV | |
| echo "ARTIFACT_NAME=$BIN_OUTPUT" >> $GITHUB_ENV | |
| echo "SUM_PATH=$SUM_OUTPUT" >> $GITHUB_ENV | |
| echo "SUM_NAME=$SUM_OUTPUT" >> $GITHUB_ENV | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ env.ARTIFACT_NAME }} | |
| path: ${{ env.ARTIFACT_PATH }} | |
| - uses: actions/upload-artifact@v4 # Add this new step | |
| with: | |
| name: ${{ env.SUM_NAME }} | |
| path: ${{ env.SUM_PATH }} | |