CI: update #1227
This file contains hidden or 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
| name: CI | |
| on: [push, pull_request] | |
| permissions: {} | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| whitespace-errors: | |
| name: Check for whitespace errors | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - name: check | |
| run: git diff-index --check --cached b1b622f691d40196815939e4736a5da71befd206 | |
| build-check: | |
| runs-on: ${{ matrix.runs_on }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # ASAN variants (gcc, x86_64) | |
| - { cc: gcc, runs_on: ubuntu-22.04, target: x86_64, variant: asan } | |
| - { cc: gcc, runs_on: ubuntu-22.04, target: x86_64, variant: asan-disable-all } | |
| - { cc: gcc, runs_on: ubuntu-22.04, target: x86_64, variant: asan-disable-openmp } | |
| - { cc: gcc, runs_on: ubuntu-22.04, target: x86_64, variant: asan-without-openssl } | |
| - { cc: gcc, runs_on: ubuntu-latest, target: x86_64, variant: asan-disable-simd } | |
| - { cc: gcc, runs_on: ubuntu-latest, target: x86_64, variant: asan-sse2 } | |
| - { cc: gcc, runs_on: ubuntu-latest, target: x86_64, variant: asan-avx } | |
| - { cc: gcc, runs_on: ubuntu-latest, target: x86_64, variant: asan-avx2 } | |
| # GCC 9–14 (ubuntu-latest) | |
| - { cc: gcc-14, runs_on: ubuntu-latest, target: x86_64, variant: base } | |
| - { cc: gcc-14, runs_on: ubuntu-latest, target: x86, variant: without-openssl } | |
| - { cc: gcc-14, runs_on: ubuntu-latest, target: x86, variant: disable-all } | |
| - { cc: gcc-13, runs_on: ubuntu-latest, target: x86_64, variant: base } | |
| - { cc: gcc-12, runs_on: ubuntu-latest, target: x86_64, variant: base } | |
| - { cc: gcc-11, runs_on: ubuntu-latest, target: x86_64, variant: base } | |
| - { cc: gcc-10, runs_on: ubuntu-latest, target: x86_64, variant: base } | |
| - { cc: gcc-9, runs_on: ubuntu-latest, target: x86_64, variant: base } | |
| # Clang 14–19 (ubuntu-latest) | |
| - { cc: clang-19, runs_on: ubuntu-latest, target: x86_64, variant: base } | |
| - { cc: clang-18, runs_on: ubuntu-latest, target: x86_64, variant: base } | |
| - { cc: clang-17, runs_on: ubuntu-latest, target: x86_64, variant: base } | |
| - { cc: clang-16, runs_on: ubuntu-latest, target: x86_64, variant: base } | |
| - { cc: clang-15, runs_on: ubuntu-latest, target: x86_64, variant: base } | |
| - { cc: clang-14, runs_on: ubuntu-latest, target: x86_64, variant: base } | |
| # Clang 11–13 (ubuntu-22.04) | |
| - { cc: clang-13, runs_on: ubuntu-22.04, target: x86_64, variant: base } | |
| - { cc: clang-12, runs_on: ubuntu-22.04, target: x86_64, variant: base } | |
| - { cc: clang-11, runs_on: ubuntu-22.04, target: x86_64, variant: base } | |
| name: Build ${{ matrix.cc }}-${{ matrix.target }}-${{ matrix.variant }} | |
| env: | |
| CC: ${{ matrix.cc }} | |
| TARGET: ${{ matrix.target }} | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Set build arguments | |
| env: | |
| VARIANT: ${{ matrix.variant }} | |
| run: | | |
| case "$VARIANT" in | |
| base) BUILD_ARGS="" ;; | |
| without-openssl) BUILD_ARGS="--without-openssl" ;; | |
| disable-all) BUILD_ARGS="--disable-openmp --disable-simd --without-openssl" ;; | |
| asan) BUILD_ARGS="--enable-fuzz --enable-asan" ;; | |
| asan-disable-all) BUILD_ARGS="--enable-asan --disable-openmp --disable-simd --without-openssl" ;; | |
| asan-disable-openmp) BUILD_ARGS="--enable-asan --disable-openmp" ;; | |
| asan-without-openssl) BUILD_ARGS="--enable-asan --without-openssl" ;; | |
| asan-disable-simd) BUILD_ARGS="--enable-asan --disable-simd" ;; | |
| asan-sse2) BUILD_ARGS="--enable-asan --enable-simd=sse2" ;; | |
| asan-avx) BUILD_ARGS="--enable-asan --enable-simd=avx" ;; | |
| asan-avx2) BUILD_ARGS="--enable-asan --enable-simd=avx2" ;; | |
| *) echo "Unknown variant: $VARIANT"; exit 1 ;; | |
| esac | |
| echo "BUILD_ARGS=$BUILD_ARGS" >> "$GITHUB_ENV" | |
| - name: install dependencies | |
| run: .ci/install-dependencies.sh | |
| - name: build check | |
| run: .ci/run-build-and-tests.sh $BUILD_ARGS |