New build system #1
@@ -17,27 +17,6 @@ env:
|
||||
EXAMPLE_DIR: example/c-sum-v2
|
||||
|
||||
jobs:
|
||||
discover:
|
||||
name: Discover builds
|
||||
runs-on: Linux-Runner
|
||||
timeout-minutes: 5
|
||||
outputs:
|
||||
builds: ${{ steps.list.outputs.builds }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: '1.22'
|
||||
|
||||
- name: List builds from .jdg
|
||||
id: list
|
||||
shell: bash
|
||||
run: |
|
||||
builds=$(go run ./cmd/cli --list-builds "$EXAMPLE_DIR/$SUITE_FILE")
|
||||
echo "discovered: $builds"
|
||||
echo "builds=$builds" >> "$GITHUB_OUTPUT"
|
||||
|
||||
build_judge:
|
||||
name: Build judge
|
||||
runs-on: Linux-Runner
|
||||
@@ -65,20 +44,24 @@ jobs:
|
||||
retention-days: 1
|
||||
|
||||
test:
|
||||
needs: [discover, build_judge]
|
||||
needs: build_judge
|
||||
name: "${{ matrix.build }} / ${{ matrix.toolchain }} / ${{ matrix.platform }}"
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
build: ${{ fromJSON(needs.discover.outputs.builds) }}
|
||||
toolchain: [gcc, clang, msvc]
|
||||
platform: [linux, windows]
|
||||
exclude:
|
||||
- toolchain: gcc
|
||||
platform: windows
|
||||
- toolchain: msvc
|
||||
platform: linux
|
||||
include:
|
||||
- { build: release, toolchain: gcc, platform: linux }
|
||||
- { build: release, toolchain: clang, platform: linux }
|
||||
- { build: release, toolchain: clang, platform: windows }
|
||||
- { build: release, toolchain: msvc, platform: windows }
|
||||
- { build: debug, toolchain: gcc, platform: linux }
|
||||
- { build: debug, toolchain: clang, platform: linux }
|
||||
- { build: debug, toolchain: clang, platform: windows }
|
||||
- { build: debug, toolchain: msvc, platform: windows }
|
||||
- { build: sanitized, toolchain: gcc, platform: linux }
|
||||
- { build: sanitized, toolchain: clang, platform: linux }
|
||||
- { build: debug-valgrind, toolchain: gcc, platform: linux }
|
||||
|
||||
runs-on: ${{ matrix.platform == 'windows' && 'Windows-Runner' || 'Linux-Runner' }}
|
||||
timeout-minutes: 10
|
||||
|
||||
Reference in New Issue
Block a user