From 2deedb2feb2deee786a01ed4bc06f218f3b9e6c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20Fabian=20Kr=C3=BCger?= Date: Mon, 26 Feb 2024 07:33:47 +0100 Subject: [PATCH] Add initial GH Actions setup --- .github/tl_packages | 5 +++ .github/workflows/check.yaml | 43 +++++++++++++++++++++ .github/workflows/release.yaml | 68 ++++++++++++++++++++++++++++++++++ testfiles/.gitkeep | 0 4 files changed, 116 insertions(+) create mode 100644 .github/tl_packages create mode 100644 .github/workflows/check.yaml create mode 100644 .github/workflows/release.yaml create mode 100644 testfiles/.gitkeep diff --git a/.github/tl_packages b/.github/tl_packages new file mode 100644 index 0000000..253d97a --- /dev/null +++ b/.github/tl_packages @@ -0,0 +1,5 @@ +l3build latex latex-bin luatex +cm etex knuth-lib tex tex-ini-files unicode-data +graphics xcolor luacolor +tools iftex infwarerr kvoptions +csquotes hypdoc framed metalogo tikzducks pict2e hyperref pgf diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml new file mode 100644 index 0000000..6817fb6 --- /dev/null +++ b/.github/workflows/check.yaml @@ -0,0 +1,43 @@ +name: Test suite + +on: + push: + branches: + - '*' + pull_request: + +jobs: + tests: + runs-on: ubuntu-22.04 + name: Test suite + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install TeX Live + uses: zauguin/install-texlive@v3 + with: + package_file: .github/tl_packages + - name: Run l3build + run: l3build check --show-log-on-error -q -H + - name: Archive failed test output + if: ${{ always() }} + uses: zauguin/l3build-failure-artifacts@v1 + with: + name: testfiles + docs: + runs-on: ubuntu-22.04 + name: Documentation + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install TeX Live + uses: zauguin/install-texlive@v3 + with: + package_file: .github/tl_packages + - name: Run l3build + run: l3build doc -q -H + - name: Archive documentation + uses: actions/upload-artifact@v4 + with: + name: Documentation + path: "**/*.pdf" diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..bf757a9 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,68 @@ +name: Release + +on: + push: + tags: "*" + +jobs: + l3build: + runs-on: ubuntu-22.04 + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install TeX Live + uses: zauguin/install-texlive@v3 + with: + package_file: .github/install-texlive@v3 + - name: Run l3build + run: l3build ctan --show-log-on-error -H + - name: Upload package artifact + uses: actions/upload-artifact@v4 + with: + name: Package + path: "build/distrib/ctan/*.zip" + + github: + runs-on: ubuntu-22.04 + needs: + - l3build + steps: + - name: Download package artifact + uses: actions/download-artifact@v4 + with: + name: Package + - name: Create GitHub release + uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 + with: + artifacts: "build/distrib/ctan/*.zip" + token: ${{ secrets.GITHUB_TOKEN }} + + ctan-validate: + runs-on: ubuntu-22.04 + needs: + - l3build + steps: + - name: Download package artifact + uses: actions/download-artifact@v4 + with: + name: Package + - name: Upload CTAN package + uses: zauguin/ctan-update@v0.1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + package-name: lua-ul + version: ${{ github.ref_name }} + author: Marcel Krüger + uploader: Dummy Name + email: dryrun@example.com + license: lppl1.3c + summary: Underlining for LuaLaTeX + ctan-path: /macros/luatex/latex/lua-ul + update: true + topics: [underline, luatex] + description: | + This package provides underlining, strikethough, and highlighting using features in LuaLaTeX which avoid the restrictions imposed by other methods. In particular, kerning is not affected, the underlined text can use arbitrary commands, hyphenation works etc. + + The package requires LuaTeX version ≥ 1.12.0. + filename: build/distrib/ctan/lua-ul.zip + dry-run: true diff --git a/testfiles/.gitkeep b/testfiles/.gitkeep new file mode 100644 index 0000000..e69de29