-
Notifications
You must be signed in to change notification settings - Fork 330
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add GitHub workflows for extra coverage
This adds a workflow for building Unit under Fedora Rawhide. Rawhide is the development distribution for Fedora from which releases are cut. This usually consists of the latest versions of software and will hopefully catch new compiler issues and API breakages in the various languages we support. Signed-off-by: Andrew Clayton <[email protected]>
- Loading branch information
Showing
1 changed file
with
181 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,181 @@ | ||
name: ci-extras | ||
|
||
on: | ||
push: | ||
branches: master | ||
paths: | ||
- configure | ||
- 'auto/**' | ||
- 'src/**' | ||
- 'test/**' | ||
- '.github/workflows/ci-extras.yaml' | ||
pull_request: | ||
branches: master | ||
paths: | ||
- configure | ||
- 'auto/**' | ||
- 'src/**' | ||
- 'test/**' | ||
- '.github/workflows/ci-extras.yaml' | ||
|
||
jobs: | ||
|
||
fedora-rawhide: | ||
runs-on: ubuntu-latest | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
compiler: [ 'gcc', 'clang' ] | ||
|
||
container: | ||
image: fedora:rawhide | ||
|
||
steps: | ||
- name: Install tools/deps | ||
run: | | ||
dnf -y update | ||
dnf -y install which wget git gcc make pcre2-devel openssl-devel \ | ||
python-unversioned-command python3 python3-devel \ | ||
php-devel php-embedded perl-devel perl-ExtUtils-Embed \ | ||
ruby-devel java-devel nodejs-devel nodejs-npm golang | ||
if [ "${{ matrix.compiler }}" = "clang" ]; then | ||
dnf -y install clang | ||
fi | ||
npm install -g node-gyp | ||
- uses: actions/checkout@v4 | ||
|
||
- name: configure unit CC=${{ matrix.compiler }} | ||
run: | | ||
if [ "${{ matrix.compiler }}" = "clang" ]; then | ||
./configure --openssl --cc=clang | ||
else | ||
./configure --openssl | ||
fi | ||
- name: make unit | ||
run: make -j 4 | ||
|
||
- name: configure unit-php | ||
run: ./configure php | ||
|
||
- name: make unit-php | ||
run: make -j 4 php | ||
|
||
- name: configure unit-python | ||
run: ./configure python | ||
|
||
- name: make unit-python | ||
run: make -j 4 python | ||
|
||
- name: configure unit-perl | ||
run: ./configure perl | ||
if: matrix.compiler == 'gcc' | ||
|
||
- name: make unit-perl | ||
run: make -j 4 perl | ||
if: matrix.compiler == 'gcc' | ||
|
||
- name: configure unit-ruby | ||
run: ./configure ruby | ||
|
||
- name: make unit-ruby | ||
run: make -j 4 ruby | ||
|
||
- name: configure unit-java | ||
run: ./configure java | ||
|
||
- name: make unit-java | ||
run: make -j 4 java | ||
|
||
- name: configure unit-nodejs | ||
run: ./configure nodejs | ||
|
||
- name: make unit-nodejs | ||
run: make node-local-install DESTDIR=node | ||
|
||
- name: configure unit-go | ||
run: ./configure go --go-path= | ||
|
||
- name: make unit-go | ||
run: make go-install | ||
|
||
- name: Install wasmtime | ||
run: | | ||
wget -O- https://github.com/bytecodealliance/wasmtime/releases/download/v19.0.2/wasmtime-v19.0.2-x86_64-linux-c-api.tar.xz | tar -xJf - | ||
- name: configure unit-wasm | ||
run: ./configure wasm --include-path=wasmtime-v19.0.2-x86_64-linux-c-api/include --lib-path=wasmtime-v19.0.2-x86_64-linux-c-api/lib --rpath | ||
|
||
- name: make unit-wasm | ||
run: make wasm | ||
|
||
alpine-edge: | ||
runs-on: ubuntu-latest | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
compiler: [ 'gcc', 'clang' ] | ||
|
||
container: | ||
image: alpine:edge | ||
|
||
steps: | ||
- name: Install tools/deps | ||
run: | | ||
apk update && apk upgrade | ||
apk add gcc make musl-dev openssl-dev pcre2-dev curl \ | ||
php83-dev php83-embed python3-dev perl-dev ruby-dev openjdk21-jdk | ||
if [ "${{ matrix.compiler }}" = "clang" ]; then | ||
apk add clang | ||
fi | ||
- uses: actions/checkout@v4 | ||
|
||
- name: configure unit CC=${{ matrix.compiler }} | ||
run: | | ||
if [ "${{ matrix.compiler }}" = "clang" ]; then | ||
./configure --openssl --cc=clang | ||
else | ||
./configure --openssl | ||
fi | ||
- name: make unit | ||
run: make -j 4 | ||
|
||
- name: configure unit-php | ||
run: ln -s /usr/lib/libphp83.so /usr/lib/libphp.so && ./configure php | ||
|
||
- name: make unit-php | ||
run: make -j 4 | ||
|
||
- name: configure unit-python | ||
run: ./configure python | ||
|
||
- name: make unit-python | ||
run: make -j 4 | ||
|
||
- name: configure unit-perl | ||
run: ./configure perl | ||
|
||
- name: make unit-perl | ||
run: | | ||
if [ "${{ matrix.compiler }}" = "clang" ]; then | ||
make -j 4 perl EXTRA_CFLAGS=-Qunused-arguments | ||
else | ||
make -j 4 perl | ||
fi | ||
- name: configure unit-ruby | ||
run: ./configure ruby | ||
|
||
- name: make unit-ruby | ||
run: make -j 4 ruby | ||
|
||
- name: configure unit-java | ||
run: ./configure java | ||
|
||
- name: make unit-java | ||
run: make -j 4 java |