Skip to content

Continuous Integration #174

Continuous Integration

Continuous Integration #174

Workflow file for this run

name: "Continuous Integration"
on:
pull_request:
merge_group:
push:
branches:
- master
- 'releases/**'
schedule:
# Nightly build at 05:00 UTC (02:00 BRT).
- cron: '0 5 * * *'
workflow_dispatch:
workflow_call:
inputs:
ref:
description: "Commit SHA / ref to build (defaults to the triggering ref)"
type: string
required: false
default: ""
concurrency:
group: ${{ github.repository }}-${{ github.workflow }}
cancel-in-progress: false
jobs:
nix-build:
runs-on: ubuntu-latest
steps:
- uses: ossystems/nix-actions@v1
with:
ref: ${{ inputs.ref }}
install-nix: true
flake-check: false
build-hosts: false
build-devshells: false
build-attrs: matrix
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: ossystems/nix-actions@v1
with:
ref: ${{ inputs.ref }}
install-nix: true
flake-check: false
build-hosts: false
build-devshells: false
export-devshell: true
- name: Prepare Zephyr Project workspace
run: |
west config --global update.narrow true
west update
- name: Twister Tests
id: twister-tests
run: ./scripts/run-tests --clobber-output --inline-logs -v -N -M
- name: Merge Test Results
if: steps.twister-tests.conclusion == 'failure'
run: |
pip3 install junitparser junit2html
junitparser merge **/twister.xml junit.xml
junit2html junit.xml junit.html
- name: Upload Unit Test Results in HTML
if: steps.twister-tests.conclusion == 'failure'
uses: actions/upload-artifact@v7
with:
name: HTML Unit Test Results
if-no-files-found: ignore
path: |
junit.html
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
if: steps.twister-tests.conclusion == 'failure'
with:
check_name: Unit Test Results
github_token: ${{ secrets.GITHUB_TOKEN }}
files: "**/twister.xml"