Make Spotless use of clang-format optional and disabled by default for now #1725
Workflow file for this run
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
on: | |
pull_request: | |
branches: [ master ] | |
# When a PR is updated, cancel the jobs from the previous version. Merges | |
# do not define head_ref, so use run_id to never cancel those jobs. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
HOMEBREW_NO_INSTALL_CLEANUP: 1 | |
HOMEBREW_NO_ANALYTICS: 1 | |
jobs: | |
build: | |
strategy: | |
# Do not cancel other jobs on first failure. | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout Contiki-NG repo | |
uses: actions/checkout@v4 | |
with: | |
repository: contiki-ng/contiki-ng | |
path: contiki-ng | |
- uses: actions/checkout@v4 | |
with: | |
repository: contiki-ng/cooja | |
path: contiki-ng/tools/cooja | |
- name: Setup Java 21 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 21 | |
distribution: 'zulu' | |
- name: Verify gradle-wrapper checksum | |
uses: gradle/wrapper-validation-action@v1 | |
- name: install macOS software | |
if: matrix.os == 'macos-latest' | |
run: | | |
brew install make clang-format | |
# Prevent Gradle from picking up Java 8 on Github CI runner. | |
mkdir -p $HOME/.gradle | |
echo "org.gradle.java.home=$JAVA_HOME_17_X64" > $HOME/.gradle/gradle.properties | |
# Homebrew prefix is different for x86-64 and aarch64. | |
export HOMEBREW_PREFIX=/usr/local | |
# Put Homebrew installed make first in PATH so "make" is version 4.x. | |
echo "export PATH=$HOMEBREW_PREFIX/opt/make/libexec/gnubin:$PATH" >> ~/.profile | |
echo "export PATH=$HOMEBREW_PREFIX/opt/make/libexec/gnubin:$PATH" >> ~/.bashrc | |
# The build step includes :spotlessJavaBuild. | |
- name: Build Cooja and Documentation | |
uses: gradle/gradle-build-action@v2 | |
with: | |
gradle-version: 8.5 | |
cache-read-only: false | |
arguments: build -Perrorprone | |
build-root-directory: contiki-ng/tools/cooja | |
# The Jar is important for MSPSim in Contiki-NG. | |
- name: Build Jar | |
uses: gradle/gradle-build-action@v2 | |
with: | |
gradle-version: 8.5 | |
cache-read-only: false | |
arguments: jar | |
build-root-directory: contiki-ng/tools/cooja | |
- name: Test MSPSim | |
uses: gradle/gradle-build-action@v2 | |
with: | |
gradle-version: 8.5 | |
arguments: test | |
build-root-directory: contiki-ng/tools/cooja | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1.2.11 | |
with: | |
key: compilation-${{ runner.os }} | |
max-size: 160M | |
- name: Run Contiki-NG simulation tests | |
run: | | |
[ "$(uname)" = "Linux" ] || source ~/.bashrc | |
export COOJA_CI=true | |
cd contiki-ng/tests/07-simulation-base | |
# Skip MSP430 tests, no compiler installed. | |
rm ??-*sky*.csc ??-*z1*.csc | |
# Skip test that fails intermittently. | |
rm 21-cooja-rpl*.csc | |
source ../../tools/docker/files/bash_aliases | |
cimake |