feat: succinct target #34
Workflow file for this run
This file contains 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: CI | |
on: | |
push: | |
tags: | |
- '*' | |
jobs: | |
build-linux-x86: | |
runs-on: buildjet-32vcpu-ubuntu-2204 | |
steps: | |
- name: Set up git private repo access | |
run: | | |
git config --global url."https://${{ secrets.PRIVATE_PULL_TOKEN }}@github.com".insteadOf ssh://[email protected] | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Install ninja and cmake | |
uses: lukka/[email protected] | |
- name: Check out succinctlabs/vm | |
uses: actions/checkout@v3 | |
with: | |
repository: succinctlabs/vm | |
path: vm | |
ref: john/cargo-succinct-build-toolchain | |
token: ${{ secrets.PRIVATE_PULL_TOKEN }} | |
- name: Check out succinctlabs/rust | |
uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
path: rust | |
fetch-depth: 0 | |
- name: Install cargo prove | |
run: cargo install --locked --path . | |
working-directory: vm/cli | |
- name: Build toolchain | |
run: GITHUB_ACTIONS=false GITHUB_ACCESS_TOKEN=${{ secrets.PRIVATE_PULL_TOKEN }} SUCCINCT_BUILD_DIR=$GITHUB_WORKSPACE cargo prove build-toolchain | |
- name: Archive build output | |
uses: actions/upload-artifact@v3 | |
with: | |
name: rust-toolchain-x86_64-unknown-linux-gnu | |
path: | | |
rust/build/x86_64-unknown-linux-gnu/stage2 | |
!rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src | |
!rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/rustc-src | |
release: | |
needs: [build-linux-x86] | |
runs-on: buildjet-32vcpu-ubuntu-2204 | |
permissions: | |
contents: write | |
steps: | |
- name: Download artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: artifacts | |
- name: Compress artifacts | |
shell: bash | |
run: | | |
ls -lha ./artifacts | |
mkdir assets | |
for DIR in $(ls ./artifacts); do | |
tar czf "assets/$DIR.tar.gz" -C "artifacts/$DIR" . | |
done | |
ls -lha ./assets | |
- name: Create release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
echo "Installing gh CLI..." | |
curl -L https://github.com/cli/cli/releases/download/v2.17.0/gh_2.17.0_linux_amd64.tar.gz | tar xvz --strip-components=2 --exclude=man | |
chmod +x ./gh | |
./gh release create --repo "$GITHUB_REPOSITORY" "$GITHUB_REF_NAME" ./assets/* |