|
|
|
name: Build
|
|
|
|
|
|
|
|
on: [push, pull_request]
|
|
|
|
|
|
|
|
env:
|
|
|
|
LC_ALL: C
|
|
|
|
KALEIDOSCOPE_CCACHE: 1
|
|
|
|
ARDUINO_DIRECTORIES_USER: ${{ github.workspace }}/.arduino/user
|
|
|
|
CLANG_FORMAT_CMD: clang-format-12
|
|
|
|
jobs:
|
|
|
|
smoke-sketches:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
|
|
|
## We delete the Bundle's version of Kaleidoscope, and symlink ourselves in.
|
|
|
|
## This makes sure we're using the current version of the library.
|
|
|
|
- run: sudo apt-get install ccache
|
|
|
|
- run: make setup
|
|
|
|
- run: make -j $(nproc) smoke-sketches
|
|
|
|
run-google-tests:
|
|
|
|
runs-on: ubuntu-20.04
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
# - uses: mxschmitt/action-tmate@v3
|
|
|
|
- run: sudo apt-get install ccache
|
|
|
|
- run: make setup
|
|
|
|
- run: make -j $(nproc) simulator-tests
|
|
|
|
check-formatting:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- run: make check-formatting
|
|
|
|
check-shellcheck:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- run: make shellcheck
|
|
|
|
check-cpplint:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- run: make cpplint
|
|
|
|
find-filename-conflicts:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- run: make find-filename-conflicts
|
|
|
|
publish-arduino-package-on-every-commit:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
if: github.ref == 'refs/heads/master'
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- uses: webfactory/ssh-agent@v0.4.1
|
|
|
|
with:
|
|
|
|
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY_DEPLOY }}
|
|
|
|
- run: git config --global user.email "nobody@keyboard.io"
|
|
|
|
- run: git config --global user.name "Automated release publisher"
|
|
|
|
- run: make setup
|
|
|
|
- run: make build-arduino-nightly-package
|