Skip to content

Commit

Permalink
[Test] multiple config CI build
Browse files Browse the repository at this point in the history
  • Loading branch information
duckdoom5 committed Jan 22, 2025
1 parent 979d90b commit 5ca2969
Showing 1 changed file with 38 additions and 20 deletions.
58 changes: 38 additions & 20 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,41 @@ name: CI

on: [push, pull_request]

# Cancel any previous workflows if the pull request was updated
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true

jobs:
build:
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
strategy:
fail-fast: false
matrix:
config:
- { os: ubuntu-22.04, platform: x64, cxx: g++-11, cc: gcc-11 }
- { os: macos-12, platform: x64, cxx: clang++, cc: clang }
- { os: windows-2022, platform: x64, vs: "Program Files/Microsoft Visual Studio/2022" }

runs-on: ${{ matrix.config.os }}
os: [ubuntu-22.04, macos-12, windows-2022]
platform: [x64]
build-cfg: [DebugOpt, Release]
#build-cfg: [Debug, DebugOpt, Release] # our local copy of clang isn't build for debug on linux/macos currently
include:
- os: ubuntu-22.04
cxx: g++-11
cc: gcc-11
- os: macos-12
cxx: clang++
cc: clang
- os: windows-2022
build-cfg: Debug
- os: windows-2022
vs: "Program Files/Microsoft Visual Studio/2022"

runs-on: ${{ matrix.os }}

env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
VS_VERSION: ${{ matrix.config.vs }}
PLATFORM: ${{ matrix.config.platform }}
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
VS_VERSION: ${{ matrix.vs }}
PLATFORM: ${{ matrix.platform }}
BUILD_CONFIGURATION: ${{ matrix.build-cfg }}
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
EMSCRIPTEN_VERSION: 3.1.65
Expand All @@ -41,35 +58,35 @@ jobs:
cmake-version: '3.30.x'

- name: Install nbgv
if: startsWith(matrix.config.os, 'macos')
if: startsWith(matrix.os, 'macos')
run: |
dotnet tool install -g nbgv
- name: Set version
run: nbgv cloud --all-vars

- name: Environment
if: matrix.config.vs
if: matrix.vs
shell: bash
run: echo "/c/$VS_VERSION/Enterprise/MSBuild/Current/Bin" >> $GITHUB_PATH

- name: Setup
shell: bash
run: |
build/build.sh generate -platform $PLATFORM
build/build.sh download_llvm -platform $PLATFORM
build/build.sh generate -platform $PLATFORM -configuration $BUILD_CONFIGURATION
build/build.sh download_llvm -platform $PLATFORM -configuration $BUILD_CONFIGURATION
- name: Restore
shell: bash
run: build/build.sh restore -platform $PLATFORM
run: build/build.sh restore -platform $PLATFORM -configuration $BUILD_CONFIGURATION

- name: Build
shell: bash
run: build/build.sh -platform $PLATFORM -build_only
run: build/build.sh -platform $PLATFORM -build_only -configuration $BUILD_CONFIGURATION

- name: Test (.NET)
shell: bash
run: build/test.sh -platform $PLATFORM
run: build/test.sh -platform $PLATFORM -configuration $BUILD_CONFIGURATION

- name: Build (QuickJS runtime)
shell: bash
Expand All @@ -88,7 +105,7 @@ jobs:

- name: Pack
shell: bash
run: build/build.sh prepack -platform $PLATFORM
run: build/build.sh prepack -platform $PLATFORM -configuration $BUILD_CONFIGURATION

- uses: actions/upload-artifact@v3
with:
Expand All @@ -107,6 +124,7 @@ jobs:
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
BUILD_CONFIGURATION: Release

steps:
- uses: actions/checkout@v4
Expand All @@ -122,11 +140,11 @@ jobs:

- name: Setup
shell: bash
run: build/build.sh generate_config
run: build/build.sh generate_config -configuration $BUILD_CONFIGURATION

- name: Create package
shell: bash
run: build/build.sh pack
run: build/build.sh pack -configuration $BUILD_CONFIGURATION

- name: Upload package
uses: actions/upload-artifact@v3
Expand Down

0 comments on commit 5ca2969

Please sign in to comment.