summaryrefslogtreecommitdiff
path: root/Build/source/.github
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2024-01-20 14:40:58 +0000
committerNorbert Preining <preining@logic.at>2024-01-20 14:40:58 +0000
commitb2c6fc55ad91ef234a4a97f05e1d3e6fc15ed225 (patch)
tree821f9fd1d40746a30b0900539ae0a9fdee167b8e /Build/source/.github
parentc2135025d356ef39df2789101c6e0539fb62c0e8 (diff)
[gh actions] fixes for arm, try *bsd/solaris
git-svn-id: svn://tug.org/texlive/trunk@69503 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/.github')
-rwxr-xr-xBuild/source/.github/scripts/build-tl.sh4
-rwxr-xr-xBuild/source/.github/scripts/install-deps.bsd.sh3
-rwxr-xr-xBuild/source/.github/scripts/install-deps.solaris.sh1
-rw-r--r--Build/source/.github/workflows/main.yml96
4 files changed, 94 insertions, 10 deletions
diff --git a/Build/source/.github/scripts/build-tl.sh b/Build/source/.github/scripts/build-tl.sh
index ea7945d3efb..b5f543bc7ef 100755
--- a/Build/source/.github/scripts/build-tl.sh
+++ b/Build/source/.github/scripts/build-tl.sh
@@ -48,6 +48,10 @@ case "$arch" in
aarch64-linux)
BUILDARGS="--enable-arm-neon=on"
;;
+ *-solaris)
+ export CC="/path/to/gcc-5.5 -m64"
+ export CXX="/path/to/g++-5.5 -m64"
+ ;;
esac
export TL_MAKE_FLAGS
diff --git a/Build/source/.github/scripts/install-deps.bsd.sh b/Build/source/.github/scripts/install-deps.bsd.sh
new file mode 100755
index 00000000000..28edbdc0074
--- /dev/null
+++ b/Build/source/.github/scripts/install-deps.bsd.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+#pkg install -y file
+echo "TODO"
diff --git a/Build/source/.github/scripts/install-deps.solaris.sh b/Build/source/.github/scripts/install-deps.solaris.sh
new file mode 100755
index 00000000000..563b2ed364b
--- /dev/null
+++ b/Build/source/.github/scripts/install-deps.solaris.sh
@@ -0,0 +1 @@
+echo "TODO"
diff --git a/Build/source/.github/workflows/main.yml b/Build/source/.github/workflows/main.yml
index 26ce1b11fcf..87188917a92 100644
--- a/Build/source/.github/workflows/main.yml
+++ b/Build/source/.github/workflows/main.yml
@@ -46,27 +46,39 @@ jobs:
strategy:
fail-fast: false
matrix:
+ # we need to list the archs here, otherwise the matrix contains only
+ # one element release_build and that is overwritten by the include statements
+ tl_name: [ i386-linux, x86_64-linux, x86_64-linuxmusl, aarch64-linux, armhf-linux ]
+ release_build:
+ - ${{ startsWith(github.ref, 'refs/tags/') }}
include:
- tl_name: i386-linux
image: i386/ubuntu:xenial
- qemu_arch: 386
platform: 386
+ ci_build: true
+ use_qemu: false
- tl_name: x86_64-linux
image: centos:7
- qemu_arch: amd64
platform: amd64
+ ci_build: true
+ use_qemu: false
- tl_name: x86_64-linuxmusl
image: alpine:3.5
- qemu_arch: amd64
platform: amd64
+ ci_build: true
+ use_qemu: false
- tl_name: aarch64-linux
image: arm64v8/debian:buster
- qemu_arch: aarch64
platform: aarch64
+ ci_build: false
+ use_qemu: true
+ qemu_arch: aarch64
- tl_name: armhf-linux
image: arm32v7/debian:buster
- qemu_arch: arm
platform: arm/v7
+ ci_build: false
+ use_qemu: true
+ qemu_arch: arm
steps:
- name: checkout-main
@@ -74,15 +86,13 @@ jobs:
with:
path: 'repo'
- name: Setup QEMU
- if: startsWith(matrix.image, 'arm')
+ if: matrix.use_qemu
uses: docker/setup-qemu-action@v2
with:
platforms: ${{ matrix.qemu_arch }}
- name: build
uses: addnab/docker-run-action@v3
- if: |
- startsWith(github.ref, 'refs/tags/') ||
- (startsWith(matrix.image, 'arm') == false)
+ if: ${{ matrix.ci_build || matrix.release_build }}
with:
image: ${{ matrix.image }}
options: -v ${{ github.workspace }}:/work --platform linux/${{ matrix.platform }}
@@ -96,8 +106,10 @@ jobs:
esac
.github/scripts/build-tl.sh ${{ matrix.tl_name }}
- name: find file step
+ if: ${{ matrix.ci_build || matrix.release_build }}
run: ls -l $GITHUB_WORKSPACE/repo/texlive-bin-${{ matrix.tl_name }}.tar.gz
- name: save artifact
+ if: ${{ matrix.ci_build || matrix.release_build }}
uses: actions/upload-artifact@v4
with:
name: texlive-bin-${{ matrix.tl_name }}.tar.gz
@@ -105,9 +117,73 @@ jobs:
compression-level: 0
- name: Release
uses: softprops/action-gh-release@v1
- if: startsWith(github.ref, 'refs/tags/')
+ if: matrix.release_build
with:
files: $GITHUB_WORKSPACE/repo/texlive-bin-${{ matrix.tl_name }}.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ vm_build_job:
+ runs-on: ubuntu-latest
+ name: Build on ${{ matrix.arch }}-${{ matrix.os }}
+
+ strategy:
+ fail-fast: false
+ matrix:
+ arch: [ i386, amd64 ]
+ os: [ freebsd, netbsd, solaris ]
+ ci_build: [ true ]
+ release_build:
+ - ${{ startsWith(github.ref, 'refs/tags/') }}
+
+ steps:
+ - name: checkout-main
+ uses: actions/checkout@v4
+ with:
+ path: 'repo'
+ - name: build freebsd
+ uses: vmactions/freebsd-vm@v1
+ if: matrix.os == 'freebsd'
+ with:
+ usesh: true
+ run: |
+ cd repo
+ sh .github/scripts/install-deps.bsd.sh
+ sh .github/scripts/build-tl.sh ${{ matrix.arch }}-${{ matrix.os }}
+ - name: build netbsd
+ uses: vmactions/netbsd-vm@v1
+ if: matrix.os == 'netbsd'
+ with:
+ usesh: true
+ run: |
+ cd repo
+ sh .github/scripts/install-deps.bsd.sh
+ sh .github/scripts/build-tl.sh ${{ matrix.arch }}-${{ matrix.os }}
+ - name: build solaris
+ uses: vmactions/solaris-vm@v1
+ if: matrix.os == 'solaris'
+ with:
+ usesh: true
+ run: |
+ cd repo
+ sh .github/scripts/install-deps.solaris.sh
+ sh .github/scripts/build-tl.sh ${{ matrix.arch }}-${{ matrix.os }}
+ - name: find file step
+ if: ${{ matrix.ci_build || matrix.release_build }}
+ run: ls -l $GITHUB_WORKSPACE/repo/texlive-bin-${{ matrix.arch }}-${{ matrix.os }}.tar.gz
+ - name: save artifact
+ if: ${{ matrix.ci_build || matrix.release_build }}
+ uses: actions/upload-artifact@v4
+ with:
+ name: texlive-bin-${{ matrix.arch }}-${{ matrix.os }}.tar.gz
+ path: ${{ github.workspace }}/repo/texlive-bin-${{ matrix.arch }}-${{ matrix.os }}.tar.gz
+ compression-level: 0
+ - name: Release
+ uses: softprops/action-gh-release@v1
+ if: matrix.release_build
+ with:
+ files: $GITHUB_WORKSPACE/repo/texlive-bin-${{ matrix.arch }}-${{ matrix.os }}.tar.gz
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+