232 integrate bmi323 library #186
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Workflow requires Variables to be defined as follows: | ||
# secrets.PUSH_TOKEN -> Password with rights to push to repository | ||
name: "Tests" | ||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
branches: | ||
- 'main' | ||
jobs: | ||
lint-commits: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ github.head_ref }} | ||
persist-credentials: false | ||
fetch-depth: 0 | ||
- name: Lint Commits | ||
uses: wagoid/commitlint-github-action@v6 | ||
with: | ||
failOnWarnings: true | ||
failOnErrors: true | ||
clang-format: | ||
runs-on: ubuntu-latest | ||
needs: | ||
- lint-commits | ||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ github.head_ref }} | ||
token: ${{ secrets.PUSH_TOKEN }} | ||
- name: Install LLVM and Clang | ||
uses: KyleMayes/install-llvm-action@v1 | ||
with: | ||
version: "17" | ||
directory: ${{ runner.temp }}/llvm | ||
- name: Get C Files | ||
run: | | ||
echo SRC=$(git ls-tree --full-tree -r HEAD | grep -e "\.\(c\|h\)\$" | cut -f 2 | grep -v ^extern) >> $GITHUB_ENV | ||
- name: Apply clang-format to Files | ||
run: | | ||
clang-format --style=file --fallback-style=llvm -i $SRC | ||
- name: Commit Changes | ||
id: auto-commit | ||
uses: stefanzweifel/git-auto-commit-action@v4 | ||
with: | ||
commit_message: "style(all): apply clang-format to '${{ github.head_ref }}'" | ||
commit_user_name: github-actions | ||
commit_user_email: [email protected] | ||
commit_author: github-actions <[email protected]> | ||
- name: Check For Updated Files | ||
id: check further execution | ||
Check failure on line 58 in .github/workflows/run_checks.yml
|
||
if: steps.auto-commit.outputs.changes_detected =='true' | ||
run: | | ||
echo "Updates detected. Abort Workflow execution!" | | ||
exit 1 | ||
unit-tests: | ||
runs-on: ubuntu-latest | ||
needs: | ||
- clang-format | ||
strategy: | ||
matrix: | ||
config: [1, 2] | ||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ github.head_ref }} | ||
- name: Fetch Git Submodules | ||
run: | | ||
git submodule update --init --recursive | ||
- name: Install Environment | ||
run: | | ||
sudo apt update | ||
sudo apt install -y ninja-build | ||
- name: Setup CMake | ||
run: | | ||
cmake -B build/unit-tests -D UNIT_TEST:BOOL=ON -D CMAKE_BUILD_TYPE=DEBUG -D REVISION=${{ matrix.config }} -G Ninja . | ||
- name: Build Targets | ||
run: | | ||
cmake --build build/unit-tests -j 4 | ||
- name: Run Unit-Tests | ||
run: ctest --test-dir build/unit-tests/test/unit --output-on-failure | ||
build_all_targets: | ||
runs-on: ubuntu-latest | ||
needs: | ||
- unit-tests | ||
strategy: | ||
matrix: | ||
config: [1, 2] | ||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ github.head_ref }} | ||
- name: Setup Environment | ||
run: | | ||
sudo apt update && sudo apt install -y ninja-build gcc-arm-none-eabi graphviz | ||
- name: Setup CMake | ||
run: | | ||
cmake -B build -D CMAKE_BUILD_TYPE=RELEASE -D REVISION=${{ matrix.config }} -G Ninja . | ||
- name: Build Targets | ||
run: | | ||
cmake --build build |