Skip to content

Update lint_master.yml #8670

Update lint_master.yml

Update lint_master.yml #8670

Workflow file for this run

# This workflow builds & runs test cases in iceoryx
name: Build & Test
# Triggers the workflow on push or pull request events but only for the master branch
on:
push:
branches: [ master ]
pull_request:
branches: [ master, release*, integration* ]
jobs:
pre-flight-check:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- run: ./tools/scripts/clang_format.sh check
build-test-ubuntu:
runs-on: ubuntu-20.04
needs: pre-flight-check
steps:
- uses: actions/checkout@v4
- uses: egor-tensin/[email protected]
with:
version: 9
platform: x64
- uses: jwlawson/[email protected]
with:
cmake-version: '3.16.3' # version used in Ubuntu 20.04 LTS
- run: ./tools/ci/build-test-ubuntu.sh
# uses ubuntu to run freebsd in a virtualbox
build-test-unix-with-freebsd:
# prevent stuck jobs consuming runners for 6 hours
timeout-minutes: 60
needs: pre-flight-check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Unix (FreeBSD) test
id: Test
uses: vmactions/freebsd-vm@v1
with:
release: "13.2"
copyback: false
prepare: pkg install -y cmake git ncurses bash wget bison
run: |
git config --global --add safe.directory /home/runner/work/iceoryx/iceoryx
./tools/ci/build-test-freebsd.sh
build-test-windows:
runs-on: windows-2019
needs: pre-flight-check
steps:
- uses: actions/checkout@v4
- run: ./tools/ci/build-test-windows.ps1
shell: powershell
run-integration-test:
runs-on: ubuntu-22.04
needs: pre-flight-check
steps:
- name: Setup ROS
uses: ros-tooling/[email protected]
with:
required-ros-distributions: humble
- uses: actions/checkout@v4
- run: ./tools/ci/run-integration-test.sh
build-test-ubuntu-with-sanitizers-gcc-latest:
runs-on: ubuntu-20.04
needs: pre-flight-check
steps:
- uses: egor-tensin/[email protected]
with:
version: 11
platform: x64
- uses: actions/checkout@v4
- run: ./tools/ci/build-test-ubuntu-with-sanitizers.sh gcc
build-test-ubuntu-with-sanitizers-clang-latest:
runs-on: ubuntu-20.04
needs: pre-flight-check
steps:
- uses: egor-tensin/setup-clang@v1
with:
version: 13
platform: x64
- uses: actions/checkout@v4
- run: ./tools/ci/build-test-ubuntu-with-sanitizers.sh clang
build-test-macos-with-sanitizers:
runs-on: macos-latest
# prevent stuck jobs consuming macos runners for 6 hours
timeout-minutes: 60
needs: pre-flight-check
steps:
- uses: actions/checkout@v4
- run: ./tools/ci/build-test-macos-with-sanitizers.sh
coverage-and-docs:
runs-on: ubuntu-20.04
needs: pre-flight-check
steps:
- uses: actions/checkout@v4
- run: ./tools/ci/coverage-and-docs.sh
- name: Archive generated doxygen
uses: actions/upload-artifact@v4
with:
name: iceoryx-pdf
path: |
./build/doc/*.pdf
retention-days: 30
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
file: ./lcov_results/unittest/lcov/iceoryx_lcov_result_unit.info
name: iceoryx
flags: unittests
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
file: ./lcov_results/unittest_timing/lcov/iceoryx_lcov_result_unit-timing.info
name: iceoryx
flags: unittests_timing
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}