[latex3-commits] [git/LaTeX3-latex3-l3build] main: Switch from Travis-CI to GH Actions (f73eaa5)

Joseph Wright joseph.wright at morningstar2.co.uk
Fri Aug 27 16:29:46 CEST 2021


Repository : https://github.com/latex3/l3build
On branch  : main
Link       : https://github.com/latex3/l3build/commit/f73eaa5e9cd82df615c99e0a77cfd10a2703c84c

>---------------------------------------------------------------

commit f73eaa5e9cd82df615c99e0a77cfd10a2703c84c
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Fri Aug 27 15:29:46 2021 +0100

    Switch from Travis-CI to GH Actions


>---------------------------------------------------------------

f73eaa5e9cd82df615c99e0a77cfd10a2703c84c
 .github/tl_packages           | 56 ++++++++++++++++++++++++++++++
 .github/workflows/deploy.yaml | 54 +++++++++++++++++++++++++++++
 .github/workflows/main.yaml   | 45 ++++++++++++++++++++++++
 support/texlive.profile       | 10 ------
 support/texlive.sh            | 79 -------------------------------------------
 5 files changed, 155 insertions(+), 89 deletions(-)

diff --git a/.github/tl_packages b/.github/tl_packages
new file mode 100644
index 0000000..fa41657
--- /dev/null
+++ b/.github/tl_packages
@@ -0,0 +1,56 @@
+# The test framework itself
+#
+luatex
+#
+# Required to build formats
+#
+latex-bin
+luahbtex
+platex
+uplatex
+tex
+xetex
+# Requirements for the tests
+amsfonts
+etex-pkg
+#
+# Support for typesetting the docs
+#
+alphalph
+atbegshi
+atveryend
+amsmath
+bigintcalc
+bitset
+booktabs
+ec
+colortbl
+csquotes
+enumitem
+etexcmds
+fancyvrb
+gettitlestring
+graphics
+hologo
+hycolor
+iftex
+intcalc
+kvdefinekeys
+kvsetkeys
+l3packages
+letltxmacro
+listings
+ltxcmds
+makeindex
+needspace
+oberdiek
+pdfescape
+pdftexcmds
+psnfss
+refcount
+rerunfilecheck
+hyperref
+titlesec
+tools
+underscore
+uniquecounter
diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml
new file mode 100644
index 0000000..ac852ac
--- /dev/null
+++ b/.github/workflows/deploy.yaml
@@ -0,0 +1,54 @@
+name: Create release
+
+# We create releases for all new tags
+on:
+  push:
+    tags:
+      - "*"
+
+jobs:
+  release:
+    runs-on: ubuntu-latest
+    name: Build release
+    environment: Release
+    steps:
+      # Boilerplate
+      - name: Checkout repository
+        uses: actions/checkout at v2
+      # GitHub Actions don't regenerate the test if the key doesn't change, so
+      # we integrate a random UUID into the key to keep them different.
+      # DO NOT CHANGE THIS
+      - name: Generate unique ID
+        id: get-id
+        run: |
+          echo -n ::set-output name=id::
+          cat /proc/sys/kernel/random/uuid
+      # Actually load the cache. Since we never reuse the key, we need restore-keys
+      # to indicate the prefix of our caches. This loads the newest cache with this
+      # prefix in the key.
+      #
+      # If we want to force regeneration of the cache, increase the number after
+      # *both* instances of "texlive-v"
+      - name: Load cache
+        uses: actions/cache at v2
+        with:
+          path: ~/texlive
+          key: texlive-v0-${{ steps.get-id.outputs.id }}
+          restore-keys: texlive-v0-
+      # We need Ghostscript for XeTeX tests.
+      - run: sudo apt-get install ghostscript
+      - name: Install TeX Live
+        uses: zauguin/install-texlive at v1
+        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
+        run: texlua l3build.lua ctan -H --show-log-on-error
+      # Now create the release (this only runs if the previous steps were successful)
+      - name: Create GitHub release
+        uses: ncipollo/release-action at 880be3d0a71bc0fa98db60201d2cbdc27324f547
+        id: release
+        with:
+          artifacts: "build/distrib/ctan/*.zip"
+          token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml
new file mode 100644
index 0000000..1e63f49
--- /dev/null
+++ b/.github/workflows/main.yaml
@@ -0,0 +1,45 @@
+name: Automated testing
+
+on:
+  push:
+  pull_request:
+    branches:
+      - main
+
+jobs:
+  l3build:
+    runs-on: ubuntu-latest
+    steps:
+      # Boilerplate
+      - name: Checkout repository
+        uses: actions/checkout at v2
+      # GitHub Actions don't regenerate the test if the key doesn't change, so
+      # we integrate a random UUID into the key to keep them different.
+      # DO NOT CHANGE THIS
+      - name: Generate unique ID
+        id: get-id
+        run: |
+          echo -n ::set-output name=id::
+          cat /proc/sys/kernel/random/uuid
+      # Actually load the cache. Since we never reuse the key, we need restore-keys
+      # to indicate the prefix of our caches. This loads the newest cache with this
+      # prefix in the key.
+      #
+      # If we want to force regeneration of the cache, increase the number after
+      # *both* instances of "texlive-v"
+      - name: Load cache
+        uses: actions/cache at v2
+        with:
+          path: ~/texlive
+          key: texlive-v0-${{ steps.get-id.outputs.id }}
+          restore-keys: texlive-v0-
+      # We need Ghostscript for XeTeX tests.
+      - run: sudo apt-get install ghostscript
+      - name: Install TeX Live
+        uses: zauguin/install-texlive at v1
+        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
+        run: texlua l3build.lua ctan -H --show-log-on-error
diff --git a/support/texlive.profile b/support/texlive.profile
deleted file mode 100644
index 60905b4..0000000
--- a/support/texlive.profile
+++ /dev/null
@@ -1,10 +0,0 @@
-selected_scheme scheme-infraonly
-TEXDIR /tmp/texlive
-TEXMFCONFIG ~/.texlive/texmf-config
-TEXMFHOME ~/texmf
-TEXMFLOCAL /tmp/texlive/texmf-local
-TEXMFSYSCONFIG /tmp/texlive/texmf-config
-TEXMFSYSVAR /tmp/texlive/texmf-var
-TEXMFVAR ~/.texlive/texmf-var
-option_doc 0
-option_src 0
diff --git a/support/texlive.sh b/support/texlive.sh
deleted file mode 100644
index 6c29948..0000000
--- a/support/texlive.sh
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/usr/bin/env sh
-
-# This script is used for testing using Travis
-# It is intended to work on their VM set up: Ubuntu 12.04 LTS
-# A minimal current TL is installed adding only the packages that are
-# required
-
-# See if there is a cached version of TL available
-export PATH=/tmp/texlive/bin/x86_64-linux:$PATH
-if ! command -v texlua > /dev/null; then
-  # Obtain TeX Live
-  wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
-  tar -xzf install-tl-unx.tar.gz
-  cd install-tl-20*
-
-  # Install a minimal system
-  ./install-tl --profile=../support/texlive.profile
-
-  cd ..
-fi
-
-# Update the TL install but add nothing new
-tlmgr update --self
-
-# Needed for any use of texlua even if not testing LuaTeX
-tlmgr install luatex
-
-# Required to build plain and LaTeX formats including (u)pLaTeX
-tlmgr install latex-bin luahbtex platex uplatex tex xetex
-
-# Requirements for the tests
-tlmgr install amsfonts etex-pkg
-
-# Support for typesetting the docs
-tlmgr install \
-  alphalph   \
-  atbegshi   \
-  atveryend  \
-  amsmath    \
-  bigintcalc \
-  bitset     \
-  booktabs   \
-  ec         \
-  colortbl   \
-  csquotes   \
-  enumitem   \
-  etexcmds   \
-  fancyvrb   \
-  gettitlestring \
-  graphics   \
-  hologo     \
-  hycolor    \
-  iftex      \
-  intcalc    \
-  kvdefinekeys \
-  kvsetkeys  \
-  l3packages \
-  letltxmacro \
-  listings   \
-  ltxcmds    \
-  makeindex  \
-  needspace  \
-  oberdiek   \
-  pdfescape  \
-  pdftexcmds \
-  psnfss     \
-  refcount   \
-  rerunfilecheck \
-  hyperref   \
-  titlesec   \
-  tools      \
-  underscore \
-  uniquecounter
-
-# Keep no backups (not required, simply makes cache bigger)
-tlmgr option -- autobackup 0
-
-# Update the TL install but add nothing new
-tlmgr update --all --no-auto-install





More information about the latex3-commits mailing list.