mirror of
https://github.com/NVIDIA/OpenShell.git
synced 2026-10-03 16:11:17 +08:00
* ci: build release binaries with Nix Refs #1683 Signed-off-by: Simon Scatton <sscatton@nvidia.com> * ci: build VM artifacts with Nix Refs #1683 Signed-off-by: Simon Scatton <sscatton@nvidia.com> * ci: build images from Nix artifacts Refs #1683 Signed-off-by: Simon Scatton <sscatton@nvidia.com> * fix(nix): prevent host header leakage Signed-off-by: Simon Scatton <sscatton@nvidia.com> * ci: parallelize artifact builds Refs #1683 Signed-off-by: Simon Scatton <sscatton@nvidia.com> * ci: build external driver test artifacts Refs #1683 Signed-off-by: Simon Scatton <sscatton@nvidia.com> * fix(nix): disable mold in musl shells Signed-off-by: Simon Scatton <sscatton@nvidia.com> * ci: key Rust cache by Nix shell derivation Signed-off-by: Simon Scatton <sscatton@nvidia.com> * ci: refactor end-to-end workflows Signed-off-by: Simon Scatton <sscatton@nvidia.com> * ci: split platform binary workflows Signed-off-by: Simon Scatton <sscatton@nvidia.com> * ci: remove obsolete native build workflows Signed-off-by: Simon Scatton <sscatton@nvidia.com> * ci: replace disallowed mise action Signed-off-by: Simon Scatton <sscatton@nvidia.com> * ci: fix refactored e2e lanes Signed-off-by: Simon Scatton <sscatton@nvidia.com> * ci: check out local result action Signed-off-by: Simon Scatton <sscatton@nvidia.com> * ci: cache mise installations Signed-off-by: Simon Scatton <sscatton@nvidia.com> * ci: run docker builds on host runners Signed-off-by: Simon Scatton <sscatton@nvidia.com> * ci: disable unstable kubernetes e2e lanes Signed-off-by: Simon Scatton <sscatton@nvidia.com> * fix(ci): scope binary builds to cargo packages Signed-off-by: Simon Scatton <sscatton@nvidia.com> * fix(ci): address zizmor template injection findings Signed-off-by: Simon Scatton <sscatton@nvidia.com> * fix(ci): resolve remaining zizmor annotations Signed-off-by: Simon Scatton <sscatton@nvidia.com> --------- Signed-off-by: Simon Scatton <sscatton@nvidia.com>
92 lines
2.8 KiB
YAML
92 lines
2.8 KiB
YAML
name: Debian Package
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
deb-version:
|
|
required: true
|
|
type: string
|
|
checkout-ref:
|
|
required: true
|
|
type: string
|
|
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
jobs:
|
|
build-deb-linux:
|
|
name: Build Debian Package (Linux ${{ matrix.arch }})
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- arch: amd64
|
|
runner: linux-amd64-cpu8
|
|
deb_arch: amd64
|
|
cli_target: x86_64-unknown-linux-musl
|
|
gnu_target: x86_64-unknown-linux-gnu
|
|
- arch: arm64
|
|
runner: linux-arm64-cpu8
|
|
deb_arch: arm64
|
|
cli_target: aarch64-unknown-linux-musl
|
|
gnu_target: aarch64-unknown-linux-gnu
|
|
runs-on: ${{ matrix.runner }}
|
|
timeout-minutes: 20
|
|
container:
|
|
image: ghcr.io/nvidia/openshell/ci:latest
|
|
credentials:
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
ref: ${{ inputs['checkout-ref'] }}
|
|
|
|
- name: Download CLI artifact
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: openshell-${{ matrix.cli_target }}
|
|
path: package-binaries/
|
|
|
|
- name: Download gateway artifact
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: openshell-gateway-${{ matrix.gnu_target }}
|
|
path: package-binaries/
|
|
|
|
- name: Download VM driver artifact
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: openshell-driver-vm-${{ matrix.gnu_target }}
|
|
path: package-binaries/
|
|
|
|
- name: Configure package inputs
|
|
run: |
|
|
set -euo pipefail
|
|
chmod +x package-binaries/openshell{,-gateway,-driver-vm}
|
|
ls -lah package-binaries
|
|
|
|
- name: Build Debian package
|
|
run: |
|
|
set -euo pipefail
|
|
OPENSHELL_CLI_BINARY="${PWD}/package-binaries/openshell" \
|
|
OPENSHELL_GATEWAY_BINARY="${PWD}/package-binaries/openshell-gateway" \
|
|
OPENSHELL_DRIVER_VM_BINARY="${PWD}/package-binaries/openshell-driver-vm" \
|
|
OPENSHELL_DEB_VERSION="${INPUTS_DEB_VERSION}" \
|
|
OPENSHELL_DEB_ARCH="${{ matrix.deb_arch }}" \
|
|
OPENSHELL_OUTPUT_DIR=artifacts \
|
|
tasks/scripts/package-deb.sh
|
|
env:
|
|
INPUTS_DEB_VERSION: ${{ inputs['deb-version'] }}
|
|
|
|
- name: Upload Debian package artifact
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
|
|
with:
|
|
name: deb-linux-${{ matrix.arch }}
|
|
path: artifacts/*.deb
|
|
retention-days: 5
|