.github: split build in a regular build+test and weekly distcheck

This to save time during regular pushes and pull requests, the tests
run from distcheck take a long time, and they're not getting fewer.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg
2023-01-07 17:19:33 +01:00
parent 5b41c6e327
commit 40dcc5541b
2 changed files with 48 additions and 6 deletions
+1 -6
View File
@@ -40,7 +40,7 @@ jobs:
--enable-x11-common-plugin --with-watchdog --with-keventd
make clean
make V=1
- name: Install to ~/tmp
- name: Install to /tmp
run: |
DESTDIR=/tmp make install-strip
tree /tmp || true
@@ -59,11 +59,6 @@ jobs:
- name: Run Unit Tests
run: |
make check || (cat test/test-suite.log; false)
- name: Check dist tarball
run: |
ver=$(/tmp/sbin/initctl -V | awk '/Finit.*/ {print $2;}')
dir=finit-$ver/_build/sub
make -j1 distcheck || (cat $dir/test/test-suite.log; false)
- name: Upload Test Results
uses: actions/upload-artifact@v3
with:
+47
View File
@@ -0,0 +1,47 @@
name: Weekly Distcheck
# Verify that `make distcheck` works as intended: all tests pass, and
# any new files are distributed in the tarballs
on:
schedule:
- cron: '0 0 * * 0'
jobs:
schedule:
runs-son: ubuntu-latest
steps:
- name: Create cache file
run: |
mkdir weekly
echo ${{ github.sha }} > weekly/sha.txt
- name: Check SHA
id: sha
uses: actions/cache@v3
with:
path: weekly/sha.txt
key: weekly-sha-${{ github.sha }}
distcheck:
needs: schedule
if: ${{ needs.schedule.sha.outputs.cache-hit != 'true' }}
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: |
sudo apt-get -y update
sudo apt-get -y install pkg-config jq libuev-dev libite-dev
- uses: actions/checkout@v3
- name: Base run
run: |
./autogen.sh
./configure --prefix=/usr --exec-prefix= --sysconfdir=/etc --localstatedir=/var
make -j9 V=1
- name: Install to /tmp
run: |
DESTDIR=/tmp make install-strip
- name: Check dist tarball
run: |
ver=$(/tmp/sbin/initctl -V | awk '/Finit.*/ {print $2;}')
dir=finit-$ver/_build/sub
make -j1 distcheck || (cat $dir/test/test-suite.log; false)