Skip to content

packaging: add Debian/RPM packaging and CI for the NVIDIA backend #20

packaging: add Debian/RPM packaging and CI for the NVIDIA backend

packaging: add Debian/RPM packaging and CI for the NVIDIA backend #20

Workflow file for this run

name: Build Debian Packages
on:
push:
tags:
- 'v*'
pull_request:
branches: [ main, master, multi-backend ]
paths:
- 'src/**'
- 'CMakeLists.txt'
- 'packaging/debian/**'
- '.github/workflows/build-deb.yml'
workflow_dispatch:
jobs:
build-deb-packages:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
# Match the FlagOS NVIDIA build env (flaggems-nvidia-12.8
# container): ubuntu22.04 + cuda12.8 + python3.12. A 22.04
# binary also runs on 24.04 (glibc backward-compat); the
# reverse does not hold.
- base_image: "nvidia/cuda:12.8.0-devel-ubuntu22.04"
label: "ubuntu2204-cuda1280"
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Debian packages
run: |
cd packaging/debian/build-helpers
./build-libtriton-jit.sh \
--base-image "${{ matrix.base_image }}" \
--output-dir "${{ github.workspace }}/output"
- name: Upload Debian packages
uses: actions/upload-artifact@v4
with:
# Artifact name must match flagos-packaging components/libtriton-jit.yml
# artifact_pattern "libtriton-jit-*-packages" so the central publish
# pipeline can locate it.
name: libtriton-jit-${{ matrix.label }}-packages
path: output/*.deb
retention-days: 7