diff --git a/.github/tl_packages b/.github/tl_packages new file mode 100644 index 0000000..d105a53 --- /dev/null +++ b/.github/tl_packages @@ -0,0 +1,6 @@ +l3build latex latex-bin luatex +cm etex knuth-lib tex tex-ini-files unicode-data +graphics xcolor luacolor +makeindex +tools iftex infwarerr kvoptions epstopdf-pkg amsfonts +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