You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.0 KiB
67 lines
2.0 KiB
name: Build
|
|
|
|
on: [push, pull_request]
|
|
|
|
env:
|
|
LC_ALL: C
|
|
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
|
|
- name: Cache arduino dep downloads
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ${{ github.workspace}}/.arduino/downloads
|
|
key: ${{ runner.os }}-arduino-downloads
|
|
- run: make setup
|
|
- run: KALEIDOSCOPE_TEMP_PATH=${{ github.workspace}}/.kaleidoscope-temp make -j $(nproc) smoke-sketches
|
|
run-google-tests:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Cache arduino dep downloads
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ${{ github.workspace}}/.arduino/downloads
|
|
key: ${{ runner.os }}-arduino-downloads
|
|
- run: sudo apt update
|
|
- name: ccache
|
|
uses: hendrikmuhs/ccache-action@v1.2
|
|
- run: make setup
|
|
- run: KALEIDOSCOPE_CCACHE=1 make -j $(nproc) --output-sync=recurse simulator-tests
|
|
check-code-style:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- run: make check-code-style
|
|
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
|