mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-10 07:50:19 +00:00
81 lines
2.2 KiB
YAML
81 lines
2.2 KiB
YAML
name: Manjaro Package Build
|
|
|
|
on:
|
|
push:
|
|
branches: [master, main]
|
|
pull_request:
|
|
branches: [master, main]
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
manjaro-package:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: manjarolinux/base:latest
|
|
|
|
steps:
|
|
- name: Install packaging toolchain
|
|
run: |
|
|
set -euxo pipefail
|
|
pacman -Syu --noconfirm
|
|
pacman -S --noconfirm --needed \
|
|
base-devel \
|
|
git \
|
|
namcap \
|
|
meson \
|
|
ninja \
|
|
pkgconf \
|
|
glib2 \
|
|
glib2-devel \
|
|
gtk3 \
|
|
openssl \
|
|
dbus-glib \
|
|
libcanberra \
|
|
libayatana-appindicator \
|
|
iso-codes \
|
|
lua \
|
|
perl \
|
|
python \
|
|
python-cffi \
|
|
pciutils
|
|
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
submodules: true
|
|
|
|
- name: Build package and generate .SRCINFO (non-root)
|
|
run: |
|
|
set -euxo pipefail
|
|
id -u builder >/dev/null 2>&1 || useradd -m builder
|
|
chown -R builder:builder "$GITHUB_WORKSPACE"
|
|
su builder -c "cd '$GITHUB_WORKSPACE/packaging/manjaro' && makepkg --noconfirm --syncdeps --cleanbuild"
|
|
su builder -c "cd '$GITHUB_WORKSPACE/packaging/manjaro' && makepkg --printsrcinfo > .SRCINFO"
|
|
|
|
- name: Lint PKGBUILD and package with namcap
|
|
run: |
|
|
set -euxo pipefail
|
|
cd "$GITHUB_WORKSPACE/packaging/manjaro"
|
|
namcap PKGBUILD
|
|
pkg_file="$(find . -maxdepth 1 -type f -name '*.pkg.tar.*' | head -n1)"
|
|
namcap "$pkg_file"
|
|
|
|
- name: Collect artifacts
|
|
run: |
|
|
set -euxo pipefail
|
|
mkdir -p artifacts
|
|
cp -v "$GITHUB_WORKSPACE"/packaging/manjaro/*.pkg.tar.* artifacts/
|
|
cp -v "$GITHUB_WORKSPACE"/packaging/manjaro/PKGBUILD artifacts/
|
|
cp -v "$GITHUB_WORKSPACE"/packaging/manjaro/.SRCINFO artifacts/
|
|
|
|
- name: Upload package artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: zoitechat-manjaro-package
|
|
path: artifacts/*
|
|
if-no-files-found: error
|