Skip to content

chore: Version bump v0.6.1282(patch++) #1856

chore: Version bump v0.6.1282(patch++)

chore: Version bump v0.6.1282(patch++) #1856

Workflow file for this run

name: CI Tests
on:
push:
branches:
- main
- develop
pull_request:
branches:
- '**'
jobs:
check-commit-msg:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Validate PR commits
if: github.event_name == 'pull_request'
run: bash ./utilities/ci/test-commit-msg.sh ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }}
check-format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Restore clang-tools
id: cache-clang-tools
uses: actions/cache@v3
with:
path: clang-tools
key: clang-tools
- name: Check formatting
env:
CACHED: ${{ steps.cache-clang-tools.outputs.cache-hit }}
SHA_BASE: ${{ github.event.pull_request.base.sha }}
run: |
if [ ! "${CACHED}" = "true" ]; then
bash ./utilities/ci/setup-clang-tools.sh;
fi
PATH="$PATH:$(pwd)/clang-tools"
# Check event type here so ci chaching can take effect
if [ ${{ github.event_name }} = 'pull_request' ]; then
bash ./utilities/ci/format-checker.sh ${SHA_BASE}
fi
static-checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Restore clang-tools
id: cache-clang-tools
uses: actions/cache@v3
with:
path: clang-tools
key: clang-tools
- name: Check formatting
env:
CACHED: ${{ steps.cache-clang-tools.outputs.cache-hit }}
SHA_BASE: ${{ github.event.pull_request.base.sha }}
run: |
if [ ! "${CACHED}" = "true" ]; then
bash ./utilities/ci/setup-clang-tools.sh;
fi
PATH="$PATH:$(pwd)/clang-tools"
# Check event type here so ci chaching can take effect
if [ ${{ github.event_name }} = 'pull_request' ]; then
bash ./utilities/ci/static-analyzer.sh ${SHA_BASE}
fi
- name: Upload result
uses: actions/upload-artifact@v3
with:
name: clang-tidy-result
path: anaylysis.results
build-firmwares:
needs: check-format
strategy:
fail-fast: false
matrix:
firmware: [main]
target: [release, dev]
platform: [device, simulator]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Restore build-tools
id: cache-build-tools
uses: actions/cache@v3
with:
path: build-tools
key: build-tools
- name: Restore arm-gcc
if: matrix.platform == 'device'
id: cache-arm-gcc
uses: actions/cache@v3
with:
path: arm-gcc
key: arm-gcc
- name: Restore proto-tools
id: cache-proto-tools
uses: actions/cache@v3
with:
path: proto-tools
key: proto-tools
- name: Install target dependencies
if: matrix.platform == 'device'
env:
CACHED: ${{ steps.cache-arm-gcc.outputs.cache-hit }}
PROTO_CACHED: ${{ steps.cache-proto-tools.outputs.cache-hit }}
run: |
if [ ! "${CACHED}" = "true" ]; then
bash ./utilities/ci/setup-arm-gcc.sh;
fi
if [ ! "${PROTO_CACHED}" = "true" ]; then
bash ./utilities/ci/setup-protoc.sh;
fi
pip install -r utilities/script/requirements.txt
- name: Install simulator dependencies
if: matrix.platform == 'simulator'
run: sudo apt update && sudo apt install libsdl2-dev --no-install-recommends -y
- name: Build binaries
env:
CACHED: ${{ steps.cache-build-tools.outputs.cache-hit }}
run: |
if [ ! "${CACHED}" = "true" ]; then
bash ./utilities/ci/setup-build-tools.sh;
fi
pip install -r vendor/nanopb/extra/requirements.txt
PATH="$PATH:$(pwd)/build-tools:$(pwd)/arm-gcc/bin:$(pwd)/proto-tools/bin"
./utilities/build.sh -u -f ${{ matrix.firmware }} -t ${{ matrix.target }} -p ${{ matrix.platform }}
run-unit-tests:
needs: check-format
if: github.event_name == 'pull_request'
strategy:
fail-fast: false
matrix:
firmware: [main]
target: [release]
platform: [simulator]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Restore build-tools
id: cache-build-tools
uses: actions/cache@v3
with:
path: build-tools
key: build-tools
- name: Install simulator dependencies
run: sudo apt update && sudo apt install libsdl2-dev --no-install-recommends -y
- name: Run tests
env:
CACHED: ${{ steps.cache-build-tools.outputs.cache-hit }}
run: |
if [ ! "${CACHED}" = "true" ]; then
bash ./utilities/ci/setup-build-tools.sh;
fi
PATH="$PATH:$(pwd)/build-tools"
pip install -r vendor/nanopb/extra/requirements.txt
# Ignore any non-zero exits from simulator run using '|| true'
bash ./utilities/run_unit_tests.sh -f ${{ matrix.firmware }} -p ${{ matrix.platform }} > test_results.txt || true
cat test_results.txt
# Unity prints "OK" if all tests pass, "FAIL" if tests fail; return 1 to indicate failure
if [ ! "$(tail -n 1 test_results.txt)" = "OK" ]; then exit 1; fi