mirror of
https://github.com/NVIDIA/OpenShell.git
synced 2026-10-21 06:11:31 +08:00
* fix(ci): prepare Nix development shells in setup-nix Signed-off-by: Evan Lezar <elezar@nvidia.com> * fix(ci): retry Nix builds before executing apps once Signed-off-by: Evan Lezar <elezar@nvidia.com> --------- Signed-off-by: Evan Lezar <elezar@nvidia.com> Co-authored-by: Evan Lezar <elezar@nvidia.com>
165 lines
4.7 KiB
YAML
165 lines
4.7 KiB
YAML
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
name: Build Binaries
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
cargo-version:
|
|
required: true
|
|
type: string
|
|
supervisor-image-tag:
|
|
required: false
|
|
type: string
|
|
default: ""
|
|
checkout-ref:
|
|
required: false
|
|
type: string
|
|
default: ""
|
|
secrets:
|
|
CACHIX_AUTH_TOKEN:
|
|
required: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
EXTRA_CARGO_FLAGS: ""
|
|
|
|
jobs:
|
|
cli:
|
|
name: openshell (${{ matrix.triple }})
|
|
env:
|
|
PACKAGE: openshell-cli
|
|
BINARY: openshell
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- triple: x86_64-unknown-linux-musl
|
|
runner: linux-amd64-cpu8
|
|
- triple: aarch64-unknown-linux-musl
|
|
runner: linux-arm64-cpu8
|
|
- triple: aarch64-apple-darwin
|
|
runner: macos-15-xlarge
|
|
runs-on: ${{ matrix.runner }}
|
|
timeout-minutes: 60
|
|
steps: &build_steps
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
persist-credentials: false
|
|
ref: ${{ inputs.checkout-ref || github.sha }}
|
|
- uses: ./.github/actions/setup-nix
|
|
with:
|
|
prepare-shell: "true"
|
|
cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
|
|
- uses: ./.github/actions/build-rust-binary
|
|
with:
|
|
package: ${{ env.PACKAGE }}
|
|
binary: ${{ env.BINARY }}
|
|
triple: ${{ matrix.triple }}
|
|
cargo-version: ${{ inputs.cargo-version }}
|
|
supervisor-image-tag: ${{ inputs.supervisor-image-tag }}
|
|
extra-cargo-flags: ${{ env.EXTRA_CARGO_FLAGS }}
|
|
|
|
conformance:
|
|
name: openshell-conformance (${{ matrix.triple }})
|
|
env:
|
|
PACKAGE: openshell-conformance-cli
|
|
BINARY: openshell-conformance
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- triple: x86_64-unknown-linux-musl
|
|
runner: linux-amd64-cpu8
|
|
- triple: aarch64-unknown-linux-musl
|
|
runner: linux-arm64-cpu8
|
|
runs-on: ${{ matrix.runner }}
|
|
timeout-minutes: 60
|
|
steps: *build_steps
|
|
|
|
prover:
|
|
name: openshell-prover (${{ matrix.triple }})
|
|
env:
|
|
PACKAGE: openshell-prover-cli
|
|
BINARY: openshell-prover
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- triple: x86_64-unknown-linux-musl
|
|
runner: linux-amd64-cpu8
|
|
- triple: aarch64-unknown-linux-musl
|
|
runner: linux-arm64-cpu8
|
|
- triple: aarch64-apple-darwin
|
|
runner: macos-15-xlarge
|
|
runs-on: ${{ matrix.runner }}
|
|
timeout-minutes: 60
|
|
steps: *build_steps
|
|
|
|
gateway:
|
|
name: openshell-gateway (${{ matrix.triple }})
|
|
env:
|
|
PACKAGE: openshell-gateway
|
|
BINARY: openshell-gateway
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- triple: x86_64-unknown-linux-gnu
|
|
runner: linux-amd64-cpu8
|
|
- triple: aarch64-unknown-linux-gnu
|
|
runner: linux-arm64-cpu8
|
|
- triple: aarch64-apple-darwin
|
|
runner: macos-15-xlarge
|
|
runs-on: ${{ matrix.runner }}
|
|
timeout-minutes: 60
|
|
steps: *build_steps
|
|
|
|
runtimes:
|
|
name: ${{ matrix.binary }} (${{ matrix.triple }})
|
|
env:
|
|
PACKAGE: ${{ matrix.package }}
|
|
BINARY: ${{ matrix.binary }}
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- package: openshell-sandbox
|
|
binary: openshell-sandbox
|
|
triple: x86_64-unknown-linux-musl
|
|
runner: linux-amd64-cpu8
|
|
- package: openshell-sandbox
|
|
binary: openshell-sandbox
|
|
triple: aarch64-unknown-linux-musl
|
|
runner: linux-arm64-cpu8
|
|
- package: openshell-supervisor
|
|
binary: openshell-supervisor
|
|
triple: x86_64-unknown-linux-gnu
|
|
runner: linux-amd64-cpu8
|
|
- package: openshell-supervisor
|
|
binary: openshell-supervisor
|
|
triple: aarch64-unknown-linux-gnu
|
|
runner: linux-arm64-cpu8
|
|
- package: openshell-supervisor
|
|
binary: openshell-supervisor
|
|
triple: aarch64-apple-darwin
|
|
runner: macos-15-xlarge
|
|
runs-on: ${{ matrix.runner }}
|
|
timeout-minutes: 60
|
|
steps: *build_steps
|
|
|
|
vm-init:
|
|
name: openshell-vm-init (${{ matrix.triple }})
|
|
env:
|
|
PACKAGE: openshell-driver-vm
|
|
BINARY: openshell-vm-init
|
|
EXTRA_CARGO_FLAGS: --no-default-features
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- triple: x86_64-unknown-linux-musl
|
|
runner: linux-amd64-cpu8
|
|
- triple: aarch64-unknown-linux-musl
|
|
runner: linux-arm64-cpu8
|
|
runs-on: ${{ matrix.runner }}
|
|
timeout-minutes: 60
|
|
steps: *build_steps
|