mirror of https://github.com/madler/zlib.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
4.4 KiB
136 lines
4.4 KiB
name: Configure |
|
on: [push, pull_request] |
|
jobs: |
|
ci-configure: |
|
name: ${{ matrix.name }} |
|
runs-on: ${{ matrix.os }} |
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
include: |
|
- name: Ubuntu GCC |
|
os: ubuntu-latest |
|
compiler: gcc |
|
configure-args: --warn |
|
|
|
# Test out of source builds |
|
- name: Ubuntu GCC OSB |
|
os: ubuntu-latest |
|
compiler: gcc |
|
configure-args: --warn |
|
build-dir: ../build |
|
src-dir: ../zlib |
|
|
|
- name: Ubuntu GCC ARM SF |
|
os: ubuntu-latest |
|
compiler: arm-linux-gnueabi-gcc |
|
configure-args: --warn |
|
chost: arm-linux-gnueabi |
|
packages: qemu qemu-user gcc-arm-linux-gnueabi libc-dev-armel-cross |
|
qemu-run: qemu-arm -L /usr/arm-linux-gnueabi |
|
|
|
- name: Ubuntu GCC ARM HF |
|
os: ubuntu-latest |
|
compiler: arm-linux-gnueabihf-gcc |
|
configure-args: --warn |
|
chost: arm-linux-gnueabihf |
|
packages: qemu qemu-user gcc-arm-linux-gnueabihf libc-dev-armhf-cross |
|
qemu-run: qemu-arm -L /usr/arm-linux-gnueabihf |
|
|
|
- name: Ubuntu GCC AARCH64 |
|
os: ubuntu-latest |
|
compiler: aarch64-linux-gnu-gcc |
|
configure-args: --warn |
|
chost: aarch64-linux-gnu |
|
packages: qemu qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross |
|
qemu-run: qemu-aarch64 -L /usr/aarch64-linux-gnu |
|
|
|
- name: Ubuntu GCC PPC |
|
os: ubuntu-latest |
|
compiler: powerpc-linux-gnu-gcc |
|
configure-args: --warn --static |
|
chost: powerpc-linux-gnu |
|
packages: qemu qemu-user gcc-powerpc-linux-gnu libc-dev-powerpc-cross |
|
qemu-run: qemu-ppc -L /usr/powerpc-linux-gnu |
|
cflags: -static |
|
ldflags: -static |
|
|
|
- name: Ubuntu GCC PPC64 |
|
os: ubuntu-latest |
|
compiler: powerpc64-linux-gnu-gcc |
|
configure-args: --warn --static |
|
chost: powerpc-linux-gnu |
|
packages: qemu qemu-user gcc-powerpc64-linux-gnu libc-dev-ppc64-cross |
|
qemu-run: qemu-ppc64 -L /usr/powerpc64-linux-gnu |
|
cflags: -static |
|
ldflags: -static |
|
|
|
- name: Ubuntu GCC PPC64LE |
|
os: ubuntu-latest |
|
compiler: powerpc64le-linux-gnu-gcc |
|
configure-args: --warn |
|
chost: powerpc64le-linux-gnu |
|
packages: qemu qemu-user gcc-powerpc64le-linux-gnu libc-dev-ppc64el-cross |
|
qemu-run: qemu-ppc64le -L /usr/powerpc64le-linux-gnu |
|
|
|
- name: Ubuntu GCC S390X |
|
os: ubuntu-latest |
|
compiler: s390x-linux-gnu-gcc |
|
configure-args: --warn --static |
|
chost: s390x-linux-gnu |
|
packages: qemu qemu-user gcc-s390x-linux-gnu libc-dev-s390x-cross |
|
qemu-run: qemu-s390x -L /usr/s390x-linux-gnu |
|
cflags: -static |
|
ldflags: -static |
|
|
|
- name: macOS GCC |
|
os: macos-latest |
|
compiler: gcc-11 |
|
configure-args: --warn |
|
|
|
- name: macOS Clang |
|
os: macos-latest |
|
compiler: clang |
|
configure-args: --warn |
|
|
|
steps: |
|
- name: Checkout repository |
|
uses: actions/checkout@v4 |
|
|
|
- name: Install packages (Ubuntu) |
|
if: runner.os == 'Linux' && matrix.packages |
|
run: | |
|
sudo apt-get update |
|
sudo apt-get install -y ${{ matrix.packages }} |
|
|
|
- name: Generate project files |
|
run: | |
|
[ -d ${{ matrix.build-dir || '.' }} ] || mkdir ${{ matrix.build-dir || '.' }} |
|
cd ${{ matrix.build-dir || '.' }} |
|
${{ matrix.src-dir || '.' }}/configure ${{ matrix.configure-args }} |
|
env: |
|
CC: ${{ matrix.compiler }} |
|
CFLAGS: ${{ matrix.cflags }} -Werror |
|
LDFLAGS: ${{ matrix.ldflags }} |
|
CHOST: ${{ matrix.chost }} |
|
|
|
- name: Compile source code |
|
run: make -j2 |
|
working-directory: ${{ matrix.build-dir }} |
|
|
|
- name: Run test cases |
|
run: | |
|
make test |
|
make cover |
|
working-directory: ${{ matrix.build-dir }} |
|
env: |
|
QEMU_RUN: ${{ matrix.qemu-run }} |
|
|
|
- name: Upload build errors |
|
uses: actions/upload-artifact@v4 |
|
if: failure() |
|
with: |
|
name: ${{ matrix.name }} (configure) |
|
path: | |
|
${{ matrix.build-dir || '.' }}/configure.log |
|
retention-days: 7
|
|
|