Skip to content

Commit 6ce47bf

Browse files
levyishaimcm001r4steredamquakeBytingBulldogs3539
authored
Resolve conflitcs and update pv (#10)
* Kill deprecated things (PhotonVision#1311) * Change sim to use 36h11 tags when doing multitag (PhotonVision#1314) * Undistort corner pitch/yaw using opencv (PhotonVision#1250) * Undistort pitch/yaw * Actually implement lol * Update TargetCalculations.java * fix yawpitch test units * format --------- Co-authored-by: amquake <[email protected]> * Bump libcamera to fix picam v1, remove duplicate opencv (PhotonVision#1263) * Charuco Support (PhotonVision#1312) Add charuco calibration to photonvision. Currently does not support generating custom charuco boards. This does not support https://calib.io/pages/camera-calibration-pattern-generator. Currently only supports the 4X4_50 family. Also removes all dotboard calibration. Fixes using the lowest possible fps while doing calibration (now uses the highest fps available for each resolution). * Add sequence ID, capture, publish and recieve timestamp to PhotonPipelineResult (PhotonVision#1305) Closes PhotonVision#1304 * Expose object detection class id/conf in photonlib (PhotonVision#1266) * Implement class id/conf in photonlib * Maybe fix things * run lint * Update Packet.java comments * Update Packet.java comments again * Update comments * oops * Update packet.py --------- Co-authored-by: Chris Gerth <[email protected]> * Allow file uploads of any size and better report active cameras in PhotonCamera error print (PhotonVision#1298) Previously reported itself which was confusing. New print: ``` Error at org.photonvision.PhotonCamera.verifyVersion(PhotonCamera.java:378): Found the following PhotonVision cameras active on NetworkTables: ==> HD_Pro_Webcam_C920 ==> Arducam_OV9281_USB_Camera ``` * Disable Arm32 Builds (PhotonVision#1325) Disables Arm32 builds and removes mention of the build option in the README. * [PhotonLib C++] Fix SetVersionCheckEnabled to actually disable version checking (PhotonVision#1323) * change verifyversion to use member variable * Revert "change verifyversion to use member variable" This reverts commit 4439839. * Removed inline specifier for versioncheck variable --------- Co-authored-by: Drew Williams <[email protected]> * Update README.md (PhotonVision#1321) * Move PhotonVersion to C++ file (PhotonVision#949) This was supposed to speed up incremental compilation, but not sure it actually does. It's better form tm tho and fixes a robotpy-wrapper weirdness * Bump wpilib to latest dev (PhotonVision#1327) * Publish generated proto sources (PhotonVision#1328) * Disable transitive deps for rknn-jni (PhotonVision#1329) * Update maven URL to reposilite (PhotonVision#1330) Also bumps to new builds of artifacts (NFC) * Allow opencv8 distortion model in PhotonCamera (PhotonVision#1317) We previously assumed only OpenCV5 but mrcal uses opencv8 * Fix mac released jar naming (PhotonVision#1332) * Change default AprilTag family to 36h11 (PhotonVision#1333) Change default AprilTag family to 36h11 Resolves PhotonVision#1226 * Warn when getBestCameraToTarget returns 0, 0, 0 (PhotonVision#1334) Resolves PhotonVision#915 * Fix libcamera not found bug (PhotonVision#1326) * Update build.yml * Camera Lost Stream (PhotonVision#1341) * Fix no stream on camera unplug. * Spotless remove datarate * Make Static Frames Class * lint and format * Add photon.pb.h/PhotonVersion to cpp headers zip & create combined sources zip (PhotonVision#1335) Combined sources zip is useful for robotpy to build both targeting & lib in the same build * Create combine job and offline vendordep ZIP (PhotonVision#1343) * Create combine job * Update build.yml * Bump max workers in photonlib * Oops * actually kill entirely * Maybe fix test * Don't run tests * Update OpenCVTest.java * Update build.yml * Use upload-artifact@v4 * Update build.yml * Update build.yml * Only download necessary files in release step (PhotonVision#1344) * Only publish to maven on main fork (PhotonVision#1345) * Bump libcamera driver version (PhotonVision#1346) * Update build.gradle * Revert "Warn when getBestCameraToTarget returns 0, 0, 0 (PhotonVision#1334)" (PhotonVision#1351) This reverts commit 6ff7b3e. See PhotonVision#1351 for context * fix CSI camera null quirks error (PhotonVision#1349) temp fix for this issue with csi cameras * Support more charuco boards (PhotonVision#1348) Add support for the old opencv charuco board like calibio. Add support for other tag families while calibrating. Fix calibration issue index out of range with charuco missing points. * Bump wpilib to 2025.0.0-alpha-1 and break non-FRC JDKs (PhotonVision#1356) Windows users will have to add `"-Dorg.gradle.java.home=C:\Users\Public\wpilib\2024\jdk"` to gradle invocations, ie `./gradlew run "-Dorg.gradle.java.home=C:\Users\Public\wpilib\2024\jdk"`, due to MSVC ABI breakages and other stupidity * Move docs in-source (PhotonVision#1357) * Rename .readthedocs to match RTD * Adds support for OV9782's quirks (PhotonVision#1284) The OV9782 camera has a specific exposure range, so a camera quirk for it needs to exist. The default white balance is also pretty bad, so it must be adjusted. Closes PhotonVision#1204 --------- Co-authored-by: Matt <[email protected]> Co-authored-by: Cameron (3539) <[email protected]> * Fix OV9782 typos (PhotonVision#1358) There were a couple of typos in the last OV9782 fix, this addresses those. Additionally, remove Matt's comment that he forgot. * Update docs on docs about docs (PhotonVision#1360) * Use pnpm instead of npm (PhotonVision#1375) Pnpm is like npm except instead of keeping multiple copies of dependencies, it shares a single copy for multiple dependencies significantly reducing build time and the space needed to hold all the dependencies. Read [here](https://pnpm.io/motivation) for more info. This changes our CI to use pnpm and allows developers to choose to use pnpm instead of npm. Also, pnpm has a built-in node version manager so devs no longer need to use nvm to work on photonvision. All npm functionality (including photon-server gradle tasks) still functions using npm so this isn't breaking. We should make a docs change to suggest to use pnpm. * Fixed spelling error (PhotonVision#1376) * Revert "Use pnpm instead of npm" (PhotonVision#1382) Reverts PhotonVision#1375 Causes white screen UI Bug, "the way we currently strap everything with vue2 and vuetify has a lot of footguns in it, and using a newer package manager where each subdependency gets its own version of node is causing incorrect dependency resolution which also means we can't fix this without either updating node or patching those dependencies id say just revert the PR for now until I or someone else can do the vue3 update" * Run wpiformat (PhotonVision#1379) * Use new OrangePi5 images and add OrangePi5 Pro (PhotonVision#1388) * Use ReadQueue for PhotonCamera timestamps (PhotonVision#1316) This removes the extra GetLastChange call to keep everything properly atomic. Closes PhotonVision#1303 * Add API docs to sidebar (PhotonVision#1383) * Add rsync & sphinx-autobuild docs (PhotonVision#1391) * Update install.sh for OPi5 Ubuntu 24.04 (PhotonVision#1390) This updates the install script to work correctly on Ubuntu 24.04 versions of the Orange Pi 5 images. Changes include: - installing libatomic1 - disabling networkd-wait-online if using Network Manager - using systemctl instead of service to detect if photonvision is running - detecting if this is a RK3588 cpu and enabling all cores * Move to using Absolute Exposure Range (PhotonVision#1352) Uses logic in PhotonVision/photon-libcamera-gl-driver#16 to push the ov9281 down to its true minimum exposure. Updates UI to list the exposure settings in ~~microseconds.~~ Native units - not everyone works in microseconds. Does its darndest to actually try to set the exposure in ~~microseconds.~~ Native Units. To do this... Lifecam is funky when doing this - [cscore limits the exposure settings to certain quantized values](https://github.com/wpilibsuite/allwpilib/blob/main/cscore/src/main/native/linux/UsbCameraImpl.cpp#L129). Add a new camera quirk to allow that. ~~Updated camera quirks to re-evaluate every camera load (rather than recalling from settings - this shouldn't be necessary)~~ This should be rolled back, needed for arducam type selection. Updated camera quirk matching logic to make PID/VID optional, and basename optional (and only match trailing characters). This enables mirroring CSCore's logic for identifying lifecams by name. Updated the USBCamera to primarily use cscore's exposed property names. Since camera manufacturers use a potpourri of names for the same thing.... For nice-to-have settings: new soft-set logic to try all possible names, but gracefully pass if the property isn't there. For required settings: Search a list for the first setting that's supported, fail if none are supported. More logging of camera properties to help debug. Note: most of this work is because cscore doesn't directly expose a massaged exposure-setting-absolute API (and, given what we've seen, probably _shouldn't_, this struggle is not for the faint of heart). --------- Co-authored-by: Matt <[email protected]> * Add OrangePi5b image to generated images (PhotonVision#1394) * Document how to install PhotonLib of specific version (PhotonVision#1392) * Fixed PipelineManager logic * spotless * Error fixes * cameraExposure -> cameraExposureRaw * Trying reverting some changes * Revert "Trying reverting some changes" This reverts commit f3faf80. --------- Co-authored-by: Matt <[email protected]> Co-authored-by: Drew Williams <[email protected]> Co-authored-by: amquake <[email protected]> Co-authored-by: Programmers3539 <[email protected]> Co-authored-by: Chris Gerth <[email protected]> Co-authored-by: Craftzman7 <[email protected]> Co-authored-by: Drew Williams <[email protected]> Co-authored-by: Jade <[email protected]> Co-authored-by: Cameron (3539) <[email protected]> Co-authored-by: Gautam <[email protected]> Co-authored-by: Sriman Achanta <[email protected]> Co-authored-by: MADMAN-Modding <[email protected]> Co-authored-by: Craig Schardt <[email protected]> Co-authored-by: vic123 <[email protected]>
1 parent e462114 commit 6ce47bf

File tree

432 files changed

+47616
-3814
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

432 files changed

+47616
-3814
lines changed

.github/workflows/build.yml

Lines changed: 125 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
name: Build
22

33
on:
4+
# Run on pushes to master and pushed tags, and on pull requests against master, but ignore the docs folder
45
push:
56
branches: [ master ]
67
tags:
78
- 'v*'
9+
paths:
10+
- '**'
11+
- '!docs/**'
12+
- '.github/**'
813
pull_request:
914
branches: [ master ]
15+
paths:
16+
- '**'
17+
- '!docs/**'
18+
- '.github/**'
1019

1120
jobs:
1221
build-client:
@@ -55,13 +64,13 @@ jobs:
5564
run: |
5665
chmod +x gradlew
5766
./gradlew copyPhotonlib -x check
58-
./gradlew build -x check --max-workers 2
67+
./gradlew build -x check
5968
- name: Build C++ examples
6069
working-directory: photonlib-cpp-examples
6170
run: |
6271
chmod +x gradlew
6372
./gradlew copyPhotonlib -x check
64-
./gradlew build -x check --max-workers 2
73+
./gradlew build -x check
6574
build-gradle:
6675
name: "Gradle Build"
6776
runs-on: ubuntu-22.04
@@ -83,11 +92,11 @@ jobs:
8392
- name: Gradle Build
8493
run: |
8594
chmod +x gradlew
86-
./gradlew build -x check --max-workers 2
95+
./gradlew photon-targeting:build photon-core:build photon-server:build -x check
8796
- name: Gradle Tests
88-
run: ./gradlew testHeadless -i --max-workers 1 --stacktrace
97+
run: ./gradlew testHeadless -i --stacktrace
8998
- name: Gradle Coverage
90-
run: ./gradlew jacocoTestReport --max-workers 1
99+
run: ./gradlew jacocoTestReport
91100
- name: Publish Coverage Report
92101
uses: codecov/codecov-action@v3
93102
with:
@@ -101,37 +110,36 @@ jobs:
101110
runs-on: ubuntu-22.04
102111
steps:
103112
- uses: actions/checkout@v4
104-
with:
105-
repository: 'PhotonVision/photonvision-docs.git'
106-
ref: master
107113
- uses: actions/setup-python@v5
108114
with:
109-
python-version: '3.9'
115+
python-version: '3.11'
110116
- name: Install dependencies
117+
working-directory: docs
111118
run: |
112119
python -m pip install --upgrade pip
113120
pip install sphinx sphinx_rtd_theme sphinx-tabs sphinxext-opengraph doc8
114121
pip install -r requirements.txt
115122
- name: Build the docs
123+
working-directory: docs
116124
run: |
117125
make html
118-
- uses: actions/upload-artifact@master
126+
- uses: actions/upload-artifact@v4
119127
with:
120128
name: built-docs
121-
path: build/html
129+
path: docs/build/html
122130
build-photonlib-host:
123131
env:
124-
MACOSX_DEPLOYMENT_TARGET: 12
132+
MACOSX_DEPLOYMENT_TARGET: 13
125133
strategy:
126134
fail-fast: false
127135
matrix:
128136
include:
129137
- os: windows-2022
130138
artifact-name: Win64
131139
architecture: x64
132-
- os: macos-12
140+
- os: macos-14
133141
artifact-name: macOS
134-
architecture: x64
142+
architecture: aarch64
135143
- os: ubuntu-22.04
136144
artifact-name: Linux
137145

@@ -146,26 +154,37 @@ jobs:
146154
with:
147155
java-version: 17
148156
distribution: temurin
157+
architecture: ${{ matrix.architecture }}
149158
- run: git fetch --tags --force
150159
- run: |
151160
chmod +x gradlew
152-
./gradlew photon-lib:build --max-workers 1
153-
# - run: ./gradlew photon-lib:publish photon-targeting:publish
154-
# name: Publish
155-
# env:
156-
# ARTIFACTORY_API_KEY: ${{ secrets.ARTIFACTORY_API_KEY }}
157-
# if: github.event_name == 'push'
161+
./gradlew photon-targeting:build photon-lib:build -Pbuildalldesktop -i
162+
- run: ./gradlew photon-lib:publish photon-targeting:publish -Pbuildalldesktop
163+
name: Publish
164+
env:
165+
ARTIFACTORY_API_KEY: ${{ secrets.ARTIFACTORY_API_KEY }}
166+
if: github.event_name == 'push' && github.repository_owner == 'photonvision'
167+
# Copy artifacts to build/outputs/maven
168+
- run: ./gradlew photon-lib:publish photon-targeting:publish -PcopyOfflineArtifacts -Pbuildalldesktop
169+
- uses: actions/upload-artifact@v4
170+
with:
171+
name: maven-${{ matrix.artifact-name }}
172+
path: build/outputs
173+
158174
build-photonlib-docker:
159175
strategy:
160176
fail-fast: false
161177
matrix:
162178
include:
163179
- container: wpilib/roborio-cross-ubuntu:2024-22.04
164180
artifact-name: Athena
181+
build-options: "-Ponlylinuxathena"
165182
- container: wpilib/raspbian-cross-ubuntu:bullseye-22.04
166183
artifact-name: Raspbian
184+
build-options: "-Ponlylinuxarm32"
167185
- container: wpilib/aarch64-cross-ubuntu:bullseye-22.04
168186
artifact-name: Aarch64
187+
build-options: "-Ponlylinuxarm64"
169188

170189
runs-on: ubuntu-22.04
171190
container: ${{ matrix.container }}
@@ -178,16 +197,49 @@ jobs:
178197
run: |
179198
git config --global --add safe.directory /__w/photonvision/photonvision
180199
- name: Build PhotonLib
200+
# We don't need to run tests, since we specify only non-native platforms
181201
run: |
182202
chmod +x gradlew
183-
./gradlew photon-lib:build --max-workers 1
184-
# - name: Publish
185-
# run: |
186-
# chmod +x gradlew
187-
# ./gradlew photon-lib:publish photon-targeting:publish
203+
./gradlew photon-targeting:build photon-lib:build ${{ matrix.build-options }} -i -x test
204+
- name: Publish
205+
run: |
206+
chmod +x gradlew
207+
./gradlew photon-lib:publish photon-targeting:publish ${{ matrix.build-options }}
188208
env:
189209
ARTIFACTORY_API_KEY: ${{ secrets.ARTIFACTORY_API_KEY }}
190-
if: github.event_name == 'push'
210+
if: github.event_name == 'push' && github.repository_owner == 'photonvision'
211+
# Copy artifacts to build/outputs/maven
212+
- run: ./gradlew photon-lib:publish photon-targeting:publish -PcopyOfflineArtifacts ${{ matrix.build-options }}
213+
- uses: actions/upload-artifact@v4
214+
with:
215+
name: maven-${{ matrix.artifact-name }}
216+
path: build/outputs
217+
218+
combine:
219+
name: Combine
220+
needs: [build-photonlib-docker, build-photonlib-host]
221+
runs-on: ubuntu-latest
222+
steps:
223+
- uses: actions/checkout@v4
224+
with:
225+
fetch-depth: 0
226+
- run: git fetch --tags --force
227+
# download all maven-* artifacts to outputs/
228+
- uses: actions/download-artifact@v4
229+
with:
230+
merge-multiple: true
231+
path: output
232+
pattern: maven-*
233+
- run: find .
234+
- run: zip -r photonlib-$(git describe --tags --match=v*).zip .
235+
name: ZIP stuff up
236+
working-directory: output
237+
- run: ls output
238+
- uses: actions/upload-artifact@v4
239+
with:
240+
name: photonlib-offline
241+
path: output/*.zip
242+
191243
build-package:
192244
needs: [build-client, build-gradle, build-offline-docs]
193245

@@ -198,23 +250,19 @@ jobs:
198250
- os: windows-latest
199251
artifact-name: Win64
200252
architecture: x64
201-
arch-override: none
253+
arch-override: winx64
202254
- os: macos-latest
203255
artifact-name: macOS
204256
architecture: x64
205-
arch-override: none
206-
- os: ubuntu-latest
207-
artifact-name: Linux
208-
architecture: x64
209-
arch-override: none
257+
arch-override: macx64
210258
- os: macos-latest
211259
artifact-name: macOSArm
212260
architecture: x64
213261
arch-override: macarm64
214262
- os: ubuntu-latest
215-
artifact-name: LinuxArm32
263+
artifact-name: Linux
216264
architecture: x64
217-
arch-override: linuxarm32
265+
arch-override: linuxx64
218266
- os: ubuntu-latest
219267
artifact-name: LinuxArm64
220268
architecture: x64
@@ -232,6 +280,7 @@ jobs:
232280
with:
233281
java-version: 17
234282
distribution: temurin
283+
architecture: ${{ matrix.architecture }}
235284
- run: |
236285
rm -rf photon-server/src/main/resources/web/*
237286
mkdir -p photon-server/src/main/resources/web/docs
@@ -250,11 +299,11 @@ jobs:
250299
path: photon-server/src/main/resources/web/docs
251300
- run: |
252301
chmod +x gradlew
253-
./gradlew photon-server:shadowJar --max-workers 2 -PArchOverride=${{ matrix.arch-override }}
302+
./gradlew photon-server:shadowJar -PArchOverride=${{ matrix.arch-override }}
254303
if: ${{ (matrix.arch-override != 'none') }}
255304
- run: |
256305
chmod +x gradlew
257-
./gradlew photon-server:shadowJar --max-workers 2
306+
./gradlew photon-server:shadowJar
258307
if: ${{ (matrix.arch-override == 'none') }}
259308
- uses: actions/upload-artifact@v4
260309
with:
@@ -310,7 +359,7 @@ jobs:
310359
- os: ubuntu-latest
311360
artifact-name: LinuxArm64
312361
image_suffix: RaspberryPi
313-
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2024.0.4/photonvision_raspi.img.xz
362+
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-1/photonvision_raspi.img.xz
314363
cpu: cortex-a7
315364
image_additional_mb: 0
316365
extraOpts: -Djdk.lang.Process.launchMechanism=vfork
@@ -349,33 +398,45 @@ jobs:
349398
- os: ubuntu-latest
350399
artifact-name: LinuxArm64
351400
image_suffix: RaspberryPi
352-
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2024.0.4/photonvision_raspi.img.xz
401+
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-1/photonvision_raspi.img.xz
353402
cpu: cortex-a7
354403
image_additional_mb: 0
355404
- os: ubuntu-latest
356405
artifact-name: LinuxArm64
357406
image_suffix: limelight2
358-
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2024.0.4/photonvision_limelight.img.xz
407+
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-1/photonvision_limelight.img.xz
359408
cpu: cortex-a7
360-
image_additional_mb: 4096
409+
image_additional_mb: 0
361410
- os: ubuntu-latest
362411
artifact-name: LinuxArm64
363412
image_suffix: limelight3
364-
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2024.0.5/photonvision_limelight3.img.xz
413+
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-1/photonvision_limelight3.img.xz
365414
cpu: cortex-a7
366415
image_additional_mb: 0
367416
- os: ubuntu-latest
368417
artifact-name: LinuxArm64
369418
image_suffix: orangepi5
370-
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2024.0.10/photonvision_opi5.img.xz
419+
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-3/photonvision_opi5.img.xz
420+
cpu: cortex-a8
421+
image_additional_mb: 1024
422+
- os: ubuntu-latest
423+
artifact-name: LinuxArm64
424+
image_suffix: orangepi5b
425+
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-3/photonvision_opi5b.img.xz
371426
cpu: cortex-a8
372-
image_additional_mb: 4096
427+
image_additional_mb: 1024
373428
- os: ubuntu-latest
374429
artifact-name: LinuxArm64
375430
image_suffix: orangepi5plus
376-
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2024.0.10/photonvision_opi5plus.img.xz
431+
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-3/photonvision_opi5plus.img.xz
377432
cpu: cortex-a8
378-
image_additional_mb: 4096
433+
image_additional_mb: 1024
434+
- os: ubuntu-latest
435+
artifact-name: LinuxArm64
436+
image_suffix: orangepi5pro
437+
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-3/photonvision_opi5pro.img.xz
438+
cpu: cortex-a8
439+
image_additional_mb: 1024
379440

380441
runs-on: ${{ matrix.os }}
381442
name: "Build image - ${{ matrix.image_url }}"
@@ -388,7 +449,7 @@ jobs:
388449
- uses: actions/download-artifact@v4
389450
with:
390451
name: jar-${{ matrix.artifact-name }}
391-
- uses: pguyot/arm-runner-action@v2
452+
- uses: pguyot/arm-runner-action@HEAD
392453
name: Generate image
393454
id: generate_image
394455
with:
@@ -413,12 +474,25 @@ jobs:
413474
name: image-${{ matrix.image_suffix }}
414475
path: photonvision*.xz
415476
release:
416-
needs: [build-package, build-image]
477+
needs: [build-package, build-image, combine]
417478
runs-on: ubuntu-22.04
418479
steps:
419-
# Download literally every single artifact. This also downloads client and docs,
420-
# but the filtering below won't pick these up (I hope)
480+
# Download all fat JARs
481+
- uses: actions/download-artifact@v4
482+
with:
483+
merge-multiple: true
484+
pattern: jar-*
485+
# Download offline photonlib
486+
- uses: actions/download-artifact@v4
487+
with:
488+
merge-multiple: true
489+
pattern: photonlib-offline
490+
# Download all images
421491
- uses: actions/download-artifact@v4
492+
with:
493+
merge-multiple: true
494+
pattern: image-*
495+
422496
- run: find
423497
# Push to dev release
424498
- uses: pyTooling/Actions/releaser@r0
@@ -430,6 +504,7 @@ jobs:
430504
**/*.xz
431505
**/*.jar
432506
**/photonlib*.json
507+
**/photonlib*.zip
433508
if: github.event_name == 'push'
434509
# Upload all jars and xz archives
435510
- uses: softprops/action-gh-release@v1
@@ -438,6 +513,7 @@ jobs:
438513
**/*.xz
439514
**/*.jar
440515
**/photonlib*.json
516+
**/photonlib*.zip
441517
if: startsWith(github.ref, 'refs/tags/v')
442518
env:
443519
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/lint-format.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
name: Lint and Format
22

33
on:
4+
# Run on pushes to master and pushed tags, and on pull requests against master, but ignore the docs folder
45
push:
56
branches: [ master ]
67
tags:
78
- 'v*'
9+
paths:
10+
- '**'
11+
- '!docs/**'
12+
- '.github/**'
813
pull_request:
914
branches: [ master ]
15+
paths:
16+
- '**'
17+
- '!docs/**'
18+
- '.github/**'
1019

1120
concurrency:
1221
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
@@ -26,9 +35,9 @@ jobs:
2635
- name: Set up Python 3.8
2736
uses: actions/setup-python@v4
2837
with:
29-
python-version: 3.8
38+
python-version: 3.11
3039
- name: Install wpiformat
31-
run: pip3 install wpiformat
40+
run: pip3 install wpiformat==2024.37
3241
- name: Run
3342
run: wpiformat
3443
- name: Check output

0 commit comments

Comments
 (0)