This repository has been archived by the owner on Jul 8, 2024. It is now read-only.
wpiformat #629
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
name: Lint and Format | |
on: [pull_request, push] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
wpiformat: | |
name: "wpiformat" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Fetch all history and metadata | |
run: | | |
git config --global --add safe.directory /__w/TrajoptLib/TrajoptLib | |
git fetch --prune --unshallow | |
git checkout -b pr | |
git branch -f main origin/main | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install wpiformat | |
run: pip3 install wpiformat | |
- name: Run | |
run: wpiformat | |
- 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@v3 | |
with: | |
name: wpiformat fixes | |
path: wpiformat-fixes.patch | |
if: ${{ failure() }} | |
- name: Write to job summary | |
run: | | |
echo '```diff' >> $GITHUB_STEP_SUMMARY | |
cat wpiformat-fixes.patch >> $GITHUB_STEP_SUMMARY | |
echo '' >> $GITHUB_STEP_SUMMARY | |
echo '```' >> $GITHUB_STEP_SUMMARY | |
if: ${{ failure() }} | |
tidy: | |
name: "clang-tidy" | |
runs-on: ubuntu-latest | |
container: wpilib/roborio-cross-ubuntu:2023-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Fetch all history and metadata | |
run: | | |
git config --global --add safe.directory /__w/TrajoptLib/TrajoptLib | |
git fetch --prune --unshallow | |
git checkout -b pr | |
git branch -f main origin/main | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install clang-tidy | |
run: | | |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - | |
sudo sh -c "echo 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-15 main' >> /etc/apt/sources.list.d/proposed-repositories.list" | |
sudo apt-get update -q | |
sudo apt-get install -y clang-tidy-15 | |
- name: Install wpiformat | |
run: pip3 install wpiformat | |
- name: Create compile_commands.json | |
run: cmake -B build -S . -DOPTIMIZER_BACKEND=sleipnir -DCMAKE_C_COMPILER:FILEPATH=/usr/bin/clang-15 -DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/clang++-15 -DCMAKE_EXPORT_COMPILE_COMMANDS=YES | |
- name: List changed files | |
run: wpiformat -list-changed-files | |
- name: Run clang-tidy | |
run: wpiformat -no-format -tidy-all -compile-commands=build -tidy-extra-args std=c++20 -vv | |
rustfmt: | |
name: "rustfmt" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Run rustfmt | |
working-directory: rust | |
run: cargo fmt |