Skip to content

Manual Build

Manual Build #8

Workflow file for this run

name: Manual Build
on:
workflow_dispatch:
inputs:
password:
required: true
architecture:
required: true
description: 'The architecture to build for'
type: choice
options:
- aarch64
- x86-64
- static-aarch64
- static-x86-64
debug:
required: false
description: 'Enable debug mode'
type: boolean
default: false
# Don't allow multiple of the same job to run
concurrency:
group: "manual_build"
cancel-in-progress: false
jobs:
check_pass:
name: Check password
runs-on: ubuntu-latest
outputs:
is_allowed: ${{ steps.check.outputs.is_allowed }}
steps:
- id: check
run: |
password=${{ secrets.CI_PASSWORD }}
if [[ "${{ github.event.inputs.password }}" == "${password}" ]]; then
echo "is_allowed=true" >> $GITHUB_OUTPUT
else
echo "is_allowed=false" >> $GITHUB_OUTPUT
fi
build:
needs: check_pass
if: ${{ needs.check_pass.outputs.is_allowed == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: 🫙 Cache
uses: Swatinem/rust-cache@v2
with:
key: cache-v1
cache-on-failure: true
- name: 🛠️ Setup Rust
uses: dtolnay/rust-toolchain@stable
- name: 📥 Install Dependencies
run: |
cargo xtask ci-install ${{ github.event.inputs.architecture }}
- name: 🔨 Build Debug Library For ${{ github.event.inputs.architecture }}
if: ${{ github.event.inputs.debug }}
run: |
cargo xtask compile ${{ github.event.inputs.architecture }} --debug
- name: 🔨 Build Library For ${{ github.event.inputs.architecture }}
if: ${{ !github.event.inputs.debug }}
run: |
cargo xtask compile ${{ github.event.inputs.architecture }}
- name: 📤 Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ github.event.inputs.architecture }}
path: target/libseda_tally_vm*.a
overwrite: true