This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 | |