GH Actions setup
This commit is contained in:
parent
3b6955314f
commit
8389cd1a9d
38
.github/actions/ctan-upload/action.yaml
vendored
Normal file
38
.github/actions/ctan-upload/action.yaml
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
name: CTAN upload
|
||||
|
||||
inputs:
|
||||
filename:
|
||||
required: true
|
||||
dry-run:
|
||||
required: true
|
||||
uploader:
|
||||
required: true
|
||||
email:
|
||||
required: true
|
||||
version:
|
||||
required: false
|
||||
default: ${{ github.ref_name }}
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Send to CTAN
|
||||
uses: zauguin/ctan-upload@v0.1
|
||||
with:
|
||||
package-name: luaotfload
|
||||
version: ${{ inputs.version }}
|
||||
author: 'Marcel Krüger, LaTeX Project Team'
|
||||
uploader: ${{ inputs.uploader }}
|
||||
email: ${{ inputs.email }}
|
||||
license: lppl1.3
|
||||
summary: "Automatically generate MathML from LuaLaTeX math mode material"
|
||||
ctan-path: /macros/luatex/latex/luamml
|
||||
support: https://github.com/latex3/luamml/issues
|
||||
update: true
|
||||
topic: maths,luatex
|
||||
description: |
|
||||
LuaMML is an experimental package to automatically generate a MathML representation of mathematical expessions written in LuaLaTeX documents. These MathML representations can be used for improving accessibility or to ease conversion into new output formats like HTML.
|
||||
filename: ${{ inputs.filename }}
|
||||
dry-run: ${{ inputs.dry-run }}
|
||||
announcement-filename: ctan.ann
|
||||
note: Uploaded automatically by GitHub Actions.
|
59
.github/tl_packages
vendored
Normal file
59
.github/tl_packages
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
scheme-minimal latex-bin l3build
|
||||
#Proudly generated by the Island of TeX's DEPendency Printer https://gitlab.com/islandoftex/texmf/depp
|
||||
alphalph
|
||||
amsfonts
|
||||
amsmath
|
||||
bigintcalc
|
||||
bitset
|
||||
bookmark
|
||||
booktabs
|
||||
cm
|
||||
colortbl
|
||||
csquotes
|
||||
enumitem
|
||||
etoolbox
|
||||
fancyvrb
|
||||
firstaid
|
||||
fontspec
|
||||
gettitlestring
|
||||
graphics
|
||||
graphics-cfg
|
||||
graphics-def
|
||||
hologo
|
||||
hycolor
|
||||
hypdoc
|
||||
hyperref
|
||||
iftex
|
||||
infwarerr
|
||||
intcalc
|
||||
knuth-lib
|
||||
kvdefinekeys
|
||||
kvoptions
|
||||
kvsetkeys
|
||||
l3backend
|
||||
l3build
|
||||
l3kernel
|
||||
l3packages
|
||||
latex
|
||||
latex-fonts
|
||||
latex-lab
|
||||
lm
|
||||
lm-math
|
||||
ltxcmds
|
||||
luacolor
|
||||
lualatex-math
|
||||
pdfescape
|
||||
pdfmanagement-testphase
|
||||
pdftexcmds
|
||||
psnfss
|
||||
refcount
|
||||
rerunfilecheck
|
||||
stringenc
|
||||
symbol
|
||||
tagpdf
|
||||
tools
|
||||
underscore
|
||||
unicode-math
|
||||
uniquecounter
|
||||
url
|
||||
zapfding
|
78
.github/workflows/deploy.yaml
vendored
Normal file
78
.github/workflows/deploy.yaml
vendored
Normal file
@ -0,0 +1,78 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
# Only triggers for new tags
|
||||
push:
|
||||
tags: "*"
|
||||
|
||||
jobs:
|
||||
# Mostly the same as the main.yaml workflow, but we only use a single job
|
||||
l3build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# Boilerplate
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- run: sudo apt-get install tidy
|
||||
- name: Install TeX Live
|
||||
uses: zauguin/install-texlive@v3
|
||||
with:
|
||||
# Here we use the same list of packages as in the testing workflow.
|
||||
package_file: .github/tl_packages
|
||||
- name: Run l3build
|
||||
run: l3build ctan -H --show-log-on-error
|
||||
- name: Upload package artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Package
|
||||
path: |
|
||||
build/distrib/ctan/*.zip
|
||||
ctan.ann
|
||||
- name: Validate CTAN package
|
||||
uses: ./.github/actions/ctan-upload
|
||||
with:
|
||||
uploader: Dummy Name
|
||||
email: dryrun@example.com
|
||||
filename: "build/distrib/ctan/luaotfload-ctan.zip"
|
||||
dry-run: true
|
||||
|
||||
github:
|
||||
runs-on: ubuntu-latex
|
||||
needs:
|
||||
- l3build
|
||||
steps:
|
||||
- name: Download package artifact
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: Package
|
||||
- name: Create GitHub release
|
||||
uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5
|
||||
id: release
|
||||
with:
|
||||
artifacts: "build/distrib/ctan/*.zip"
|
||||
prerelease: ${{ endsWith(github.ref, '-dev') }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
bodyFile: ctan.ann
|
||||
|
||||
ctan-upload:
|
||||
if: "${{ !endsWith(github.ref, '-dev') }}"
|
||||
runs-on: ubuntu-latest
|
||||
environment: CTAN
|
||||
needs:
|
||||
- l3build
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github
|
||||
- name: Download package artifact
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: Package
|
||||
- name: Upload CTAN package
|
||||
uses: ./.github/actions/ctan-upload
|
||||
with:
|
||||
uploader: ${{ secrets.CTAN_NAME }}
|
||||
email: ${{ secrets.CTAN_EMAIL }}
|
||||
filename: "build/distrib/ctan/luaotfload-ctan.zip"
|
||||
dry-run: false
|
53
.github/workflows/main.yaml
vendored
Normal file
53
.github/workflows/main.yaml
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
name: Automated testing
|
||||
|
||||
# Currently we run in two situations:
|
||||
on:
|
||||
# Whenever someone pushes to a branch or tag in our repo
|
||||
push:
|
||||
branches:
|
||||
- "*"
|
||||
# Whenever a pull request is opened, reopened or gets new commits.
|
||||
pull_request:
|
||||
# This implies that for every push to a local branch in our repo for which a
|
||||
# pull request is open this runs twice. But it's important to ensure that pull
|
||||
# requests get tested even if their branch comes from a fork.
|
||||
|
||||
jobs:
|
||||
l3build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
kind: [doc, test]
|
||||
name: "${{ format('{0}', matrix.kind == 'doc' && 'Documentation' || 'Test suite') }}"
|
||||
steps:
|
||||
# Boilerplate
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- run: sudo apt-get install tidy
|
||||
- name: Install TeX Live
|
||||
uses: zauguin/install-texlive@v3
|
||||
with:
|
||||
# The list of packages to install is in a separate file under .github/tl_packages
|
||||
# to allow reuse.
|
||||
package_file: .github/tl_packages
|
||||
cache_version: 0
|
||||
- name: Run l3build
|
||||
run: ${{ format('l3build {0} -q -H', matrix.kind == 'doc' && 'doc' || 'check --show-log-on-error') }}
|
||||
# Now we create the artifacts: There are two cases where this happens.
|
||||
# 1. If we failed running tests
|
||||
- name: Archive failed test output
|
||||
if: ${{ matrix.kind == 'test' && always() }}
|
||||
uses: zauguin/l3build-failure-artifacts@v1
|
||||
with:
|
||||
name: testfiles-${{ matrix.platform }}
|
||||
# Decide how long to keep the test output artifact:
|
||||
retention-days: 3
|
||||
# 2. If we succeed building documentation
|
||||
- name: Archive documentation
|
||||
if: ${{ matrix.kind == 'doc' && success() }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Documentation
|
||||
path: "**/*.pdf"
|
||||
# Decide how long to keep the test output artifact:
|
||||
retention-days: 21
|
Loading…
Reference in New Issue
Block a user