Skip to content

ci: add GHA builds for Base 3.15 and 3.14 #123

ci: add GHA builds for Base 3.15 and 3.14

ci: add GHA builds for Base 3.15 and 3.14 #123

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