Skip to content

github actions: unify into one build matrix #1347

github actions: unify into one build matrix

github actions: unify into one build matrix #1347

Workflow file for this run

# .github/workflows/main.yml for texlive-source CI building
#
# Norbert Preining
# Public Domain
#
# This file controls CI testing via Github Actions of the
# git-svn checkout of the TeX Live source directory
# which is pushed to Github
# https://github.com/TeX-Live/texlive-source
# The cron job that does the git svn up and git push is
# running on texlive.info; see norbert cron there. Run cmd as norbert:
# /home/norbert/git-svn-repos/git-svn-syncer --new texlive-source
#
# To make and retrieve new binaries:
# * go to https://github.com/TeX-Live/texlive-source/commits/master
# and check that all commits you want are there (max waiting time 30min).
# * go to https://github.com/TeX-Live/texlive-source/releases
# and "Draft new release" (does git tag).
# * wait 30min or so.
# * go to https://github.com/TeX-Live/texlive-source/releases/latest/
# and there should be binaries for the new "release".
# * use tl-update-bindir.
#
# The actual code for building and running is in the Github Action
# TeX-Live/tl-build-docker-action
#
# TODO
# * it would be nice if we could adjust the docker action usage
# to override the dockerfile but this seems not to be possible at the moment
on: [push]
jobs:
build_job:
runs-on: ubuntu-latest
name: Build on ${{ matrix.arch }}
strategy:
matrix:
include:
- arch: i386-linux
- arch: x86_64-linux
- arch: x86_64-linuxmusl
steps:
- name: checkout-main
uses: actions/checkout@v4
- name: checkout-build-action
uses: actions/checkout@v4
with:
repository: TeX-Live/tl-build-docker-action
ref: v4
path: actions/TeX-Live/tl-build-docker-action
- name: Update Dockerfile
run: cp actions/TeX-Live/tl-build-docker-action/Dockerfile.${{ matrix.arch }} actions/TeX-Live/tl-build-docker-action/Dockerfile
- name: Run docker image
uses: ./actions/TeX-Live/tl-build-docker-action
with:
arch: ${{ matrix.arch }}
- name: find file step
run: ls -l
- name: save artifact
uses: actions/upload-artifact@v4
if: startsWith(github.ref, 'refs/tags/')
with:
name: texlive-bin-{{ matrix.arch }}.tar.gz
path: texlive-bin-{{ matrix.arch }}.tar.gz
compression-level: 0
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: texlive-bin-{{ matrix.arch }}.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}