name: Build on: push: - branches-ignore: - examples/factory-firmware 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: KALEIDOSCOPE_CODE_FORMATTER=clang-format-12 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