mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
libprotobuf is a very annoying dependency to deal with, and with the switch to nanopb for generated C++ code, libprotobuf is only used for dynamic decode in the GUI apps. libprotobuf has been swapped out with upb, a much smaller C-based library that supports reflection and can therefore do dynamic decode. This means we can remove the libprotobuf dependency and stop dealing with build issues because of it.
152 lines
4.2 KiB
YAML
152 lines
4.2 KiB
YAML
name: Upstream utils
|
|
|
|
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-24.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Fetch all history and metadata
|
|
run: |
|
|
git checkout -b pr
|
|
git branch -f main origin/main
|
|
- name: Set up Python 3.12
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
- name: Configure committer identity
|
|
run: |
|
|
git config --global user.email "you@example.com"
|
|
git config --global user.name "Your Name"
|
|
- name: Run apriltag.py
|
|
run: |
|
|
cd upstream_utils
|
|
./apriltag.py clone
|
|
./apriltag.py copy-src
|
|
./apriltag.py format-patch
|
|
- name: Run argparse_lib.py
|
|
run: |
|
|
cd upstream_utils
|
|
./argparse_lib.py clone
|
|
./argparse_lib.py copy-src
|
|
./argparse_lib.py format-patch
|
|
- name: Run eigen.py
|
|
run: |
|
|
cd upstream_utils
|
|
./eigen.py clone
|
|
./eigen.py copy-src
|
|
./eigen.py format-patch
|
|
- name: Run expected.py
|
|
run: |
|
|
cd upstream_utils
|
|
./expected.py clone
|
|
./expected.py copy-src
|
|
./expected.py format-patch
|
|
- name: Run fmt.py
|
|
run: |
|
|
cd upstream_utils
|
|
./fmt.py clone
|
|
./fmt.py copy-src
|
|
./fmt.py format-patch
|
|
- name: Run gcem.py
|
|
run: |
|
|
cd upstream_utils
|
|
./gcem.py clone
|
|
./gcem.py copy-src
|
|
./gcem.py format-patch
|
|
- name: Run gl3w.py
|
|
run: |
|
|
cd upstream_utils
|
|
./gl3w.py clone
|
|
./gl3w.py copy-src
|
|
./gl3w.py format-patch
|
|
- name: Run glfw.py
|
|
run: |
|
|
cd upstream_utils
|
|
./glfw.py clone
|
|
./glfw.py copy-src
|
|
./glfw.py format-patch
|
|
- name: Run googletest.py
|
|
run: |
|
|
cd upstream_utils
|
|
./googletest.py clone
|
|
./googletest.py copy-src
|
|
./googletest.py format-patch
|
|
- name: Run imgui.py
|
|
run: |
|
|
cd upstream_utils
|
|
./imgui.py clone
|
|
./imgui.py copy-src
|
|
./imgui.py format-patch
|
|
- name: Run implot.py
|
|
run: |
|
|
cd upstream_utils
|
|
./implot.py clone
|
|
./implot.py copy-src
|
|
./implot.py format-patch
|
|
- name: Run json.py
|
|
run: |
|
|
cd upstream_utils
|
|
./json.py clone
|
|
./json.py copy-src
|
|
./json.py format-patch
|
|
- name: Run libuv.py
|
|
run: |
|
|
cd upstream_utils
|
|
./libuv.py clone
|
|
./libuv.py copy-src
|
|
./libuv.py format-patch
|
|
- name: Run llvm.py
|
|
run: |
|
|
cd upstream_utils
|
|
./llvm.py clone
|
|
./llvm.py copy-src
|
|
./llvm.py format-patch
|
|
- name: Run mpack.py
|
|
run: |
|
|
cd upstream_utils
|
|
./mpack.py clone
|
|
./mpack.py copy-src
|
|
./mpack.py format-patch
|
|
- name: Run sleipnir.py
|
|
run: |
|
|
cd upstream_utils
|
|
./sleipnir.py clone
|
|
./sleipnir.py copy-src
|
|
./sleipnir.py format-patch
|
|
- name: Run stb.py
|
|
run: |
|
|
cd upstream_utils
|
|
./stb.py clone
|
|
./stb.py copy-src
|
|
./stb.py format-patch
|
|
- name: Run upb.py
|
|
run: |
|
|
cd upstream_utils
|
|
./upb.py clone
|
|
./upb.py copy-src
|
|
./upb.py format-patch
|
|
- name: Add untracked files to index so they count as changes
|
|
run: git add -A
|
|
- name: Check output
|
|
run: |
|
|
set +e
|
|
git --no-pager diff --exit-code HEAD ':!*.bazel'
|
|
git_exit_code=$?
|
|
if test "$git_exit_code" -ne "0"; then
|
|
echo "::error ::upstream_utils check failed. This is usually caused by a bad script or the copied files differing from what the script outputs. You can learn more about using upstream_utils to modify thirdparty libraries at https://github.com/wpilibsuite/allwpilib/blob/main/upstream_utils/README.md"
|
|
exit $git_exit_code
|
|
fi
|