mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
Java generics are too limited to do what we need. This refactors generic code previously in Unit and Measure into unit-specific classes that can have unit-safe math operations (notably, times and divide) that can return values in known units instead of a wildcarded Measure<?>. Unit-specific measure implementations are automatically generated by ./wpiunits/generate_units.py, which generates generic interfaces and mutable and immutable implementations of those interfaces. These make up the bulk of the diff of this PR (approximately 9300 LOC). This also adds units for angular and linear velocities, accelerations, and momenta; moment of inertia; and torque.
57 lines
2.0 KiB
YAML
57 lines
2.0 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@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Set up Python 3.9
|
|
uses: actions/setup-python@v5
|
|
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.3/protoc-gen-quickbuf-1.3.3-linux-x86_64.exe && chmod +x protoc-gen-quickbuf-1.3.3-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 --quickbuf_plugin=protoc-gen-quickbuf-1.3.3-linux-x86_64.exe
|
|
- name: Run wpiunits
|
|
run: ./wpiunits/generate_units.py
|
|
- name: Run HIDs
|
|
run: ./wpilibj/generate_hids.py && ./wpilibc/generate_hids.py && ./wpilibNewCommands/generate_hids.py
|
|
- name: Run PWM Controllers
|
|
run: ./wpilibj/generate_pwm_motor_controllers.py && ./wpilibc/generate_pwm_motor_controllers.py
|
|
- name: Run imgui gl3w
|
|
run: ./thirdparty/imgui_suite/generate_gl3w.py
|
|
- name: Run imgui fonts
|
|
run: ./thirdparty/imgui_suite/generate_fonts.sh
|
|
- 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@v4
|
|
with:
|
|
name: pregenerated-files-fixes
|
|
path: pregenerated-files-fixes.patch
|
|
if: ${{ failure() }}
|