Skip to content

Updated runner

Updated runner #20

# This workflow will thoroughly test the build system (differential build, symlinks, index generator, cleaning, installing / uninstalling, full build)
name: Complete build system test
on:
push:
branches: '**'
pull_request:
branches: '**'
release:
types: [published]
jobs:
build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.12
uses: actions/setup-python@v4
with:
python-version: '3.12'
- name: Install build dependencies
run: |
sudo apt-get install --no-install-recommends git inkscape make optipng
- name: Check all changed icons are committed
run: |
# Attempt to generate all changed icons (there shouldn't be any, as any built icons should've been committed)
# Even if no icons are missing, this still provides a test for the build system
make build -j$(nproc)
# Fail if any files generated by last step that haven't been committed
if [ ! -z "$(git status --porcelain)" ]; then exit 1; fi
- name: Check all symlinks are valid
run: |
make check
- name: Test index generator
run: |
make index
- name: Test autoclean target
run: |
make autoclean
- name: Test install and uninstall targets
run: |
sudo make install
sudo make uninstall
- name: Test clean target
run: |
make clean
- name: Test a complete fresh build
if: startsWith(github.ref, 'refs/tags/v')
run: |
make regen -j$(nproc)