name: Build Nomos Binaries on: workflow_dispatch: env: CARGO_TERM_COLOR: always NOMOS_NODE_REV: d2dd5a5084e1daef4032562c77d41de5e4d495f8 NOMOS_BUNDLE_VERSION: v4 jobs: build_nomos_binaries: strategy: matrix: include: - name: linux runs-on: ubuntu-latest runs-on: ${{ matrix.runs-on }} env: NOMOS_CIRCUITS: ${{ github.workspace }}/.tmp/nomos-circuits CARGO_INCREMENTAL: 0 CARGO_PROFILE_DEV_DEBUG: 0 RUSTFLAGS: -C debuginfo=0 --cfg feature="pol-dev-mode" CARGO_TARGET_DIR: ${{ github.workspace }}/.tmp/nomos-target steps: - uses: actions/checkout@v4 - name: Install system dependencies (Linux) if: runner.os == 'Linux' run: | set -euo pipefail sudo apt-get update sudo apt-get install -y clang llvm-dev libclang-dev pkg-config cmake libssl-dev rsync libgmp10 libgmp-dev libgomp1 nasm - name: Install nomos circuits run: | ./scripts/setup-nomos-circuits.sh v0.3.1 "$NOMOS_CIRCUITS" echo "NOMOS_CIRCUITS=$NOMOS_CIRCUITS" >> "$GITHUB_ENV" - name: Add top-level KZG params file run: | curl -fsSL "https://raw.githubusercontent.com/logos-co/nomos-node/${NOMOS_NODE_REV}/tests/kzgrs/kzgrs_test_params" \ -o "${NOMOS_CIRCUITS}/kzgrs_test_params" - uses: dtolnay/rust-toolchain@master with: toolchain: nightly-2025-09-14 - uses: actions/cache@v4 with: path: | ~/.cargo/registry ~/.cargo/git key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} restore-keys: ${{ runner.os }}-cargo- - name: Build nomos binaries bundle run: | chmod +x scripts/build-bundle.sh scripts/build-bundle.sh --platform linux --output nomos-binaries.tar.gz - name: Save nomos binaries cache uses: actions/cache@v4 with: path: ${{ github.workspace }}/nomos-binaries.tar.gz key: ${{ runner.os }}-nomos-binaries-${{ env.NOMOS_NODE_REV }}-${{ env.NOMOS_BUNDLE_VERSION }} - uses: actions/upload-artifact@v4 with: name: nomos-binaries-${{ runner.os }}-${{ env.NOMOS_NODE_REV }}-${{ env.NOMOS_BUNDLE_VERSION }} path: nomos-binaries.tar.gz