name: ci-scripts build/test on: [push, pull_request] env: SETUP_PATH: .:.ci SET: test01 VV: 1 BASE_RECURSIVE: NO CMP: gcc APT: re2c CHOCO: re2c BREW: re2c jobs: unit-test: name: Unit tests on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-24.04, ubuntu-22.04, windows-2025, windows-2022, macos-15, macos-14] steps: - uses: actions/checkout@v4 - name: Show initial environment run: python3 cue-test.py env - name: Run unit tests run: python3 cue-test.py build-linux: name: B-${{ matrix.base }} ${{ matrix.cmp }} ${{ matrix.configuration }} @ ${{ matrix.os }} runs-on: ${{ matrix.os }} env: CMP: ${{ matrix.cmp }} BCFG: ${{ matrix.configuration }} BASE: ${{ matrix.base }} strategy: fail-fast: false matrix: os: [ubuntu-24.04, ubuntu-22.04] cmp: [gcc, clang] configuration: [default, static, debug, static-debug] base: ["7.0"] include: - os: ubuntu-24.04 cmp: gcc configuration: default base: "3.15" name: "B-3.15 Ub-24 gcc-13" - os: ubuntu-24.04 cmp: gcc configuration: static base: "3.15" name: "B-3.15 Ub-24 gcc-13, static" - os: ubuntu-24.04 cmp: gcc configuration: default base: "3.14" name: "B-3.14 Ub-24 gcc-13" - os: ubuntu-24.04 cmp: gcc configuration: static base: "3.14" name: "B-3.14 Ub-24 gcc-13, static" steps: - uses: actions/checkout@v4 - name: Prepare and compile dependencies run: python cue.py prepare - name: Build main module (example app) run: python cue.py build - name: Run main module tests run: python cue.py -T 15M test - name: Collect and show test results run: python cue.py test-results build-macos: name: B-${{ matrix.base }} ${{ matrix.cmp }} ${{ matrix.configuration }} @ ${{ matrix.os }} runs-on: ${{ matrix.os }} env: CMP: ${{ matrix.cmp }} BCFG: ${{ matrix.configuration }} BASE: ${{ matrix.base }} strategy: fail-fast: false matrix: os: [macos-15, macos-14] cmp: [clang] configuration: [default, debug] base: ["7.0"] include: - os: macos-15 cmp: clang configuration: default base: "3.15" name: "B-3.15 Mac-15" # Base 3.14 does not support MacOS-aarch64 # - os: macos-15 # cmp: clang # configuration: default # base: "3.14" # name: "B-3.14 Mac-15" steps: - uses: actions/checkout@v4 - name: Prepare and compile dependencies run: python cue.py prepare - name: Build main module (example app) run: python cue.py build - name: Run main module tests run: python cue.py -T 15M test - name: Collect and show test results run: python cue.py test-results build-windows: name: B-${{ matrix.base }} ${{ matrix.cmp }} ${{ matrix.configuration }} @ ${{ matrix.os }} runs-on: ${{ matrix.os }} env: CMP: ${{ matrix.cmp }} BCFG: ${{ matrix.configuration }} BASE: ${{ matrix.base }} strategy: fail-fast: false matrix: os: [windows-2025, windows-2022] cmp: [gcc, vs2022] configuration: [default, static, debug, static-debug] base: [ "7.0" ] include: - os: windows-2025 cmp: vs2022 configuration: static base: "3.15" name: "B-3.15 Win-25 MSC-22 static" - os: windows-2025 cmp: vs2022 configuration: static base: "3.14" name: "B-3.14 Win-25 MSC-22 static" steps: - uses: actions/checkout@v4 - name: Prepare and compile dependencies run: python cue.py prepare - name: Build main module (example app) run: python cue.py build - name: Run main module tests run: python cue.py -T 15M test - name: Collect and show test results run: python cue.py test-results build-cross: name: cross ${{ matrix.cross }} / ${{ matrix.cmp }} / ${{ matrix.configuration }} runs-on: ubuntu-latest env: CMP: gcc BCFG: default CI_CROSS_TARGETS: ${{ matrix.cross }} TEST: ${{ matrix.test }} APT: re2c strategy: fail-fast: false matrix: # configuration: [default, static, debug, static-debug] configuration: [default] cross: - linux-aarch64 - linux-arm@arm-linux-gnueabi - linux-arm@arm-linux-gnueabihf - linux-ppc - linux-ppc64 - win32-x86-mingw - windows-x64-mingw - RTEMS-pc386-qemu@4.9 - RTEMS-pc386-qemu@4.10 - RTEMS-pc686-qemu@5 include: - cross: RTEMS-pc386-qemu@4.10 test: NO steps: - uses: actions/checkout@v4 - name: Prepare and compile dependencies run: python cue.py prepare - name: Build main module (example app) run: python cue.py build - name: Run main module tests run: python cue.py -T 15M test - name: Collect and show test results run: python cue.py test-results