Files
libmetal/.github/workflows/continuous-integration.yml
Bill Mills a4bce35075 CI: Do Zephyr build tests on known good and latest versions
Allow Zephyr testing to either use locked known good values
or the very latest versions.

The known good versions are best for PR checking as if the build fails
it is almost always the PR itself that broke it.

The latest version is good for periodically checking compatibility with
the very latest Zephyr changes.

For now we run both on pushes and PRs.

We also run main against the latest zephyr check weekly as a look ahead.

Signed-off-by: Bill Mills <bill.mills@linaro.org>
2024-09-20 14:15:58 +02:00

78 lines
1.8 KiB
YAML

# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) 2020 STMicroelectronics
name: libmetal Continuous Integration
on:
push:
branches: [ main ]
paths-ignore:
- docs/**
- cmake/**
- scripts/**
pull_request:
branches: [ main ]
paths-ignore:
- docs/**
- cmake/**
- scripts/**
jobs:
platform_builds:
name: check builds on different platforms
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: build for Linux
id: build_linux
uses: ./.github/actions/build_ci
with:
target: linux
- name: build for generic arm
id: build_generic
uses: ./.github/actions/build_ci
with:
target: generic
- name: build for FreeRTOS
id: build_freertos
uses: ./.github/actions/build_ci
with:
target: freertos
# Break the zephyr builds into their own job as the common runner was
# running out of space when runs were together
# Also, as the longest running jobs, this allows them to run in ||
zephyr_build_known_good_version:
name: Zephyr build with a version that is known to work
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: build for Zephyr (Known Good)
id: build_Zephyr
uses: ./.github/actions/build_ci
with:
target: zephyr
nr_tests:
name: nonreg tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: configure
run: |
sudo apt-get update && sudo apt-get install libsysfs-dev
cmake . -Bbuild
- name: build
run: |
cd build
make
- name: execute test
run: |
cd build
make test
- name: test logs
if: failure()
run: |
cat build/Testing/Temporary/LastTest.log
exit 1