Files
muscl/.gitea/workflows/publish-deb.yml
h7x4 bf66055f7f
All checks were successful
Build and test / check (push) Successful in 2m39s
Build and test / build (push) Successful in 3m33s
Build and test / test (push) Successful in 3m10s
Build and test / check-license (push) Successful in 6m3s
Build and test / docs (push) Successful in 5m33s
.gitea/workflows: matrix builds, build on ubuntu
2025-12-04 16:31:18 +09:00

81 lines
2.4 KiB
YAML

name: "Publish Debian package"
run-name: "Publish Debian package"
on:
workflow_dispatch:
inputs:
deb_version:
description: "Version to publish"
type: string
deb_revision:
description: "Debian package revision"
type: string
default: "1"
required: true
rust_toolchain:
description: "Whether to build the package with stable rust"
type: choice
options:
- stable
- nightly
- beta
default: stable
# TODO: dynamic matrix builds when...
# https://github.com/go-gitea/gitea/issues/25179
jobs:
build-deb:
strategy:
matrix:
os: [debian-trixie, debian-bookworm, ubuntu-noble, ubuntu-jammy]
name: Build and publish for ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Install rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ inputs.rust_toolchain }}
override: true
- name: Install cargo-deb
run: cargo install cargo-deb
- name: Build deb package
env:
CREATE_DEB_DEBUG: "1"
run: |
CREATE_DEB_ARGS=(
--deb-revision "${{ inputs.deb_revision }}"
)
if [ "${{ inputs.deb_version }}" != "" ]; then
CREATE_DEB_ARGS+=("--deb-version" "${{ inputs.deb_version }}")
fi
./create-deb.sh "${CREATE_DEB_ARGS[@]}"
- name: Upload deb package artifact
uses: actions/upload-artifact@v3
with:
name: muscl-deb-${{ matrix.os }}.zip
path: target/debian/*.deb
if-no-files-found: error
retention-days: 30
# Already compressed
compression: 0
# This is not safely doable without either:
# - tokens scoped to the repository: https://github.com/go-gitea/gitea/issues/25900
# - automatically provisioned tokens: https://github.com/go-gitea/gitea/issues/24635
#
# - name: Publish deb package
# run: |
# # TODO: remove ubuntu-/debian- prefix from os.matrix
# curl \
# --user your_username:your_password_or_token \
# --upload-file target/debian/*.deb \
# https://git.pvv.ntnu.no/api/packages/${{ github.repository_owner }}/debian/pool/${{ os.matrix }}/${{ inputs.repository_component }}/upload