Skip to content

Automated testing

Automated testing #237

Workflow file for this run

name: Automated testing
env:
BIBERURL: https://sourceforge.net/projects/biblatex-biber/files/biblatex-biber/development/binaries/Linux/biber-linux_x86_64.tar.gz
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: '24 5 * * 6'
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
l3build:
runs-on: ubuntu-latest
steps:
# Boilerplate
- name: Checkout repository
uses: actions/checkout@v4
# GitHub Actions don't regenerate the cache if the key doesn't change, so
# we integrate a random UUID into the key to keep them different.
# DO NOT CHANGE THIS
- name: Generate unique ID
id: get-id
run: |
echo -n "id=$(cat /proc/sys/kernel/random/uuid)" >> $GITHUB_OUTPUT
# Actually load the cache. Since we never reuse the key, we need restore-keys
# to indicate the prefix of our caches. This loads the newest cache with this
# prefix in the key.
#
# If we want to force regeneration of the cache, increase the number after
# *both* instances of "texlive-v"
- name: Load cache
uses: actions/cache@v4
with:
path: ~/texlive
key: texlive-v2024-${{ steps.get-id.outputs.id }}
restore-keys: texlive-v2024-
# We need Ghostscript for XeTeX tests.
- run: sudo apt-get update && sudo apt-get install ghostscript
- name: Install TeX Live
uses: zauguin/install-texlive@v3
with:
# List the required TeX Live packages in a separate file to allow reuse in
# different workflows.
package_file: .github/tl_packages
- name: Get DEV biber
run: |
mkdir -p build/biber
pushd build/biber
wget -nc $BIBERURL
tar -xzvf $(basename $BIBERURL)
popd
cp build/biber/biber $(dirname $(command -v luatex))
biber -v
- name: Run l3build
run: l3build check -q -H