Repository navigation
148 lines (139 loc) · 4.23 KB
/
Copy pathbuild-binaries.yml
File metadata and controls
148 lines (139 loc) · 4.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# 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 }}
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