From f043a2e9f5c514db7ffd0d0cb98a9ae7ae577fae Mon Sep 17 00:00:00 2001 From: Olly Betts Date: Tue, 17 Dec 2024 14:51:29 +1300 Subject: [PATCH] [ci] Add job running on Solaris --- .github/workflows/ci.yml | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 25cf41265..8d53eb7d0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2768,6 +2768,80 @@ jobs: path: | **/*.log + solaris: + runs-on: 'ubuntu-22.04' + needs: makedist + steps: + - name: Install CCache + uses: hendrikmuhs/ccache-action@v1 + with: + key: ${{ github.job }} + - name: Fetch distribution + uses: actions/download-artifact@v4 + - name: Unpack distribution + run: | + mv artifact/* . + rmdir artifact + # Do actual unpacking in the VM, mostly to help reduce the size of the + # rsync output in the logs. + - uses: vmactions/solaris-vm@v1 + # Limit wasted resources if the VM action gets into an infinite loop. + timeout-minutes: 60 + with: + release: "11.4-gcc" + prepare: | + set -e + pkgutil -y -i ccache gmake gtar perl # libmagic_dev libpcre2_dev + ccache --set-config=cache_dir="$HOME/work/xapian/xapian/.ccache" + ccache --set-config=max_size='500M' + ccache --set-config=compression=true + run: | + set -e + ulimit + export CC='ccache gcc' + export CXX='ccache g++' + mv xapian-* "$HOME" + cd + cd xapian-core + gtar --strip-components=1 -xf xapian-core-*.tar.xz + ./configure --enable-werror + export XAPIAN_CONFIG=$PWD/xapian-config + cd .. + # magic.h not found!?! + #cd xapian-applications/omega + #gtar --strip-components=1 -xf xapian-omega-*.tar.xz + #./configure --enable-werror + #cd ../.. + # cd xapian-bindings + # gtar --strip-components=1 -xf xapian-bindings-*.tar.xz + # ./configure --enable-werror + # cd .. + cd xapian-letor + gtar --strip-components=1 -xf xapian-letor-*.tar.xz + ./configure --enable-werror + cd .. + # Everything gets run in one script so use V=0 to reduce the size of + # the log, but re-run without V=0 on failure to show the compiler + # command line. + gmake -j2 -C xapian-core V=0 || gmake -C xapian-core + # gmake -j2 -C xapian-applications/omega V=0 || gmake -C xapian-core + # gmake -j2 -C xapian-bindings V=0 || gmake -C xapian-bindings + gmake -j2 -C xapian-letor V=0 || gmake -C xapian-letor + export AUTOMATED_TESTING=1 + export VERBOSE=1 + gmake -j2 -C xapian-core check V=0 + # gmake -j2 -C xapian-applications/omega check V=0 + # gmake -j2 -C xapian-bindings check V=0 + gmake -j2 -C xapian-letor check V=0 + - name: Save log files + if: ${{ failure() }} + uses: actions/upload-artifact@v4 + with: + name: logs-${{ github.job }}-${{ github.sha }} + overwrite: true + path: | + **/*.log + checkpatch: name: 'Automated run of xapian-check-patch' runs-on: 'ubuntu-latest' -- 2.11.4.GIT