Skip to content
# This is a basic workflow to help you get started with Actions
# https://github.com/latex3/hyperref/blob/adc36adbc3650db73329469b43afb0ee86e3c807/.github/workflows/main.yaml
# https://github.com/josephwright/siunitx/blob/main/.github/workflows/main.yaml
name: Automatic Checks for nfssext
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
push:
branches:
- "*"
pull_request:
branches:
- "*"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# addaswyd o https://github.com/latex3/latex2e/blob/develop/.github/workflows/main.yaml
# update TL tree if needed
texlive-cache:
runs-on: ubuntu-latest
name: Update TeX Live cache
outputs:
cache_key: ${{ steps.texlive.outputs.cache_key }}
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout repo
uses: actions/checkout@v4
- name: Install TeX Live
id: texlive
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
clm:
if: ${{ always() }}
# The type of runner that the job will run on
runs-on: ubuntu-latest
name: "Test build: cfr-lm"
needs: texlive-cache
# nfssext-cfr uses cfr-lm (though it falls back if built first)
# cfr-lm uses nfssext-cfr but there's nothing to build
outputs:
clm_cache_key: $(( steps.clm-cache.outputs.cache_key }}
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout repo
uses: actions/checkout@v4
# https://github.com/josephwright/siunitx/blob/549cad913591b92a3a199b7477a325866303bf29/.github/workflows/main.yaml
# We need Ghostscript for XeTeX tests.
- run: sudo apt-get update #&& sudo apt-get install ghostscript
# Steps represent a sequence of tasks that will be executed as part of the job
- name: Restore TeX Live from cache
uses: actions/cache/restore@v4
with:
path: ~/texlive
key: ${{ needs.texlive-cache.outputs.cache_key }}
fail-on-cache-miss: true
# oes angen hwn?
# oes!
- name: Set PATH
run: echo $HOME/texlive/bin/x86_64-linux >> $GITHUB_PATH
- name: Run l3build fnttarg
working-directory: cfr-lm
run: l3build fnttarg
- name: Run l3build ctan
working-directory: cfr-lm
run: l3build ctan
- name: Run l3build install
working-directory: cfr-lm
run: l3build install
- name: Update map
run: updmap --user --enable Map=clm.map
- name: Archive failed test output for clm
# run even if previous step failed
if: ${{ always() }}
uses: zauguin/l3build-failure-artifacts@v1
with:
name: testfiles-clm
# Decide how long to keep the test output artefact:
retention-days: 7
- name: Cache build results
id: clm-cache
uses: actions/cache/save@v4
with:
path: |
~/texmf
~/.texlive
key: clm-${{ github.sha }}
# addaswyd o https://github.com/latex3/latex2e/blob/develop/.github/workflows/main.yaml
nfssext:
if: ${{ always() }}
runs-on: ubuntu-latest
needs: [ texlive-cache, clm ]
strategy:
matrix:
# include indicates that we want to set explicitly these combinations
# and don't want full matrix testing.
include:
# - module: adforn
# working_directory: arkandis/adforn
# pre_target: fnttarg
# # extra_needs: clm
# - module: adfsymbols
# working_directory: arkandis/adfsymbols
# pre_target: fnttarg
# # extra_needs: clm
- module: baskervaldadf
working_directory: arkandis/baskervaldadf
pre_target: fnttarg
# - module: berenisadf
# working_directory: arkandis/berenisadf
# # berenis needs make, ff
# extra_packages: make fontforge
# pre_target: fnttarg
# # extra_needs: clm
# # - module: cfr-lm
# # working_directory: cfr-lm
# # pre_target: fnttarg
# - module: electrumadf
# working_directory: arkandis/electrumadf
# pre_target: fnttarg
# # extra_needs: clm
# - module: fontscripts
# working_directory: fontscripts
# # extra_needs: clm
# - module: librisadf
# working_directory: arkandis/librisadf
# pre_target: fnttarg
# # extra_needs: clm
# - module: nfssext-cfr
# working_directory: nfssext-cfr
# # extra_needs: clm
# - module: romandeadf
# working_directory: arkandis/romandeadf
# pre_target: fnttarg
# # extra_needs: clm
# - module: venturisadf
# working_directory: arkandis/venturisadf
# pre_target: fnttarg
# # extra_needs: clm
name: "Test build: ${{ matrix.module }}"
steps:
# # - name: Wait for clm
# # if: ${{ matrix.extra_needs }}
# # needs: ${{ matrix.extra_needs }}
# # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout repo
uses: actions/checkout@v4
# https://github.com/josephwright/siunitx/blob/549cad913591b92a3a199b7477a325866303bf29/.github/workflows/main.yaml
# We need Ghostscript for XeTeX tests.
- run: sudo apt-get update
# - if: ${{ matrix.extra_packages }}
# run: sudo apt-get install ${{ matrix.extra_packages }}
- name: Restore TeX Live from cache
uses: actions/cache/restore@v4
with:
path: ~/texlive
key: ${{ needs.texlive-cache.outputs.cache_key }}
fail-on-cache-miss: true
# oes angen hwn?
# oes!
- name: Set PATH
run: echo $HOME/texlive/bin/x86_64-linux >> $GITHUB_PATH
# - name: Restore cfr-lm from cache
# # if: ${{ matrix.extra_needs }}
# uses: actions/cache/restore@v4
# with:
# path: |
# ~/.texlive
# ~/.texmf
# key: clm-${{ github.sha }}
# fail-on-cache-miss: false
- name: Run l3build fnttarg
if: ${{ matrix.pre_target }}
working-directory: ${{ matrix.working_directory }}
run: "l3build fnttarg"
- name: Run l3build
working-directory: ${{ matrix.working_directory }}
run: "l3build ctan"
- name: Archive failed test output
# run even if previous step failed
if: ${{ always() }}
uses: zauguin/l3build-failure-artifacts@v1
with:
name: testfiles-${{ matrix.module }}
# Decide how long to keep the test output artefact:
retention-days: 7
# l3build-ctan-nfssext-cfr:
# if: ${{ always() }}
# needs: l3build-ctan-clm
# # The type of runner that the job will run on
# runs-on: ubuntu-latest
#
# # Steps represent a sequence of tasks that will be executed as part of the job
# steps:
# # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
# - uses: actions/checkout@v4
#
# # https://github.com/josephwright/siunitx/blob/549cad913591b92a3a199b7477a325866303bf29/.github/workflows/main.yaml
# # 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: Run l3build install for clm
# run: (cd cfr-lm ; l3build install && updmap --user --enable Map=clm.map)
# - name: Run l3build for support packages
# run: (cd nfssext-cfr && l3build ctan)
# - name: Archive failed test output for support packages
# # run even if previous step failed
# if: ${{ always() }}
# uses: zauguin/l3build-failure-artifacts@v1
# with:
# name: testfiles-nfssext-cfr
# # Decide how long to keep the test output artefact:
# retention-days: 7
#
#
# l3build-ctan-fontscripts:
# if: ${{ always() }}
# needs: l3build-ctan-clm
# # The type of runner that the job will run on
# runs-on: ubuntu-latest
#
# # Steps represent a sequence of tasks that will be executed as part of the job
# steps:
# # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
# - uses: actions/checkout@v4
#
# # https://github.com/josephwright/siunitx/blob/549cad913591b92a3a199b7477a325866303bf29/.github/workflows/main.yaml
# # 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: Run l3build install for clm
# run: (cd cfr-lm ; l3build install && updmap --user --enable Map=clm.map)
# - name: Run l3build for fontscripts
# run: (cd fontscripts && l3build ctan)
# - name: Archive failed test output for fontscripts packages
# # run even if previous step failed
# if: ${{ always() }}
# uses: zauguin/l3build-failure-artifacts@v1
# with:
# name: testfiles-nfssext-fontscripts
# # Decide how long to keep the test output artefact:
# retention-days: 7
#
# l3build-ctan-adforn:
# needs: l3build-ctan-clm
# # The type of runner that the job will run on
# runs-on: ubuntu-latest
#
# # Steps represent a sequence of tasks that will be executed as part of the job
# steps:
# # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
# - uses: actions/checkout@v4
#
# # https://github.com/josephwright/siunitx/blob/549cad913591b92a3a199b7477a325866303bf29/.github/workflows/main.yaml
# # 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: Run l3build install for clm
# run: (cd cfr-lm ; l3build install && updmap --user --enable Map=clm.map)
# - name: Run l3build for adforn
# run: (cd arkandis/adforn && l3build fnttarg && l3build ctan)
# - name: Archive failed test output for adforn
# # run even if previous step failed
# if: ${{ always() }}
# uses: zauguin/l3build-failure-artifacts@v1
# with:
# name: testfiles-nfssext-adforn
# # Decide how long to keep the test output artefact:
# retention-days: 7
#
# l3build-ctan-adfsymbols:
# needs: l3build-ctan-clm
# # The type of runner that the job will run on
# runs-on: ubuntu-latest
#
# # Steps represent a sequence of tasks that will be executed as part of the job
# steps:
# # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
# - uses: actions/checkout@v4
#
# # https://github.com/josephwright/siunitx/blob/549cad913591b92a3a199b7477a325866303bf29/.github/workflows/main.yaml
# # 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: Run l3build install for clm
# run: (cd cfr-lm ; l3build install && updmap --user --enable Map=clm.map)
# - name: Run l3build for adfsymbols
# run: (cd arkandis/adfsymbols && l3build fnttarg && l3build ctan)
# - name: Archive failed test output for adfsymbols
# # run even if previous step failed
# if: ${{ always() }}
# uses: zauguin/l3build-failure-artifacts@v1
# with:
# name: testfiles-nfssext-adfsymbols
# # Decide how long to keep the test output artefact:
# retention-days: 7
#
# l3build-ctan-baskervaldadf:
# # The type of runner that the job will run on
# runs-on: ubuntu-latest
#
# # Steps represent a sequence of tasks that will be executed as part of the job
# steps:
# # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
# - uses: actions/checkout@v4
#
# # https://github.com/josephwright/siunitx/blob/549cad913591b92a3a199b7477a325866303bf29/.github/workflows/main.yaml
# # 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: Run l3build for baskervaldadf
# run: (cd arkandis/baskervaldadf && l3build fnttarg && l3build ctan)
# - name: Archive failed test output for baskervaldadf
# # run even if previous step failed
# if: ${{ always() }}
# uses: zauguin/l3build-failure-artifacts@v1
# with:
# name: testfiles-nfssext-baskervaldadf
# # Decide how long to keep the test output artefact:
# retention-days: 7
#
# l3build-ctan-berenisadf:
# # no idea why
# needs: l3build-ctan-clm
# # The type of runner that the job will run on
# runs-on: ubuntu-latest
#
# - name: Run l3build install for clm
# run: (cd cfr-lm ; l3build install && updmap --user --enable Map=clm.map)
# - name: Run l3build for berenisadf
# run: (cd arkandis/berenisadf && l3build fnttarg && l3build ctan)
# - name: Archive failed test output for berenisadf
# # run even if previous step failed
# if: ${{ always() }}
# uses: zauguin/l3build-failure-artifacts@v1
# with:
# name: testfiles-nfssext-berenisadf
# # Decide how long to keep the test output artefact:
# retention-days: 7
#
# l3build-ctan-electrumadf:
# # no idea why
# needs: l3build-ctan-clm
# # The type of runner that the job will run on
# runs-on: ubuntu-latest
#
# # Steps represent a sequence of tasks that will be executed as part of the job
# steps:
# # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
# - uses: actions/checkout@v4
#
# # https://github.com/josephwright/siunitx/blob/549cad913591b92a3a199b7477a325866303bf29/.github/workflows/main.yaml
# # 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: Run l3build install for clm
# run: (cd cfr-lm ; l3build install && updmap --user --enable Map=clm.map)
# - name: Run l3build for electrumadf
# run: (cd arkandis/electrumadf && l3build fnttarg && l3build ctan)
# - name: Archive failed test output for electrumadf
# # run even if previous step failed
# if: ${{ always() }}
# uses: zauguin/l3build-failure-artifacts@v1
# with:
# name: testfiles-nfssext-electrumadf
# # Decide how long to keep the test output artefact:
# retention-days: 7
#
# l3build-ctan-librisadf:
# # no idea why
# needs: l3build-ctan-clm
# # The type of runner that the job will run on
# runs-on: ubuntu-latest
#
# # Steps represent a sequence of tasks that will be executed as part of the job
# steps:
# # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
# - uses: actions/checkout@v4
#
# # https://github.com/josephwright/siunitx/blob/549cad913591b92a3a199b7477a325866303bf29/.github/workflows/main.yaml
# # 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: Run l3build install for clm
# run: (cd cfr-lm ; l3build install && updmap --user --enable Map=clm.map)
# - name: Run l3build for librisadf
# run: (cd arkandis/librisadf && l3build fnttarg && l3build ctan)
# - name: Archive failed test output for librisadf
# # run even if previous step failed
# if: ${{ always() }}
# uses: zauguin/l3build-failure-artifacts@v1
# with:
# name: testfiles-nfssext-librisadf
# # Decide how long to keep the test output artefact:
# retention-days: 7
#
# l3build-ctan-romandeadf:
# # no idea why
# needs: l3build-ctan-clm
# # The type of runner that the job will run on
# runs-on: ubuntu-latest
#
# # Steps represent a sequence of tasks that will be executed as part of the job
# steps:
# # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
# - uses: actions/checkout@v4
#
# # https://github.com/josephwright/siunitx/blob/549cad913591b92a3a199b7477a325866303bf29/.github/workflows/main.yaml
# # 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: Run l3build for romandeadf
# run: (cd arkandis/romandeadf && l3build fnttarg && l3build ctan)
# - name: Run l3build install for clm
# run: (cd cfr-lm ; l3build install && updmap --user --enable Map=clm.map)
# - name: Archive failed test output for romandeadf
# # run even if previous step failed
# if: ${{ always() }}
# uses: zauguin/l3build-failure-artifacts@v1
# with:
# name: testfiles-nfssext-romandeadf
# # Decide how long to keep the test output artefact:
# retention-days: 7
#
# l3build-ctan-venturisadf:
# # no idea why
# needs: l3build-ctan-clm
# # The type of runner that the job will run on
# runs-on: ubuntu-latest
#
# # Steps represent a sequence of tasks that will be executed as part of the job
# steps:
# # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
# - uses: actions/checkout@v4
#
# # https://github.com/josephwright/siunitx/blob/549cad913591b92a3a199b7477a325866303bf29/.github/workflows/main.yaml
# # 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: Run l3build install for clm
# run: (cd cfr-lm ; l3build install && updmap --user --enable Map=clm.map)
# - name: Run l3build for venturisadf
# run: (cd arkandis/venturisadf && l3build fnttarg && l3build ctan)
# - name: Archive failed test output for venturisadf
# # run even if previous step failed
# if: ${{ always() }}
# uses: zauguin/l3build-failure-artifacts@v1
# with:
# name: testfiles-nfssext-venturisadf
# # Decide how long to keep the test output artefact:
# retention-days: 7