# GitHub Actions workflow to run tests on Linux. name: "Linux" on: push: {} pull_request: {} schedule: - cron: "0 0 * * *" # At 00:00 daily. concurrency: group: "${{ github.workflow }}-${{ github.event.number || github.ref }}" cancel-in-progress: true jobs: # Test against all supported architectures. test: name: "${{ matrix.os }}/${{ matrix.arch }} (${{ matrix.compiler }})" runs-on: "${{ matrix.os }}" if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} permissions: contents: read strategy: fail-fast: false matrix: os: ["ubuntu-22.04", "ubuntu-24.04"] arch: ["native", "arm32", "arm64", "mingw32", "mingw64", "mips64"] compiler: ["gcc"] include: - os: "ubuntu-22.04" arch: "native" compiler: "clang" - os: "ubuntu-24.04" arch: "native" compiler: "clang" steps: - name: "Checkout repository" uses: actions/checkout@v4 - name: "Run tests" run: ./scripts/test env: ARCH: "${{ matrix.arch }}" CC: "${{ matrix.compiler }}" # Test ASAN with and without ASM enabled. test-asan: name: "ASAN (${{ matrix.asm == 'ON' && 'asm' || 'no-asm' }})" runs-on: "ubuntu-24.04" if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }} permissions: contents: read strategy: fail-fast: false matrix: asm: [ON, OFF] steps: - name: "Checkout repository" uses: actions/checkout@v4 - name: "Run tests" run: ./scripts/test env: ARCH: "native" CC: "clang" CFLAGS: "-ggdb -fsanitize=address" LDFLAGS: "-fsanitize=address" ENABLE_ASM: "${{ matrix.asm }}" CTEST_OUTPUT_ON_FAILURE: 1