Skip to content

メイン電装のプログラムのテンプレート #20

メイン電装のプログラムのテンプレート

メイン電装のプログラムのテンプレート #20

Workflow file for this run

name: reviewdog
on:
pull_request:
jobs:
check-formatting:
runs-on: ubuntu-latest
env:
# See: https://github.com/arduino/arduino-ide/blob/main/arduino-ide-extension/package.json
CLANG_FORMAT_VERSION: 14.0.0
steps:
- name: Set environment variables
run: |
# See: https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#setting-an-environment-variable
echo "CLANG_FORMAT_INSTALL_PATH=${{ runner.temp }}/clang-format" >> "$GITHUB_ENV"
echo "REVIEWDOG_INSTALL_PATH=${{ runner.temp }}/reviewdog" >> "$GITHUB_ENV"
- name: Checkout
uses: actions/checkout@v4
- name: Download ClangFormat
id: download
uses: MrOctopus/[email protected]
with:
repository: arduino/clang-static-binaries
tag: ${{ env.CLANG_FORMAT_VERSION }}
asset: clang-format_${{ env.CLANG_FORMAT_VERSION }}_Linux_64bit.tar.bz2
target: ${{ env.CLANG_FORMAT_INSTALL_PATH }}
- name: Install ClangFormat
run: |
cd "${{ env.CLANG_FORMAT_INSTALL_PATH }}"
tar --extract --file="${{ steps.download.outputs.name }}"
# Add installation to PATH:
# See: https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-system-path
echo "${{ env.CLANG_FORMAT_INSTALL_PATH }}/clang_Linux_64bit" >> "$GITHUB_PATH"
- name: Format examples
run: |
find \
\( \
-name '*.c' -or \
-name '*.cpp' -or \
-name '*.h' -or \
-name '*.ino' -or \
-name '*.ipp' -or \
-name '*.tpp' \
\) \
-type f \
-exec \
clang-format \
--assume-filename=foo.cpp \
-i \
--style=file \
{} \;
- name: Install Reviewdog
run: |
wget -O - -q https://raw.githubusercontent.com/reviewdog/reviewdog/master/install.sh | sh -s -- -b ${{ env.REVIEWDOG_INSTALL_PATH }}
echo "${{ env.REVIEWDOG_INSTALL_PATH }}" >> "$GITHUB_PATH"
- name: Check formatting
env:
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if ! git diff --color --exit-code; then
git diff | reviewdog -f=diff -name="format-check" -reporter=github-pr-review
echo "Please do an Auto Format on the sketches:"
echo "Arduino IDE: Tools > Auto Format"
echo "Arduino Web Editor: Ctrl + B"
exit 1
fi
cpplint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: reviewdog/action-cpplint@master
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review
flags: --linelength=50 # Optional
filter: "-readability/braces\
,-whitespace/braces\
,-whitespace/comments\
,-whitespace/indent\
,-whitespace/newline\
,-whitespace/operators\
,-whitespace/parens\
" # Optional
build:
name: ${{ matrix.code.source }}
runs-on: ubuntu-latest
env:
UNIVERSAL_LIBRARIES: |
- name: Servo
UNIVERSAL_SKETCH_PATHS: |
- ""
strategy:
fail-fast: false
matrix:
code:
- source: main
libraries: |
- name: Adafruit BusIO
- name: Adafruit Unified Sensor
- name: Adafruit BME280 Library
sketch-paths: |
- Main
target: rpipico
- source: valve
libraries: |
- name: Servo
sketch-paths: |
- Valve
target: seeed_xiao_rp2040
include:
- code:
- target: rpipico
vendor: rp2040
arch: rp2040
name: rpipico
index: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
- code:
- target: seeed_xiao_rp2040
vendor: rp2040
arch: rp2040
name: seeed_xiao_rp2040
index: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Compile examples
uses: arduino/compile-sketches@v1
with:
fqbn: rp2040:rp2040:rpipico
platforms: |
- name: rp2040:rp2040
source-url: "https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json"
libraries: |
${{ env.UNIVERSAL_LIBRARIES }}
${{ env.UNIVERSAL_SKETCH_PATHS }}
${{ matrix.code.libraries }}
${{ matrix.code.sketch-paths }}