Skip to content

Try to clean up some CI logic #758

Try to clean up some CI logic

Try to clean up some CI logic #758

Workflow file for this run

name: "Build"
on:
pull_request:
push:
jobs:
test:
strategy:
fail-fast: false
matrix:
include:
# Ubuntu
## Debug + clang-tidy + codecov
- os: ubuntu-24.04
build_type: Debug
sanitize: none
codecov: on
analysis: on
## Debug + sanitization
- os: ubuntu-24.04
build_type: Debug
sanitize: address
- os: ubuntu-24.04
build_type: Debug
sanitize: undefined
- os: ubuntu-24.04
build_type: Debug
sanitize: thread
## Release
- os: ubuntu-24.04
build_type: Release
runs-on: ${{ matrix.os }}
env:
CODECOV: ${{ matrix.codecov }}
ANALYSIS: ${{ matrix.analysis }}
SANITIZE: ${{ matrix.sanitize }}
ASAN_OPTIONS: detect_leaks=0
timeout-minutes: 240 # 4h
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Build and test
uses: ./.github/actions/build
id: build
with:
build_ubuntu_tarball: ${{ github.ref == 'refs/heads/main' && github.event_name != 'pull_request' && matrix.build_type == 'Release' }}
- name: Update Ubuntu tarball
if: success() && ${{ steps.build.inputs.build_ubuntu_tarball }}
uses: pyTooling/Actions/releaser@main
with:
tag: latest
rm: true
token: ${{ secrets.GITHUB_TOKEN }}
files: ${{ steps.build.outputs.release_archive }}