mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-23 01:21:42 +00:00
This removes a build dependency on the quickbuf generator being available for the build platform. It's safe to generate Java because the quickbuf version is defined by the project. C++ protobufs can't be committed because the protoc version must match the library version (this is a particular issue for cmake builds).
50 lines
1.7 KiB
YAML
50 lines
1.7 KiB
YAML
name: Check Pregenerated Files
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches-ignore:
|
|
- main
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
update:
|
|
name: "Update"
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- 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.9
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.9
|
|
- name: Install jinja
|
|
run: python -m pip install jinja2
|
|
- name: Install protobuf dependencies
|
|
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler && wget https://github.com/HebiRobotics/QuickBuffers/releases/download/1.3.2/protoc-gen-quickbuf-1.3.2-linux-x86_64.exe && chmod +x protoc-gen-quickbuf-1.3.2-linux-x86_64.exe
|
|
- name: Run hal
|
|
run: ./hal/generate_usage_reporting.py
|
|
- name: Run ntcore
|
|
run: ./ntcore/generate_topics.py
|
|
- name: Run wpimath
|
|
run: ./wpimath/generate_numbers.py && ./wpimath/generate_quickbuf.py protoc protoc-gen-quickbuf-1.3.2-linux-x86_64.exe
|
|
- name: Add untracked files to index so they count as changes
|
|
run: git add -A
|
|
- name: Check output
|
|
run: git --no-pager diff --exit-code HEAD
|
|
- name: Generate diff
|
|
run: git diff HEAD > pregenerated-files-fixes.patch
|
|
if: ${{ failure() }}
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
name: pregenerated-files-fixes
|
|
path: pregenerated-files-fixes.patch
|
|
if: ${{ failure() }}
|