mirror of
https://github.com/troglobit/finit.git
synced 2026-10-02 14:02:52 +07:00
keventd is the only thing in the tree that links libblkid, so a tree that used to build now stops in configure with no hint of which package to install. Say so where people look for dependencies, and give CI the package it now needs. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
83 lines
3.0 KiB
YAML
83 lines
3.0 KiB
YAML
name: Release General
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- '[0-9]+.[0-9]+*'
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
release:
|
|
name: Build and upload release tarball
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- name: Installing dependencies ...
|
|
run: |
|
|
sudo apt-get -y update
|
|
sudo apt-get -y install pkg-config jq libcap-dev libconfuse-dev libblkid-dev
|
|
wget https://github.com/troglobit/libuev/releases/download/v2.4.1/libuev-2.4.1.tar.xz
|
|
wget https://github.com/troglobit/libite/releases/download/v2.6.2/libite-2.6.2.tar.gz
|
|
tar xf libuev-2.4.1.tar.xz
|
|
tar xf libite-2.6.2.tar.gz
|
|
(cd libuev-2.4.1 && ./configure && make -j9 && sudo make install-strip)
|
|
(cd libite-2.6.2 && ./configure && make -j9 && sudo make install-strip)
|
|
sudo ldconfig
|
|
- name: Setting release variables ...
|
|
id: build
|
|
run: |
|
|
ver=${GITHUB_REF#refs/tags/}
|
|
echo "ver=${ver}" >> $GITHUB_OUTPUT
|
|
if echo $ver | grep -qE '^[0-9]+\.[0-9]+(\.[0-9]+)?(-alpha|-beta|-rc)[0-9]*$'; then
|
|
echo "pre=true" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "pre=false" >> $GITHUB_OUTPUT
|
|
fi
|
|
if echo $ver | grep -qE '^[0-9.]+\.[0-9.]+(\.[0-9]+)?$'; then
|
|
echo "latest=true" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "latest=false" >> $GITHUB_OUTPUT
|
|
fi
|
|
- name: Creating Makefiles ...
|
|
run: |
|
|
./autogen.sh
|
|
./configure --prefix=/usr --exec-prefix= --sysconfdir=/etc \
|
|
--localstatedir=/var --enable-x11-common-plugin \
|
|
--enable-testserv-plugin --with-watchdog \
|
|
--with-keventd --with-libsystemd
|
|
- name: Enable unprivileged userns (unshare)
|
|
run: |
|
|
sudo sysctl kernel.apparmor_restrict_unprivileged_userns=0
|
|
- name: Build release ...
|
|
run: |
|
|
# Get version for finding distcheck build directory
|
|
./configure --version | head -1
|
|
ver=$(./configure --version | head -1 | awk '{print $NF}')
|
|
dir=finit-$ver/_build/sub
|
|
|
|
make -j1 release || (cat $dir/test/test-suite.log; false)
|
|
ls -lF ../
|
|
mkdir -p artifacts/
|
|
mv ../*.tar.* artifacts/
|
|
- name: Upload Test Results
|
|
if: always()
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: finit-release-test-logs
|
|
path: finit-*/_build/sub/test/*.log
|
|
- name: Extract ChangeLog entry ...
|
|
run: |
|
|
awk '/-----*/{if (x == 1) exit; x=1;next}x' doc/ChangeLog.md \
|
|
|head -n -1 > release.md
|
|
cat release.md
|
|
- uses: ncipollo/release-action@v1
|
|
with:
|
|
name: Finit v${{ github.ref_name }}
|
|
prerelease: ${{ steps.build.outputs.pre }}
|
|
makeLatest: ${{ steps.build.outputs.latest }}
|
|
bodyFile: "release.md"
|
|
artifacts: "artifacts/*"
|