Skip to content

add a debug nvhpc build to the test matrix (#1051) #6

add a debug nvhpc build to the test matrix (#1051)

add a debug nvhpc build to the test matrix (#1051) #6

Workflow file for this run

name: CI (CPU)
on:
pull_request:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-on-${{ github.event_name }}-from-${{ github.ref_name }}
cancel-in-progress: true
jobs:
build-cpu:
runs-on: ubuntu-latest
name: ${{ matrix.name }}
strategy:
fail-fast: false
matrix:
include:
- { compiler: clang, version: "12", build: "Debug", os: ubuntu20.04, name: "CPU (clang 12, Debug, ubuntu 20.04)", cxxflags: "-stdlib=libc++" }
- { compiler: clang, version: "12", build: "Release", os: ubuntu20.04, name: "CPU (clang 12, Release, ubuntu 20.04)", cxxflags: "-stdlib=libc++" }
- { compiler: gcc, version: "11", build: "Debug", os: ubuntu20.04, name: "CPU (gcc 11, Debug, ubuntu 20.04)", cxxflags: "", }
- { compiler: gcc, version: "11", build: "Release", os: ubuntu20.04, name: "CPU (gcc 11, Release, ubuntu 20.04)", cxxflags: "", }
- { compiler: gcc, version: "11", build: "Release", os: ubuntu22.04, name: "CPU (gcc 11, Release, ubuntu 22.04, TSAN)", cxxflags: "-fsanitize=thread" }
- { compiler: gcc, version: "11", build: "Release", os: ubuntu22.04, name: "CPU (gcc 11, Release, ubuntu 22.04, ASAN)", cxxflags: "-fsanitize=address" }
container:
options: --entrypoint /bin/bash
image: ghcr.io/trxcllnt/action-cxx-toolkit:${{ matrix.compiler }}${{ matrix.version }}-${{ matrix.os }}
steps:
- name: Checkout stdexec
uses: actions/checkout@v3
with:
persist-credentials: false
- name: Build and test CPU schedulers
run: exec /usr/local/bin/entrypoint.py
shell: bash --noprofile --norc -eo pipefail {0}
env:
INPUT_CHECKS: "build test"
INPUT_CXXFLAGS: "${{ matrix.cxxflags }}"
INPUT_CMAKEFLAGS: "-DSTDEXEC_ENABLE_TBB:BOOL=${{ !contains(matrix.cxxflags, '-fsanitize') }} -DCMAKE_BUILD_TYPE:STRING=${{ matrix.build }}"
INPUT_CC: "${{ matrix.compiler }}-${{ matrix.version }}"
INPUT_PREBUILD_COMMAND: |
apt update && apt install -y --no-install-recommends git libtbb-dev;
ci-cpu:
runs-on: ubuntu-latest
name: CI (CPU)
needs:
- build-cpu
steps:
- run: echo "CI (CPU) success"
build-cpu-windows:
runs-on: windows-latest
name: ${{ matrix.name }}
strategy:
fail-fast: false
matrix:
include:
- { compiler: "cl", build: "Debug", name: "CPU (Windows) (msvc, Debug)" }
- { compiler: "cl", build: "Release", name: "CPU (Windows) (msvc, Release)" }
#- { compiler: "clang++", build: "Debug", name: "CPU (Windows) (clang, Debug)" }
#- { compiler: "clang++", build: "Release", name: "CPU (Windows) (clang, Release)" }
#- { compiler: "clang-cl", build: "Debug", name: "CPU (Windows) (clang-cl, Debug)" }
#- { compiler: "clang-cl", build: "Release", name: "CPU (Windows) (clang-cl, Release)" }
steps:
- name: Checkout stdexec (Windows)
uses: actions/checkout@v3
with:
persist-credentials: false
- name: Build and test CPU schedulers (Windows)
shell: pwsh
run: .github/workflows/test-windows.ps1 -Compiler '${{ matrix.compiler }}' -Config '${{ matrix.build }}'
ci-cpu-windows:
runs-on: windows-latest
name: CI (CPU) (Windows)
needs:
- build-cpu-windows
steps:
- run: echo "CI (CPU) (Windows) success"