summaryrefslogtreecommitdiff
path: root/Build/source/.github
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2021-07-02 04:22:15 +0000
committerNorbert Preining <preining@logic.at>2021-07-02 04:22:15 +0000
commitc7c2e81c5a5bc6b86cf879c9a58590f245f329c5 (patch)
treee3e5282b8f7f2e30e947de8c06beea7323412dcc /Build/source/.github
parent3c89de5d102eece46566f48cd824886862917cdf (diff)
Update github workflows for docker builds
git-svn-id: svn://tug.org/texlive/trunk@59806 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/.github')
-rw-r--r--Build/source/.github/workflows/main.yml135
1 files changed, 110 insertions, 25 deletions
diff --git a/Build/source/.github/workflows/main.yml b/Build/source/.github/workflows/main.yml
index 0b8c9f6b64b..1ff0db8a076 100644
--- a/Build/source/.github/workflows/main.yml
+++ b/Build/source/.github/workflows/main.yml
@@ -1,31 +1,116 @@
+# .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
-name: CI
+on: [push]
-# Controls when the action will run.
-on:
- # Triggers the workflow on push or pull request events but only for the trunk branch
- push:
- branches: [ trunk ]
- pull_request:
- branches: [ trunk ]
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
- # This workflow contains a single job called "build"
- build:
- # The type of runner that the job will run on
- runs-on: ubuntu-16.04
- env:
- TL_MAKE_FLAGS: -j 2
+ docker_linux_32bit_job:
+ runs-on: ubuntu-latest
+ name: i386-linux build job
+ steps:
+ - name: checkout
+ uses: actions/checkout@v2
+ - name: checkout
+ uses: actions/checkout@v2
+ with:
+ repository: TeX-Live/tl-build-docker-action
+ ref: v1
+ path: actions/TeX-Live/tl-build-docker-action
+ - name: Update Dockerfile
+ run: cp actions/TeX-Live/tl-build-docker-action/Dockerfile.i386-linux actions/TeX-Live/tl-build-docker-action/Dockerfile
+ - name: Run docker image
+ uses: ./actions/TeX-Live/tl-build-docker-action
+ with:
+ arch: 'i386-linux'
+ - name: find file step
+ run: ls -l
+ - name: Release
+ uses: softprops/action-gh-release@v1
+ if: startsWith(github.ref, 'refs/tags/')
+ with:
+ files: texlive-bin-i386-linux.tar.gz
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ docker_linux_64bit_job:
+ runs-on: ubuntu-latest
+ name: x86_64-linux build job
+ steps:
+ - name: checkout
+ uses: actions/checkout@v2
+ - name: checkout
+ uses: actions/checkout@v2
+ with:
+ repository: TeX-Live/tl-build-docker-action
+ ref: v1
+ path: actions/TeX-Live/tl-build-docker-action
+ - name: Update Dockerfile
+ run: cp actions/TeX-Live/tl-build-docker-action/Dockerfile.x86_64-linux actions/TeX-Live/tl-build-docker-action/Dockerfile
+ - name: Run docker image
+ uses: ./actions/TeX-Live/tl-build-docker-action
+ with:
+ arch: 'x86_64-linux'
+ - name: find file step
+ run: ls -l
+ - name: Release
+ uses: softprops/action-gh-release@v1
+ if: startsWith(github.ref, 'refs/tags/')
+ with:
+ files: texlive-bin-x86_64-linux.tar.gz
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ docker_linuxmusl_64bit_job:
+ runs-on: ubuntu-latest
+ name: x86_64-linuxmusl build job
steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v2
- - name: Full build
- run: |
- sudo apt-get update
- sudo apt-get install -y --no-install-recommends bash gcc g++ make perl libfontconfig-dev libx11-dev libxmu-dev libxaw7-dev build-essential
- cd $GITHUB_WORKSPACE ; ./Build -C
+ - name: checkout
+ uses: actions/checkout@v2
+ - name: checkout
+ uses: actions/checkout@v2
+ with:
+ repository: TeX-Live/tl-build-docker-action
+ ref: v1
+ path: actions/TeX-Live/tl-build-docker-action
+ - name: Update Dockerfile
+ run: cp actions/TeX-Live/tl-build-docker-action/Dockerfile.x86_64-linuxmusl actions/TeX-Live/tl-build-docker-action/Dockerfile
+ - name: Run docker image
+ uses: ./actions/TeX-Live/tl-build-docker-action
+ with:
+ arch: 'x86_64-linuxmusl'
+ - name: find file step
+ run: ls -l
+ - name: Release
+ uses: softprops/action-gh-release@v1
+ if: startsWith(github.ref, 'refs/tags/')
+ with:
+ files: texlive-bin-x86_64-linuxmusl.tar.gz
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}