PlatformIO: check-in a cached copy of generated headers #544
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
# | |
# Copyright (c) 2020-2024 Siddharth Chandrasekaran <[email protected]> | |
# | |
# SPDX-License-Identifier: Apache-2.0 | |
# | |
name: Build CI | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
CmakeBuild: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: recursive | |
- name: Configure | |
run: cmake -DCMAKE_BUILD_TYPE=Debug . | |
- name: Build | |
run: cmake --build . --parallel 7 --target all --target cpp_cp_sample --target cpp_pd_sample | |
- name: Package | |
run: cmake --build . --target package --target package_source | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: libosdp-ubuntu-latest-binaries.zip | |
path: artifacts/ | |
MakeBuild: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: recursive | |
- name: configure | |
run: | | |
./configure.sh | |
- name: make | |
run: make V=1 | |
DocBuild: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: recursive | |
- name: Install dependencies | |
run: | | |
sudo apt update | |
sudo apt install -y doxygen | |
pip3 install -r doc/requirements.txt | |
- name: Configure | |
run: cmake -DCMAKE_BUILD_TYPE=Debug . | |
- name: Build docs | |
run: cmake --build . --parallel 7 --target html_docs | |
Test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: recursive | |
- name: Configure | |
run: cmake -DCMAKE_BUILD_TYPE=Debug . | |
- name: Run unit-tests | |
run: cmake --build . --parallel 7 --target check-ut | |
- name: Run pytest | |
run: tests/pytest/run.sh | |
CheckPatch: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: recursive | |
- name: ClangFormatCheck | |
run: | | |
./scripts/clang-format-check.sh | |
Python: | |
name: Python | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Install pypa/build | |
run: python3 -m pip install build --user | |
- name: Build a binary wheel and a source tarball | |
run: python3 -m build python | |
- name: Store the distribution packages | |
uses: actions/upload-artifact@v4 | |
with: | |
name: python-package-distributions | |
path: python/dist/ | |
PlatformIO: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
examples: | |
- examples/platformio/cp.ino | |
- examples/platformio/pd.ino | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cache/pip | |
~/.platformio/.cache | |
key: ${{ runner.os }}-pio | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Install PlatformIO Core | |
run: pip install --upgrade platformio | |
- name: Build PlatformIO examples | |
run: pio ci --verbose --lib . --board=megaatmega2560 ${{ matrix.examples }} |