dependabot didn't bump these? or? #61
This file contains hidden or 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
| # nfssext-autochecks-v2.yml | |
| # standard l3build testing for packages in nfssext repo | |
| # 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 v2 | |
| on: | |
| # Triggers the workflow on push request events for all branches if changes are not confined to excluded paths | |
| push: | |
| branches: | |
| # - "*" | |
| # - "*workflow" | |
| - '*' | |
| paths: | |
| - '**' | |
| - '!**.md' | |
| - '!**.txt' | |
| - '!.github/workflows/*.yml' | |
| - '!.github/actions/**' | |
| - '.github/workflows/nfssext-autochecks-v2.yml' | |
| - '.github/actions/nfssext-autocheck-action/**' | |
| - '!licences/**' | |
| - '!test/**' | |
| # Triggers the workflow on pull request events for all branches | |
| pull_request: | |
| branches: | |
| - "*" | |
| # Allows you to run this workflow manually from the Actions tab | |
| workflow_dispatch: | |
| 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: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Install TeX Live | |
| id: texlive | |
| uses: zauguin/install-texlive@v4 | |
| with: | |
| package_file: .github/tl_packages | |
| clm: | |
| if: ${{ !cancelled() }} | |
| 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 }} | |
| clm_cache_key: clm-${{ github.sha }}-${{ needs.texlive-cache.outputs.cache_key }} | |
| lookup_clm_output: ${{ steps.clm-lookup.outputs.cache-hit }} | |
| fnttarg_clm_output: ${{ steps.build-clm.outputs.fnttarg_ret }} | |
| ctan_clm_output: ${{ steps.build-clm.outputs.ctan_ret }} | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Restore clm from cache | |
| id: clm-lookup | |
| uses: actions/cache/restore@v5 | |
| with: | |
| path: ~/work/nfssext/nfssext/cfr-lm/keep | |
| lookup-only: true | |
| fail-on-cache-miss: false | |
| key: clm-${{ github.sha }}-${{ needs.texlive-cache.outputs.cache_key }} | |
| - name: Build fnttarg and ctan | |
| if: ${{ !cancelled() && steps.clm-lookup.outputs.cache-hit != 'true' }} | |
| id: build-clm | |
| uses: ./.github/actions/nfssext-autocheck-action | |
| with: | |
| module: clm | |
| working_directory: cfr-lm | |
| pre_target: fnttarg | |
| texlive_cache_key: ${{ needs.texlive-cache.outputs.cache_key }} | |
| - name: Cache build results | |
| # run only if fnttarg build succeeded | |
| if: ${{ !cancelled() && steps.build-clm.outputs.fnttarg_ret && steps.clm-lookup.outputs.cache-hit != 'true' }} | |
| id: clm-cache | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: ~/work/nfssext/nfssext/cfr-lm/keep | |
| key: clm-${{ github.sha }}-${{ needs.texlive-cache.outputs.cache_key }} | |
| - name: Generate exit code | |
| if: ${{ !cancelled() }} | |
| id: clm-exit | |
| shell: bash | |
| env: | |
| clmlookup: ${{ steps.clm-lookup.outputs.cache-hit }} | |
| clmbuildret: ${{ steps.build-clm.outputs.fnttarg_ret }} | |
| clmcache: ${{ steps.clm-cache.outcome }} | |
| run: | | |
| allan=0 | |
| ([[ $clmlookup != 'true' ]] && [[ $clmbuildret != 0 || $clmcache == 'failure' ]]) && allan=1 | |
| exit $allan | |
| # addaswyd o https://github.com/latex3/latex2e/blob/develop/.github/workflows/main.yaml | |
| # these do not depend on clm | |
| nfssext: | |
| if: ${{ !cancelled() }} | |
| runs-on: ubuntu-latest | |
| needs: texlive-cache | |
| outputs: | |
| fnttarg_baskervaldadf_output: ${{ steps.save-outputs.outputs.fnttarg_ret_baskervaldadf }} | |
| fnttarg_berenisadf_output: ${{ steps.save-outputs.outputs.fnttarg_ret_berenisadf }} | |
| fnttarg_electrumadf_output: ${{ steps.save-outputs.outputs.fnttarg_ret_electrumadf }} | |
| fnttarg_librisadf_output: ${{ steps.save-outputs.outputs.fnttarg_ret_librisadf }} | |
| fnttarg_romandeadf_output: ${{ steps.save-outputs.outputs.fnttarg_ret_romandeadf }} | |
| fnttarg_venturisadf_output: ${{ steps.save-outputs.outputs.fnttarg_ret_venturisadf }} | |
| ctan_baskervaldadf_output: ${{ steps.save-outputs.outputs.ctan_ret_baskervaldadf }} | |
| ctan_berenisadf_output: ${{ steps.save-outputs.outputs.ctan_ret_berenisadf }} | |
| ctan_electrumadf_output: ${{ steps.save-outputs.outputs.ctan_ret_electrumadf }} | |
| ctan_librisadf_output: ${{ steps.save-outputs.outputs.ctan_ret_librisadf }} | |
| ctan_romandeadf_output: ${{ steps.save-outputs.outputs.ctan_ret_romandeadf }} | |
| ctan_venturisadf_output: ${{ steps.save-outputs.outputs.ctan_ret_venturisadf }} | |
| # don't abandon other builds if one module fails | |
| # continue-on-error: true | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # include indicates that we want to set explicitly these combinations | |
| # and don't want full matrix testing. | |
| include: | |
| - 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 | |
| - module: electrumadf | |
| working_directory: arkandis/electrumadf | |
| pre_target: fnttarg | |
| - module: librisadf | |
| working_directory: arkandis/librisadf | |
| pre_target: fnttarg | |
| - module: romandeadf | |
| working_directory: arkandis/romandeadf | |
| pre_target: fnttarg | |
| - module: venturisadf | |
| working_directory: arkandis/venturisadf | |
| pre_target: fnttarg | |
| name: "Test build: ${{ matrix.module }}" | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Build fnttarg and ctan | |
| id: build | |
| uses: ./.github/actions/nfssext-autocheck-action | |
| with: | |
| extra_packages: ${{ matrix.extra_packages }} | |
| module: ${{ matrix.module }} | |
| pre_target: ${{ matrix.pre_target }} | |
| texlive_cache_key: ${{ needs.texlive-cache.outputs.cache_key }} | |
| working_directory: ${{ matrix.working_directory }} | |
| - name: Save fnttarg and ctan build results | |
| if: ${{ !cancelled() }} | |
| id: save-outputs | |
| shell: bash | |
| env: | |
| BUILD_RET: ${{ steps.build.outputs.fnttarg_ret }} | |
| CTAN_RET: ${{ steps.build.outputs.ctan_ret }} | |
| run: | | |
| module="${{ matrix.module }}" | |
| echo -e "fnttarg_ret_${module}=${BUILD_RET}" >> "$GITHUB_OUTPUT" | |
| echo -e "ctan_ret_${module}=${CTAN_RET}" >> "$GITHUB_OUTPUT" | |
| cat "$GITHUB_OUTPUT" | |
| allan=0 | |
| ([[ ${BUILD_RET} != 0 || ${CTAN_RET} != 0 ]]) && allan=1 | |
| exit $allan | |
| # addaswyd o https://github.com/latex3/latex2e/blob/develop/.github/workflows/main.yaml | |
| # need cfr-lm | |
| nfssext-needy: | |
| if: ${{ !cancelled() }} | |
| runs-on: ubuntu-latest | |
| needs: [ texlive-cache, clm ] | |
| outputs: | |
| fnttarg_adforn_output: ${{ steps.save-outputs.outputs.fnttarg_ret_adforn }} | |
| fnttarg_adfsymbols_output: ${{ steps.save-outputs.outputs.fnttarg_ret_adfsymbols }} | |
| ctan_adforn_output: ${{ steps.save-outputs.outputs.ctan_ret_adforn }} | |
| ctan_adfsymbols_output: ${{ steps.save-outputs.outputs.ctan_ret_adfsymbols }} | |
| ctan_fontscripts_output: ${{ steps.save-outputs.outputs.ctan_ret_fontscripts }} | |
| ctan_nfssext_cfr_output: ${{ steps.save-outputs.outputs.ctan_ret_nfssext-cfr }} | |
| # don't abandon other builds if one module fails | |
| # continue-on-error: true | |
| strategy: | |
| fail-fast: false | |
| 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: fontscripts | |
| working_directory: fontscripts | |
| extra_needs: clm | |
| - module: nfssext-cfr | |
| working_directory: nfssext-cfr | |
| extra_needs: clm | |
| name: "Test build: ${{ matrix.module }}" | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Build fnttarg and ctan | |
| id: build | |
| uses: ./.github/actions/nfssext-autocheck-action | |
| with: | |
| dep_cache_key: ${{ needs.clm.outputs.clm_cache_key }} | |
| extra_needs: ${{ matrix.extra_needs }} | |
| # extra_packages: ${{ matrix.extra_packages }} | |
| module: ${{ matrix.module }} | |
| pre_target: ${{ matrix.pre_target }} | |
| texlive_cache_key: ${{ needs.texlive-cache.outputs.cache_key }} | |
| working_directory: ${{ matrix.working_directory }} | |
| - name: Save fnttarg and ctan build results | |
| if: ${{ !cancelled() }} | |
| id: save-outputs | |
| shell: bash | |
| env: | |
| BUILD_RET: ${{ steps.build.outputs.fnttarg_ret }} | |
| CTAN_RET: ${{ steps.build.outputs.ctan_ret }} | |
| run: | | |
| module="${{ matrix.module }}" | |
| pretarget="${{ matrix.pre_target }}" | |
| [[ "$pretarget" != "" ]] && echo -e "fnttarg_ret_${module}=${BUILD_RET}" >> "$GITHUB_OUTPUT" | |
| echo -e "ctan_ret_${module}=${CTAN_RET}" >> "$GITHUB_OUTPUT" | |
| cat "$GITHUB_OUTPUT" | |
| allan=0 | |
| [[ ${CTAN_RET} != 0 ]] && allan=1 | |
| [[ ${BUILD_RET} != 0 && "$pretarget" != "" ]] && allan=1 | |
| exit $allan | |
| summary: | |
| if: ${{ !cancelled() }} | |
| runs-on: ubuntu-latest | |
| needs: [ clm, nfssext, nfssext-needy ] | |
| name: nfssext summary | |
| steps: | |
| - name: nfssext autochecks summary | |
| shell: bash | |
| # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idoutputs | |
| env: | |
| fnttargclm: ${{ needs.clm.outputs.fnttarg_clm_output }} | |
| ctanclm: ${{ needs.clm.outputs.ctan_clm_output }} | |
| lookupclm: ${{ needs.clm.outputs.lookup_clm_output }} | |
| fnttargbaskervaldadf: ${{ needs.nfssext.outputs.fnttarg_baskervaldadf_output }} | |
| fnttargberenisadf: ${{ needs.nfssext.outputs.fnttarg_berenisadf_output }} | |
| fnttargelectrumadf: ${{ needs.nfssext.outputs.fnttarg_electrumadf_output }} | |
| fnttarglibrisadf: ${{ needs.nfssext.outputs.fnttarg_librisadf_output }} | |
| fnttargromandeadf: ${{ needs.nfssext.outputs.fnttarg_romandeadf_output }} | |
| fnttargventurisadf: ${{ needs.nfssext.outputs.fnttarg_venturisadf_output }} | |
| ctanbaskervaldadf: ${{ needs.nfssext.outputs.ctan_baskervaldadf_output }} | |
| ctanberenisadf: ${{ needs.nfssext.outputs.ctan_berenisadf_output }} | |
| ctanelectrumadf: ${{ needs.nfssext.outputs.ctan_electrumadf_output }} | |
| ctanlibrisadf: ${{ needs.nfssext.outputs.ctan_librisadf_output }} | |
| ctanromandeadf: ${{ needs.nfssext.outputs.ctan_romandeadf_output }} | |
| ctanventurisadf: ${{ needs.nfssext.outputs.ctan_venturisadf_output }} | |
| fnttargadforn: ${{ needs.nfssext-needy.outputs.fnttarg_adforn_output }} | |
| fnttargadfsymbols: ${{ needs.nfssext-needy.outputs.fnttarg_adfsymbols_output }} | |
| ctanadforn: ${{ needs.nfssext-needy.outputs.ctan_adforn_output }} | |
| ctanadfsymbols: ${{ needs.nfssext-needy.outputs.ctan_adfsymbols_output }} | |
| ctanfontscripts: ${{ needs.nfssext-needy.outputs.ctan_fontscripts_output }} | |
| ctannfssextcfr: ${{ needs.nfssext-needy.outputs.ctan_nfssext_cfr_output }} | |
| run: | | |
| allan=0 | |
| clmres=1 | |
| [[ $lookupclm == 'true' ]] && clmres=0 | |
| [[ $fnttargclm == 0 && $ctanclm == 0 ]] && clmres=0 | |
| # ([[ $clmres != 0 || $fnttargbaskervaldadf != 0 || $fnttargberenisadf != 0 || $fnttargelectrumadf != 0 || $fnttarglibrisadf != 0 || $fnttargromandeadf != 0 || $fnttargventurisadf != 0 || $ctanbaskervaldadf != 0 || $ctanberenisadf != 0 || $ctanelectrumadf != 0 || $ctanlibrisadf != 0 || $ctanromandeadf != 0 || $ctanventurisadf != 0 ]]) && allan=1 | |
| ([[ $clmres != 0 || $fnttargbaskervaldadf != 0 || $fnttargberenisadf != 0 || $fnttargelectrumadf != 0 || $fnttarglibrisadf != 0 || $fnttargromandeadf != 0 || $fnttargventurisadf != 0 || $ctanbaskervaldadf != 0 || $ctanberenisadf != 0 || $ctanelectrumadf != 0 || $ctanlibrisadf != 0 || $ctanromandeadf != 0 || $ctanventurisadf != 0 || $fnttargadforn != 0 || $fnttargadfsymbols != 0 || $ctanadforn != 0 || $ctanadfsymbols != 0 || $ctanfontscripts != 0 || $ctannfssextcfr != 0 ]]) && allan=1 | |
| echo "Summary status: $allan" | |
| echo -e "BUILD_RET=${allan}" >> "$GITHUB_OUTPUT" | |
| exit "$allan" | |
| # vim: sw=2:et:ts=2: |