Skip to content

compilation: only opt-level and lto on all builds #251

compilation: only opt-level and lto on all builds

compilation: only opt-level and lto on all builds #251

name: Upload-Artifacts
on:
push:
branches:
- noamp/only_opt_and_lto_for_all
jobs:
artifacts-push:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Get commit hash prefix for PR update
env:
COMMIT_SHA: ${{ github.sha }}
run: |
echo "SHORT_HASH=${COMMIT_SHA:0:7}" >> $GITHUB_ENV
- name: Install cross
run: cargo install cross
- name: Build all generic binaries
run: |
RUSTFLAGS="-C opt-level=3 -C embed-bitcode -C lto=fat -Zdylib-lto" cargo build --release
- name: Authenticate with GCS
uses: "google-github-actions/auth@v2"
with:
credentials_json: ${{ secrets.SA_GPS_ARTIFACTS_BUCKET_WRITER_ACCESS_KEY }}
- name: Upload cairo_program_runner x86_64 binary to GCP
id: upload_cairo_program_runner_x86
uses: "google-github-actions/upload-cloud-storage@v2"
with:
path: "target/release/cairo_program_runner"
destination: "cairo_program_runner_artifacts/${{ env.SHORT_HASH }}/release"
- name: Upload stwo_vm_runner x86_64 binary to GCP
id: upload_stwo_vm_runner_x86
uses: "google-github-actions/upload-cloud-storage@v2"
with:
path: "target/release/stwo_vm_runner"
destination: "stwo_vm_runner_artifacts/${{ env.SHORT_HASH }}/release"
- name: Upload stwo_run_and_prove binary to GCP
id: upload_stwo_run_and_prove
uses: "google-github-actions/upload-cloud-storage@v2"
with:
path: "target/release/stwo_run_and_prove"
destination: "stwo_run_and_prove_artifacts/${{ env.SHORT_HASH }}/release"
- name: Build stwo_run_and_prove for znver5 architecture
run: |
RUSTFLAGS="-C target-cpu=znver5 -C opt-level=3 -C embed-bitcode -C lto=fat -Zdylib-lto" cross build --release --bin stwo_run_and_prove
- name: Upload stwo_run_and_prove_znver5 binary to GCP
id: upload_stwo_run_and_prove_znver5
uses: "google-github-actions/upload-cloud-storage@v2"
with:
path: "target/x86_64-unknown-linux-gnu/release/stwo_run_and_prove"
destination: "stwo_run_and_prove_znver5_artifacts/${{ env.SHORT_HASH }}/release"
- name: Build stwo_run_and_prove for znver3 architecture
run: |
RUSTFLAGS="-C target-cpu=znver3 -C opt-level=3 -C embed-bitcode -C lto=fat -Zdylib-lto" cross build --release --bin stwo_run_and_prove
- name: Upload stwo_run_and_prove_znver3 binary to GCP
id: upload_stwo_run_and_prove_znver3
uses: "google-github-actions/upload-cloud-storage@v2"
with:
path: "target/x86_64-unknown-linux-gnu/release/stwo_run_and_prove"
destination: "stwo_run_and_prove_znver3_artifacts/${{ env.SHORT_HASH }}/release"
- name: Build stwo_run_and_prove for emeraldrapids architecture
run: |
RUSTFLAGS="-C target-cpu=emeraldrapids -C opt-level=3 -C embed-bitcode -C lto=fat -Zdylib-lto" cross build --release --bin stwo_run_and_prove
- name: Upload stwo_run_and_prove_emeraldrapids binary to GCP
id: upload_stwo_run_and_prove_emeraldrapids
uses: "google-github-actions/upload-cloud-storage@v2"
with:
path: "target/x86_64-unknown-linux-gnu/release/stwo_run_and_prove"
destination: "stwo_run_and_prove_emeraldrapids_artifacts/${{ env.SHORT_HASH }}/release"
- name: Build stwo_run_and_prove for sapphirerapids architecture
run: |
RUSTFLAGS="-C target-cpu=sapphirerapids -C opt-level=3 -C embed-bitcode -C lto=fat -Zdylib-lto" cross build --release --bin stwo_run_and_prove
- name: Upload stwo_run_and_prove_sapphirerapids binary to GCP
id: upload_stwo_run_and_prove_sapphirerapids
uses: "google-github-actions/upload-cloud-storage@v2"
with:
path: "target/x86_64-unknown-linux-gnu/release/stwo_run_and_prove"
destination: "stwo_run_and_prove_sapphirerapids_artifacts/${{ env.SHORT_HASH }}/release"