mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-19 04:00:19 +00:00
Rename workflow and update build steps for Debian packages
This commit is contained in:
committed by
GitHub
parent
2b615f32ca
commit
afb83d763e
75
.github/workflows/debian-build.yml
vendored
75
.github/workflows/debian-build.yml
vendored
@@ -1,4 +1,4 @@
|
|||||||
name: Debian Build
|
name: Debian Packages
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -7,54 +7,51 @@ on:
|
|||||||
branches: [master]
|
branches: [master]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
debian_build:
|
debian_packages:
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
container:
|
container:
|
||||||
image: debian:bookworm
|
image: debian:bookworm
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install base tooling (git + deps)
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Install Debian packaging tooling
|
||||||
run: |
|
run: |
|
||||||
set -eux
|
set -eux
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
git ca-certificates \
|
ca-certificates git \
|
||||||
build-essential pkg-config meson ninja-build cmake \
|
devscripts equivs fakeroot dpkg-dev
|
||||||
gettext \
|
|
||||||
libcanberra-dev libdbus-glib-1-dev libglib2.0-dev libgtk2.0-dev \
|
- name: Install Build-Depends from debian/control
|
||||||
libluajit-5.1-dev libpci-dev libperl-dev libssl-dev \
|
run: |
|
||||||
python3-dev python3-cffi mono-devel desktop-file-utils
|
set -eux
|
||||||
- uses: actions/checkout@v4
|
# Creates & installs a dummy package that pulls in Build-Depends
|
||||||
|
mk-build-deps -i -r -t "apt-get -y --no-install-recommends" debian/control
|
||||||
|
|
||||||
|
- name: Build .deb packages (no signing)
|
||||||
|
run: |
|
||||||
|
set -eux
|
||||||
|
# Many Debian builds hate running as root. CI loves running as root. Compromise.
|
||||||
|
useradd -m builder
|
||||||
|
chown -R builder:builder "$GITHUB_WORKSPACE"
|
||||||
|
su - builder -s /bin/bash -c "cd '$GITHUB_WORKSPACE' && dpkg-buildpackage -us -uc -b"
|
||||||
|
|
||||||
|
- name: List built artifacts
|
||||||
|
run: |
|
||||||
|
set -eux
|
||||||
|
ls -lah ..
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
submodules: true
|
name: debian-packages
|
||||||
|
path: |
|
||||||
|
../*.deb
|
||||||
|
../*.buildinfo
|
||||||
|
../*.changes
|
||||||
|
|
||||||
- name: Configure
|
|
||||||
run: |
|
|
||||||
set -eux
|
|
||||||
rm -rf build
|
|
||||||
meson setup build \
|
|
||||||
-Dtext-frontend=true \
|
|
||||||
-Dtheme-manager=true \
|
|
||||||
-Dauto_features=enabled
|
|
||||||
# If configure fails, show the project's actual option names in the log.
|
|
||||||
- name: Show Meson options (on failure)
|
|
||||||
if: failure()
|
|
||||||
run: |
|
|
||||||
set -eux
|
|
||||||
meson configure build || true
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: |
|
|
||||||
set -eux
|
|
||||||
ninja -C build
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: |
|
|
||||||
set -eux
|
|
||||||
ninja -C build test
|
|
||||||
|
|
||||||
- name: Install
|
|
||||||
run: |
|
|
||||||
set -eux
|
|
||||||
ninja -C build install
|
ninja -C build install
|
||||||
|
|||||||
Reference in New Issue
Block a user