| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- name: Compile
- on:
- - pull_request
- - push
- concurrency:
- group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
- cancel-in-progress: ${{ github.event_name == 'pull_request' }}
- permissions:
- actions: read
- packages: read
- contents: read
- jobs:
- compile:
- runs-on: ubuntu-latest
- timeout-minutes: 30
- strategy:
- fail-fast: false
- matrix:
- name:
- - GCC
- - GCC Strict
- - GCC Static Analyzer
- - Clang
- - Clang -Weverything
- include:
- - name: GCC
- image: quay.io/389ds/ci-images:fedora
- compiler: gcc
- cpp-compiler: g++
- cflags: "-O2 -g"
- - name: GCC strict
- image: quay.io/389ds/ci-images:fedora
- compiler: gcc
- cpp-compiler: g++
- cflags: "-O2 -g -Wall -Wextra -Wundef -Wpointer-arith -Wfloat-equal \
- -Wstrict-prototypes -Wstrict-overflow=5 -Wwrite-strings -Winit-self \
- -Wuninitialized -Wno-sign-compare -Wshadow -Wformat-security"
- - name: GCC Static Analyzer
- image: quay.io/389ds/ci-images:fedora
- compiler: gcc
- cpp-compiler: g++
- cflags: "-O2 -g -fanalyzer"
- - name: Clang
- image: quay.io/389ds/ci-images:fedora
- compiler: clang
- cpp-compiler: clang++
- cflags: "-O2 -g -Qunused-arguments"
- - name: Clang -Weverything
- image: quay.io/389ds/ci-images:fedora
- compiler: clang
- cpp-compiler: clang++
- cflags: "-O2 -g -Weverything -Qunused-arguments"
- container:
- image: ${{ matrix.image }}
- steps:
- - uses: actions/checkout@v6
- - name: Checkout and configure
- run: autoreconf -fvi && ./configure
- env:
- CC: ${{ matrix.compiler }}
- CXX: ${{ matrix.cpp-compiler }}
- CFLAGS: ${{ matrix.cflags || env.CFLAGS }}
- CXXFLAGS: ${{ matrix.cxxflags || env.CXXFLAGS }}
- LDFLAGS: ${{ matrix.ldflags || env.LDFLAGS }}
- - uses: ammaraskar/[email protected]
- - name: Build using ${{ matrix.compiler }}
- run: bash -c "(make V=0 2> >(tee /dev/stderr)) > log.txt"
- - uses: actions/upload-artifact@v7
- with:
- name: ${{ matrix.name }}
- path: log.txt
|