diff options
author | Norbert Preining <preining@logic.at> | 2024-01-20 14:40:58 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2024-01-20 14:40:58 +0000 |
commit | b2c6fc55ad91ef234a4a97f05e1d3e6fc15ed225 (patch) | |
tree | 821f9fd1d40746a30b0900539ae0a9fdee167b8e /Build/source/.github | |
parent | c2135025d356ef39df2789101c6e0539fb62c0e8 (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-x | Build/source/.github/scripts/build-tl.sh | 4 | ||||
-rwxr-xr-x | Build/source/.github/scripts/install-deps.bsd.sh | 3 | ||||
-rwxr-xr-x | Build/source/.github/scripts/install-deps.solaris.sh | 1 | ||||
-rw-r--r-- | Build/source/.github/workflows/main.yml | 96 |
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 }} + |