Skip to content

Build Version sha256sum #3

Build Version sha256sum

Build Version sha256sum #3

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 }}