diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 12202b0fe..63f3fb7ea 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -122,7 +122,7 @@ jobs: freebsd: name: FreeBSD runs-on: ubuntu-latest - if: github.event_name != "pull_request" + if: github.event_name != 'pull_request' steps: - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -145,13 +145,21 @@ jobs: solaris: name: Solaris runs-on: ubuntu-latest - if: github.event_name != "pull_request" + if: github.event_name != 'pull_request' steps: - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: submodules: true + - name: Transfer Oracle Studio certificates + env: + PKG_ORACLE_COM_CERTIFICATE_PEM: ${{ secrets.PKG_ORACLE_COM_CERTIFICATE_PEM }} + PKG_ORACLE_COM_KEY_PEM: ${{ secrets.PKG_ORACLE_COM_KEY_PEM }} + run: | + printenv PKG_ORACLE_COM_CERTIFICATE_PEM > pkg.oracle.com.certificate.pem + printenv PKG_ORACLE_COM_KEY_PEM > pkg.oracle.com.key.pem + - name: Prepare run: ./autogen.sh @@ -159,14 +167,30 @@ jobs: uses: vmactions/solaris-vm@a89b9438868c70db27e41625f0a5de6ff5e90809 # v1.1.0 with: usesh: true + # Seriously! Solaris is the only OS to actually ship without a C + # compiler, and not even to provide a simple download to get one! + # You have to actually register with Oracle to get an X.509 + # certificate before you can even download their compiler. Whatever. prepare: | - pkg install developer/gcc system/header + cp "$GITHUB_WORKSPACE/pkg.oracle.com.key.pem" /root/pkg.oracle.com.key.pem + cp "$GITHUB_WORKSPACE/pkg.oracle.com.certificate.pem" /root/pkg.oracle.com.certificate.pem + sudo pkg set-publisher \ + -k /root/pkg.oracle.com.key.pem \ + -c /root/pkg.oracle.com.certificate.pem \ + -G "*" -g https://pkg.oracle.com/solarisstudio/release solarisstudio + pkg install developer/build/make system/header + pkg install --accept developerstudio-126/cc run: | set -e + PATH=/opt/developerstudio12.6/bin:"$PATH" + export PATH + CC=cc + export CC + ./configure --enable-jit --enable-pcre2-16 --enable-pcre2-32 - gmake -j3 CPPFLAGS='-Wall -Wextra -Werror' - gmake check + make CPPFLAGS='-Wall -Wextra -Werror' + make check coverage: name: Code coverage