Skip to content

Separate private joint OpenSSH CI #2

Separate private joint OpenSSH CI

Separate private joint OpenSSH CI #2

Workflow file for this run

name: CI
on:
push:
pull_request:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: cpp-ci-${{ github.ref }}
cancel-in-progress: true
jobs:
linux:
name: Ubuntu 24.04 / ${{ matrix.compiler }}
runs-on: ubuntu-24.04
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
compiler: [g++, clang++]
steps:
- name: Check out C++ verifier
uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5
with:
path: credbind-cpp
- name: Install system prerequisites
run: |
sudo apt-get update
sudo apt-get install --yes clang libssl-dev pkg-config
- name: Run strict deterministic and sanitizer gates
working-directory: credbind-cpp
env:
CXX: ${{ matrix.compiler }}
run: make check test-readme test-sanitize
- name: Run Clang fuzz smoke
if: matrix.compiler == 'clang++'
working-directory: credbind-cpp
env:
CXX: clang++
FUZZ_CXX: clang++
run: make test-fuzz-smoke
macos:
name: macOS 15 arm64 / Apple Clang
runs-on: macos-15
timeout-minutes: 45
steps:
- name: Check out C++ verifier
uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5
with:
path: credbind-cpp
- name: Select Homebrew OpenSSL 3
run: echo "PKG_CONFIG_PATH=$(brew --prefix openssl@3)/lib/pkgconfig" >> "$GITHUB_ENV"
- name: Run strict, sanitizer and fuzz gates
working-directory: credbind-cpp
run: make check test-readme test-sanitize test-fuzz-smoke