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:
@@ -8,25 +8,14 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
# Built on Arch: the locker needs gtk-session-lock (not packaged by Ubuntu).
|
||||||
|
container:
|
||||||
|
image: archlinux:base-devel
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Install system dependencies
|
- name: Install system dependencies
|
||||||
run: |
|
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
|
||||||
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
|
|
||||||
|
|
||||||
- name: Install Rust stable
|
- uses: actions/checkout@v4
|
||||||
uses: dtolnay/rust-toolchain@stable
|
|
||||||
|
|
||||||
- name: Compute source tarball SHA256
|
- name: Compute source tarball SHA256
|
||||||
run: |
|
run: |
|
||||||
@@ -46,6 +35,8 @@ jobs:
|
|||||||
cp builddir/ahfail-module.so dist/
|
cp builddir/ahfail-module.so dist/
|
||||||
cp builddir/libahfail_pam.so dist/
|
cp builddir/libahfail_pam.so dist/
|
||||||
cp builddir/ahfail-display 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 .
|
tar czf ahfail-linux-x86_64.tar.gz -C dist .
|
||||||
|
|
||||||
- name: Upload release asset
|
- name: Upload release asset
|
||||||
|
|||||||
@@ -7,26 +7,15 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
runs-on: ubuntu-latest
|
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:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Install system dependencies
|
- name: Install system dependencies
|
||||||
run: |
|
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
|
||||||
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
|
|
||||||
|
|
||||||
- name: Install Rust stable
|
- uses: actions/checkout@v4
|
||||||
uses: dtolnay/rust-toolchain@stable
|
|
||||||
|
|
||||||
- name: Run Rust tests
|
- name: Run Rust tests
|
||||||
run: xvfb-run cargo test
|
run: xvfb-run cargo test
|
||||||
|
|||||||
Reference in New Issue
Block a user