Run CI and releases in an Arch container

The locker needs gtk-session-lock, which Ubuntu does not package, and
Arch is where the AUR package is built. The release tarball now carries
the ahfail binary and its PAM file as well.

Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
This commit is contained in:
Asger Geel Weirsøe
2026-09-30 19:19:09 +02:00
parent cb41117932
commit 1156c1f927
2 changed files with 13 additions and 33 deletions
+7 -16
View File
@@ -8,25 +8,14 @@ on:
jobs:
release:
runs-on: ubuntu-latest
# Built on Arch: the locker needs gtk-session-lock (not packaged by Ubuntu).
container:
image: archlinux:base-devel
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update -q
sudo apt-get install -y \
libgtk-3-dev \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer-plugins-bad1.0-dev \
gstreamer1.0-plugins-good \
libpam0g-dev \
ninja-build \
meson \
libglib2.0-dev
run: pacman -Syu --noconfirm --needed base-devel git nodejs rust meson ninja gtk3 gtk-session-lock gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad-libs pam curl
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
- uses: actions/checkout@v4
- name: Compute source tarball SHA256
run: |
@@ -46,6 +35,8 @@ jobs:
cp builddir/ahfail-module.so dist/
cp builddir/libahfail_pam.so dist/
cp builddir/ahfail-display dist/
cp builddir/ahfail dist/
cp data/pam.d/ahfail dist/ahfail.pam
tar czf ahfail-linux-x86_64.tar.gz -C dist .
- name: Upload release asset
+6 -17
View File
@@ -7,26 +7,15 @@ on:
jobs:
test:
runs-on: ubuntu-latest
# Arch, because the locker needs gtk-session-lock, which Ubuntu does not
# package; it is also the platform the AUR package is built on.
container:
image: archlinux:base-devel
steps:
- uses: actions/checkout@v3
- name: Install system dependencies
run: |
sudo apt-get update -q
sudo apt-get install -y \
libgtk-3-dev \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer-plugins-bad1.0-dev \
gstreamer1.0-plugins-good \
libpam0g-dev \
ninja-build \
meson \
libglib2.0-dev \
xvfb
run: pacman -Syu --noconfirm --needed base-devel git nodejs rust meson ninja gtk3 gtk-session-lock gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad-libs pam xorg-server-xvfb
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
- uses: actions/checkout@v4
- name: Run Rust tests
run: xvfb-run cargo test