Skip to content

Zarf Injector Rust Binaries #63

Zarf Injector Rust Binaries

Zarf Injector Rust Binaries #63

name: Zarf Injector Rust Binaries
permissions:
contents: read
on:
workflow_dispatch:
inputs:
versionTag:
description: "Version tag"
required: true
branchName:
description: "Branch to build the injector from"
required: true
jobs:
build-injector:
runs-on: ubuntu-latest
steps:
- name: "Checkout Repo"
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
ref: ${{ github.event.inputs.branchName }}
- name: Install tools
uses: ./.github/actions/install-tools
- name: Install musl-tools on Linux
run: sudo apt-get update --yes && sudo apt-get install --yes musl-tools
- name: Install cross
run: cargo install cross --git https://github.com/cross-rs/cross
- name: "Build Rust Binary for x86_64 and arm64"
run: |
touch $HOME/.cargo/config.toml
echo "[target.x86_64-unknown-linux-musl] \n rustflags = ["-C", "relocation-model=static", "-C", "strip=symbols"]" >> $HOME/.cargo/config.toml
cd src/injector
make cross-injector-linux
cd target
mkdir -p ../dist
cp x86_64-unknown-linux-musl/release/zarf-injector ../dist/zarf-injector-amd64
cp aarch64-unknown-linux-musl/release/zarf-injector ../dist/zarf-injector-arm64
cd ../dist
shasum zarf-injector-amd64 >> checksums.txt
shasum zarf-injector-arm64 >> checksums.txt
- name: Set AWS Credentials
uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1
with:
aws-access-key-id: ${{ secrets.AWS_GOV_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_GOV_SECRET_ACCESS_KEY }}
aws-region: us-gov-west-1
- name: Sync Artifacts to S3
run: |
aws s3 sync src/injector/dist/ s3://zarf-public/injector/${{ github.event.inputs.versionTag }}/