mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
101 lines
3.4 KiB
YAML
101 lines
3.4 KiB
YAML
name: Lint and Format
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches-ignore:
|
|
- main
|
|
|
|
jobs:
|
|
wpiformat:
|
|
name: "wpiformat"
|
|
runs-on: ubuntu-latest
|
|
container: wpilib/roborio-cross-ubuntu:2022-20.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Fetch all history and metadata
|
|
run: |
|
|
git fetch --prune --unshallow
|
|
git checkout -b pr
|
|
git branch -f main origin/main
|
|
- name: Set up Python 3.8
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.8
|
|
- name: Install clang-format
|
|
run: |
|
|
sudo sh -c "echo 'deb http://archive.ubuntu.com/ubuntu/ $(lsb_release -cs)-proposed restricted main multiverse universe' >> /etc/apt/sources.list.d/proposed-repositories.list"
|
|
sudo apt-get update -q
|
|
sudo apt-get install -y clang-format-12
|
|
- name: Install wpiformat
|
|
run: pip3 install wpiformat
|
|
- name: Run
|
|
run: wpiformat -clang 12
|
|
- name: Check output
|
|
run: git --no-pager diff --exit-code HEAD
|
|
- name: Generate diff
|
|
run: git diff HEAD > wpiformat-fixes.patch
|
|
if: ${{ failure() }}
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: wpiformat fixes
|
|
path: wpiformat-fixes.patch
|
|
if: ${{ failure() }}
|
|
tidy:
|
|
name: "clang-tidy"
|
|
runs-on: ubuntu-latest
|
|
container: wpilib/roborio-cross-ubuntu:2022-20.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Fetch all history and metadata
|
|
run: |
|
|
git fetch --prune --unshallow
|
|
git checkout -b pr
|
|
git branch -f main origin/main
|
|
- name: Set up Python 3.8
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.8
|
|
- name: Install clang-tidy
|
|
run: |
|
|
sudo sh -c "echo 'deb http://archive.ubuntu.com/ubuntu/ $(lsb_release -cs)-proposed restricted main multiverse universe' >> /etc/apt/sources.list.d/proposed-repositories.list"
|
|
sudo apt-get update -q
|
|
sudo apt-get install -y clang-tidy-12 clang-format-12
|
|
- name: Install wpiformat
|
|
run: pip3 install wpiformat
|
|
- name: Create compile_commands.json
|
|
run: ./gradlew generateCompileCommands -Ptoolchain-optional-roboRio
|
|
- name: List changed files
|
|
run: wpiformat -list-changed-files
|
|
- name: Run clang-tidy
|
|
run: wpiformat -clang 12 -no-format -tidy-changed -compile-commands=build/compile_commands/linuxx86-64 -vv
|
|
javaformat:
|
|
name: "Java format"
|
|
runs-on: ubuntu-latest
|
|
container: wpilib/ubuntu-base:18.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Run Java format
|
|
run: ./gradlew javaFormat spotbugsMain spotbugsTest spotbugsDev
|
|
- name: Check output
|
|
run: git --no-pager diff --exit-code HEAD
|
|
- name: Generate diff
|
|
run: git diff HEAD > javaformat-fixes.patch
|
|
if: ${{ failure() }}
|
|
documentation:
|
|
name: "Documentation"
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-java@v1
|
|
with:
|
|
java-version: 13
|
|
- name: Install libclang-9
|
|
run: sudo apt update && sudo apt install -y libclang-cpp9 libclang1-9
|
|
- name: Build with Gradle
|
|
run: ./gradlew docs:zipDocs -PbuildServer -PdocWarningsAsErrors ${{ env.EXTRA_GRADLE_ARGS }}
|