Update verify_code.yaml #26
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: Verify Code | |
on: | |
push: | |
branches: | |
- "**" | |
pull_request: | |
branches: | |
- "**" | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
container: wpilib/roborio-cross-ubuntu:2024-22.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup cache directory for PCRE and CppCheck | |
id: cache-setup | |
run: | | |
echo "pcre-8.45" > cache-directory-2.txt | |
echo "cppcheck-2.12.1" >> cache-directory-2.txt | |
- name: Install clang-format | |
run: sudo apt-get update && sudo apt-get install -y clang-format | |
- name: Cache PCRE and CppCheck | |
id: cache-deps | |
uses: actions/cache@v3 | |
with: | |
path: | | |
/usr/local/bin/cppcheck | |
/usr/local/lib/libpcre.so* | |
key: ${{ runner.os }}-build-${{ hashFiles('cache-directory-2.txt') }} | |
restore-keys: | | |
${{ runner.os }}-build- | |
- name: Install dependencies | |
if: steps.cache-deps.outputs.cache-hit != 'true' | |
run: sudo apt-get install -y wget build-essential | |
- name: Download and Install PCRE | |
if: steps.cache-deps.outputs.cache-hit != 'true' | |
run: | | |
wget -O pcre-8.45.tar.gz https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz/download | |
tar -xzf pcre-8.45.tar.gz | |
cd pcre-8.45 | |
./configure | |
make | |
sudo make install | |
- name: Set Library Path | |
run: echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf.d/local.conf && sudo ldconfig | |
- name: Download and Install CppCheck | |
if: steps.cache-deps.outputs.cache-hit != 'true' | |
run: | | |
wget -O cppcheck.tar.gz https://github.com/danmar/cppcheck/archive/refs/tags/2.12.1.tar.gz | |
tar -xzf cppcheck.tar.gz | |
cd cppcheck-2.12.1 | |
make MATCHCOMPILER=yes HAVE_RULES=yes CFGDIR=cfg | |
sudo cp cppcheck /usr/local/bin/ | |
sudo cp -r cfg /usr/local/bin/cfg | |
- name: Install clang-format | |
run: sudo apt install clang-format | |
- name: Grant execute permission for gradlew | |
run: chmod +x gradlew | |
- name: Install Roborio Toolchain | |
run: ./gradlew installRoborioToolchain | |
# - name: Spotless Check | |
# run: ./gradlew spotlessCheck -PfromCI | |
- name: Compile code and run tests | |
run: ./gradlew build -PfromCI |