Skip to content

env fix

env fix #155

Workflow file for this run

name: Build and test
on:
workflow_dispatch:
push:
branches: ["main", "restructure-ci"]
pull_request:
# The branches below must be a subset of the branches above
branches: ["main"]
# See https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
ci:
name: ${{ matrix.config }} on ${{ matrix.os }}
strategy:
matrix:
include:
# Release builds
- os: macos-14
config: "release"
working_directory: "."
build_flags: ""
test_flags: ""
- os: ubuntu-22.04
config: "release"
working_directory: "."
build_flags: ""
test_flags: ""
- os: windows-2022
config: "release"
build_flags: "/p:Platform=x64"
test_flags: "--platform=x64"
- os: windows-2022
config: "release"
build_flags: "/p:Platform=Win32"
test_flags: "--platform=Win32"
# Debug builds
- os: macos-14
config: "debug"
working_directory: "."
build_flags: "OPTIMIZE=no"
test_flags: "--swift-config=Debug"
- os: ubuntu-22.04
config: "debug"
working_directory: "."
build_flags: "OPTIMIZE=no"
test_flags: ""
- os: windows-2022
config: "debug"
build_flags: "/p:Platform=x64 /p:Configuration=Debug /p:PythonPath=C:\\Python312"
test_flags: "--platform=x64 --config=Debug --python=C:\\Python312\\python.exe"
# Xcode SDK builds
# TODO - Should we also test the debug config here as well?
- os: macos-14
config: "xcodesdk"
working_directory: "cpp"
build_flags: "CONFIGS='xcodesdk' PLATFORMS=iphonesimulator"
test_flags: "--config=xcodesdk --platform=iphonesimulator --controller-app"
# MATLAB
- os: ubuntu-22.04
config: "matlab"
working_directory: "matlab"
build_flags: ""
test_flags: ""
- os: windows-2022
config: "matlab"
working_directory: "matlab"
build_flags: "/p:Platform=x64"
msbuild_project: "msbuild/ice.proj"
test_flags: "--platform=x64"
# Cross tests
- os: ubuntu-22.04
config: "cross"
working_directory: "."
build_flags: ""
test_flags: "--all-cross"
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Dependencies
uses: ./.github/actions/setup-dependencies
- name: Build ${{ matrix.config }} on ${{ matrix.os }}
uses: ./.github/actions/build
timeout-minutes: 90
with:
working_directory: ${{ matrix.working_directory }}
flags: ${{ matrix.build_flags }}
msbuild_project: ${{ matrix.msbuild_project }}
- name: Test ${{ matrix.config }} on ${{ matrix.os }}
uses: ./.github/actions/test
timeout-minutes: 90
with:
working_directory: ${{ matrix.working_directory }}
# See:
# - https://github.com/zeroc-ice/ice/issues/1653 IceGrid/replication
# - https://github.com/zeroc-ice/ice/issues/1945 matlab/Ice/slicing
flags: "--rfilter=IceGrid/replication --rfilter=matlab/Ice/slicing ${{ matrix.test_flags }}"