Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolve conflitcs and update pv #10

Merged
merged 55 commits into from
Aug 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
c9a6962
Kill deprecated things (#1311)
mcm001 Apr 27, 2024
6535710
Change sim to use 36h11 tags when doing multitag (#1314)
r4stered Apr 29, 2024
00c2a25
Undistort corner pitch/yaw using opencv (#1250)
mcm001 May 3, 2024
560f379
Bump libcamera to fix picam v1, remove duplicate opencv (#1263)
mcm001 May 10, 2024
70c2cde
Charuco Support (#1312)
BytingBulldogs3539 May 10, 2024
1139511
Add sequence ID, capture, publish and recieve timestamp to PhotonPipe…
mcm001 May 10, 2024
1708376
Expose object detection class id/conf in photonlib (#1266)
mcm001 May 10, 2024
713fad6
Allow file uploads of any size and better report active cameras in Ph…
mcm001 May 10, 2024
9e58f5e
Disable Arm32 Builds (#1325)
Craftzman7 May 20, 2024
74a051d
[PhotonLib C++] Fix SetVersionCheckEnabled to actually disable versio…
r4stered May 20, 2024
12cb082
Update README.md (#1321)
amquake May 20, 2024
ed08e2a
Move PhotonVersion to C++ file (#949)
mcm001 May 25, 2024
98633e9
Bump wpilib to latest dev (#1327)
mcm001 May 26, 2024
0eeedf4
Publish generated proto sources (#1328)
mcm001 May 26, 2024
9eae7a4
Disable transitive deps for rknn-jni (#1329)
mcm001 May 26, 2024
fcca858
Update maven URL to reposilite (#1330)
mcm001 May 29, 2024
19b4802
Allow opencv8 distortion model in PhotonCamera (#1317)
mcm001 May 29, 2024
f792b46
Fix mac released jar naming (#1332)
mcm001 May 30, 2024
e34b114
Change default AprilTag family to 36h11 (#1333)
spacey-sooty May 31, 2024
6ff7b3e
Warn when getBestCameraToTarget returns 0, 0, 0 (#1334)
spacey-sooty Jun 1, 2024
db531f1
Fix libcamera not found bug (#1326)
Juniormunk Jun 2, 2024
7b19a95
Camera Lost Stream (#1341)
Juniormunk Jun 7, 2024
5289948
Add photon.pb.h/PhotonVersion to cpp headers zip & create combined so…
mcm001 Jun 9, 2024
655909c
Create combine job and offline vendordep ZIP (#1343)
mcm001 Jun 11, 2024
230e737
Only download necessary files in release step (#1344)
mcm001 Jun 11, 2024
292c7a1
Only publish to maven on main fork (#1345)
mcm001 Jun 11, 2024
0105df9
Bump libcamera driver version (#1346)
Juniormunk Jun 12, 2024
8f0cc0a
Revert "Warn when getBestCameraToTarget returns 0, 0, 0 (#1334)" (#1351)
mcm001 Jun 18, 2024
1d98105
fix CSI camera null quirks error (#1349)
Juniormunk Jun 19, 2024
8c45fef
Support more charuco boards (#1348)
Juniormunk Jun 21, 2024
0cdd9a7
Bump wpilib to 2025.0.0-alpha-1 and break non-FRC JDKs (#1356)
mcm001 Jun 30, 2024
dcc7ddc
Move docs in-source (#1357)
mcm001 Jun 30, 2024
e7e59ed
Rename .readthedocs to match RTD
mcm001 Jun 30, 2024
173b6d9
Adds support for OV9782's quirks (#1284)
gautvm Jul 1, 2024
fab7591
Fix OV9782 typos (#1358)
Juniormunk Jul 2, 2024
9ad9b82
Update docs on docs about docs (#1360)
mcm001 Jul 4, 2024
3c58b05
Use pnpm instead of npm (#1375)
srimanachanta Jul 24, 2024
10f74bb
Fixed spelling error (#1376)
MADMAN-Modding Jul 24, 2024
d1e7fd4
Revert "Use pnpm instead of npm" (#1382)
Juniormunk Jul 31, 2024
974a926
Run wpiformat (#1379)
mcm001 Aug 2, 2024
37e9d40
Use new OrangePi5 images and add OrangePi5 Pro (#1388)
crschardt Aug 4, 2024
67463a0
Use ReadQueue for PhotonCamera timestamps (#1316)
mcm001 Aug 4, 2024
ac1fc2a
Add API docs to sidebar (#1383)
spacey-sooty Aug 5, 2024
c330204
Add rsync & sphinx-autobuild docs (#1391)
mcm001 Aug 12, 2024
dbe566c
Update install.sh for OPi5 Ubuntu 24.04 (#1390)
crschardt Aug 13, 2024
f1d1d32
Move to using Absolute Exposure Range (#1352)
gerth2 Aug 17, 2024
c5c2a7a
Add OrangePi5b image to generated images (#1394)
crschardt Aug 17, 2024
0493ef9
Document how to install PhotonLib of specific version (#1392)
victkk Aug 18, 2024
8626376
Merge remote-tracking branch 'upstream/master' into resolve-conflitcs…
levyishai Aug 18, 2024
5a1dd43
Fixed PipelineManager logic
levyishai Aug 18, 2024
2f7842c
spotless
levyishai Aug 18, 2024
a074f85
Error fixes
levyishai Aug 18, 2024
19a19fe
cameraExposure -> cameraExposureRaw
levyishai Aug 18, 2024
f3faf80
Trying reverting some changes
levyishai Aug 18, 2024
0125654
Revert "Trying reverting some changes"
levyishai Aug 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
174 changes: 125 additions & 49 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
name: Build

on:
# Run on pushes to master and pushed tags, and on pull requests against master, but ignore the docs folder
push:
branches: [ master ]
tags:
- 'v*'
paths:
- '**'
- '!docs/**'
- '.github/**'
pull_request:
branches: [ master ]
paths:
- '**'
- '!docs/**'
- '.github/**'

jobs:
build-client:
Expand Down Expand Up @@ -55,13 +64,13 @@ jobs:
run: |
chmod +x gradlew
./gradlew copyPhotonlib -x check
./gradlew build -x check --max-workers 2
./gradlew build -x check
- name: Build C++ examples
working-directory: photonlib-cpp-examples
run: |
chmod +x gradlew
./gradlew copyPhotonlib -x check
./gradlew build -x check --max-workers 2
./gradlew build -x check
build-gradle:
name: "Gradle Build"
runs-on: ubuntu-22.04
Expand All @@ -83,11 +92,11 @@ jobs:
- name: Gradle Build
run: |
chmod +x gradlew
./gradlew build -x check --max-workers 2
./gradlew photon-targeting:build photon-core:build photon-server:build -x check
- name: Gradle Tests
run: ./gradlew testHeadless -i --max-workers 1 --stacktrace
run: ./gradlew testHeadless -i --stacktrace
- name: Gradle Coverage
run: ./gradlew jacocoTestReport --max-workers 1
run: ./gradlew jacocoTestReport
- name: Publish Coverage Report
uses: codecov/codecov-action@v3
with:
Expand All @@ -101,37 +110,36 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
repository: 'PhotonVision/photonvision-docs.git'
ref: master
- uses: actions/setup-python@v5
with:
python-version: '3.9'
python-version: '3.11'
- name: Install dependencies
working-directory: docs
run: |
python -m pip install --upgrade pip
pip install sphinx sphinx_rtd_theme sphinx-tabs sphinxext-opengraph doc8
pip install -r requirements.txt
- name: Build the docs
working-directory: docs
run: |
make html
- uses: actions/upload-artifact@master
- uses: actions/upload-artifact@v4
with:
name: built-docs
path: build/html
path: docs/build/html
build-photonlib-host:
env:
MACOSX_DEPLOYMENT_TARGET: 12
MACOSX_DEPLOYMENT_TARGET: 13
strategy:
fail-fast: false
matrix:
include:
- os: windows-2022
artifact-name: Win64
architecture: x64
- os: macos-12
- os: macos-14
artifact-name: macOS
architecture: x64
architecture: aarch64
- os: ubuntu-22.04
artifact-name: Linux

Expand All @@ -146,26 +154,37 @@ jobs:
with:
java-version: 17
distribution: temurin
architecture: ${{ matrix.architecture }}
- run: git fetch --tags --force
- run: |
chmod +x gradlew
./gradlew photon-lib:build --max-workers 1
# - run: ./gradlew photon-lib:publish photon-targeting:publish
# name: Publish
# env:
# ARTIFACTORY_API_KEY: ${{ secrets.ARTIFACTORY_API_KEY }}
# if: github.event_name == 'push'
./gradlew photon-targeting:build photon-lib:build -Pbuildalldesktop -i
- run: ./gradlew photon-lib:publish photon-targeting:publish -Pbuildalldesktop
name: Publish
env:
ARTIFACTORY_API_KEY: ${{ secrets.ARTIFACTORY_API_KEY }}
if: github.event_name == 'push' && github.repository_owner == 'photonvision'
# Copy artifacts to build/outputs/maven
- run: ./gradlew photon-lib:publish photon-targeting:publish -PcopyOfflineArtifacts -Pbuildalldesktop
- uses: actions/upload-artifact@v4
with:
name: maven-${{ matrix.artifact-name }}
path: build/outputs

build-photonlib-docker:
strategy:
fail-fast: false
matrix:
include:
- container: wpilib/roborio-cross-ubuntu:2024-22.04
artifact-name: Athena
build-options: "-Ponlylinuxathena"
- container: wpilib/raspbian-cross-ubuntu:bullseye-22.04
artifact-name: Raspbian
build-options: "-Ponlylinuxarm32"
- container: wpilib/aarch64-cross-ubuntu:bullseye-22.04
artifact-name: Aarch64
build-options: "-Ponlylinuxarm64"

runs-on: ubuntu-22.04
container: ${{ matrix.container }}
Expand All @@ -178,16 +197,49 @@ jobs:
run: |
git config --global --add safe.directory /__w/photonvision/photonvision
- name: Build PhotonLib
# We don't need to run tests, since we specify only non-native platforms
run: |
chmod +x gradlew
./gradlew photon-lib:build --max-workers 1
# - name: Publish
# run: |
# chmod +x gradlew
# ./gradlew photon-lib:publish photon-targeting:publish
./gradlew photon-targeting:build photon-lib:build ${{ matrix.build-options }} -i -x test
- name: Publish
run: |
chmod +x gradlew
./gradlew photon-lib:publish photon-targeting:publish ${{ matrix.build-options }}
env:
ARTIFACTORY_API_KEY: ${{ secrets.ARTIFACTORY_API_KEY }}
if: github.event_name == 'push'
if: github.event_name == 'push' && github.repository_owner == 'photonvision'
# Copy artifacts to build/outputs/maven
- run: ./gradlew photon-lib:publish photon-targeting:publish -PcopyOfflineArtifacts ${{ matrix.build-options }}
- uses: actions/upload-artifact@v4
with:
name: maven-${{ matrix.artifact-name }}
path: build/outputs

combine:
name: Combine
needs: [build-photonlib-docker, build-photonlib-host]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- run: git fetch --tags --force
# download all maven-* artifacts to outputs/
- uses: actions/download-artifact@v4
with:
merge-multiple: true
path: output
pattern: maven-*
- run: find .
- run: zip -r photonlib-$(git describe --tags --match=v*).zip .
name: ZIP stuff up
working-directory: output
- run: ls output
- uses: actions/upload-artifact@v4
with:
name: photonlib-offline
path: output/*.zip

build-package:
needs: [build-client, build-gradle, build-offline-docs]

Expand All @@ -198,23 +250,19 @@ jobs:
- os: windows-latest
artifact-name: Win64
architecture: x64
arch-override: none
arch-override: winx64
- os: macos-latest
artifact-name: macOS
architecture: x64
arch-override: none
- os: ubuntu-latest
artifact-name: Linux
architecture: x64
arch-override: none
arch-override: macx64
- os: macos-latest
artifact-name: macOSArm
architecture: x64
arch-override: macarm64
- os: ubuntu-latest
artifact-name: LinuxArm32
artifact-name: Linux
architecture: x64
arch-override: linuxarm32
arch-override: linuxx64
- os: ubuntu-latest
artifact-name: LinuxArm64
architecture: x64
Expand All @@ -232,6 +280,7 @@ jobs:
with:
java-version: 17
distribution: temurin
architecture: ${{ matrix.architecture }}
- run: |
rm -rf photon-server/src/main/resources/web/*
mkdir -p photon-server/src/main/resources/web/docs
Expand All @@ -250,11 +299,11 @@ jobs:
path: photon-server/src/main/resources/web/docs
- run: |
chmod +x gradlew
./gradlew photon-server:shadowJar --max-workers 2 -PArchOverride=${{ matrix.arch-override }}
./gradlew photon-server:shadowJar -PArchOverride=${{ matrix.arch-override }}
if: ${{ (matrix.arch-override != 'none') }}
- run: |
chmod +x gradlew
./gradlew photon-server:shadowJar --max-workers 2
./gradlew photon-server:shadowJar
if: ${{ (matrix.arch-override == 'none') }}
- uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -310,7 +359,7 @@ jobs:
- os: ubuntu-latest
artifact-name: LinuxArm64
image_suffix: RaspberryPi
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2024.0.4/photonvision_raspi.img.xz
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-1/photonvision_raspi.img.xz
cpu: cortex-a7
image_additional_mb: 0
extraOpts: -Djdk.lang.Process.launchMechanism=vfork
Expand Down Expand Up @@ -349,33 +398,45 @@ jobs:
- os: ubuntu-latest
artifact-name: LinuxArm64
image_suffix: RaspberryPi
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2024.0.4/photonvision_raspi.img.xz
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-1/photonvision_raspi.img.xz
cpu: cortex-a7
image_additional_mb: 0
- os: ubuntu-latest
artifact-name: LinuxArm64
image_suffix: limelight2
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2024.0.4/photonvision_limelight.img.xz
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-1/photonvision_limelight.img.xz
cpu: cortex-a7
image_additional_mb: 4096
image_additional_mb: 0
- os: ubuntu-latest
artifact-name: LinuxArm64
image_suffix: limelight3
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2024.0.5/photonvision_limelight3.img.xz
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-1/photonvision_limelight3.img.xz
cpu: cortex-a7
image_additional_mb: 0
- os: ubuntu-latest
artifact-name: LinuxArm64
image_suffix: orangepi5
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2024.0.10/photonvision_opi5.img.xz
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-3/photonvision_opi5.img.xz
cpu: cortex-a8
image_additional_mb: 1024
- os: ubuntu-latest
artifact-name: LinuxArm64
image_suffix: orangepi5b
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-3/photonvision_opi5b.img.xz
cpu: cortex-a8
image_additional_mb: 4096
image_additional_mb: 1024
- os: ubuntu-latest
artifact-name: LinuxArm64
image_suffix: orangepi5plus
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2024.0.10/photonvision_opi5plus.img.xz
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-3/photonvision_opi5plus.img.xz
cpu: cortex-a8
image_additional_mb: 4096
image_additional_mb: 1024
- os: ubuntu-latest
artifact-name: LinuxArm64
image_suffix: orangepi5pro
image_url: https://github.com/PhotonVision/photon-image-modifier/releases/download/v2025.0.0-beta-3/photonvision_opi5pro.img.xz
cpu: cortex-a8
image_additional_mb: 1024

runs-on: ${{ matrix.os }}
name: "Build image - ${{ matrix.image_url }}"
Expand All @@ -388,7 +449,7 @@ jobs:
- uses: actions/download-artifact@v4
with:
name: jar-${{ matrix.artifact-name }}
- uses: pguyot/arm-runner-action@v2
- uses: pguyot/arm-runner-action@HEAD
name: Generate image
id: generate_image
with:
Expand All @@ -413,12 +474,25 @@ jobs:
name: image-${{ matrix.image_suffix }}
path: photonvision*.xz
release:
needs: [build-package, build-image]
needs: [build-package, build-image, combine]
runs-on: ubuntu-22.04
steps:
# Download literally every single artifact. This also downloads client and docs,
# but the filtering below won't pick these up (I hope)
# Download all fat JARs
- uses: actions/download-artifact@v4
with:
merge-multiple: true
pattern: jar-*
# Download offline photonlib
- uses: actions/download-artifact@v4
with:
merge-multiple: true
pattern: photonlib-offline
# Download all images
- uses: actions/download-artifact@v4
with:
merge-multiple: true
pattern: image-*

- run: find
# Push to dev release
- uses: pyTooling/Actions/releaser@r0
Expand All @@ -430,6 +504,7 @@ jobs:
**/*.xz
**/*.jar
**/photonlib*.json
**/photonlib*.zip
if: github.event_name == 'push'
# Upload all jars and xz archives
- uses: softprops/action-gh-release@v1
Expand All @@ -438,6 +513,7 @@ jobs:
**/*.xz
**/*.jar
**/photonlib*.json
**/photonlib*.zip
if: startsWith(github.ref, 'refs/tags/v')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
13 changes: 11 additions & 2 deletions .github/workflows/lint-format.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
name: Lint and Format

on:
# Run on pushes to master and pushed tags, and on pull requests against master, but ignore the docs folder
push:
branches: [ master ]
tags:
- 'v*'
paths:
- '**'
- '!docs/**'
- '.github/**'
pull_request:
branches: [ master ]
paths:
- '**'
- '!docs/**'
- '.github/**'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
Expand All @@ -26,9 +35,9 @@ jobs:
- name: Set up Python 3.8
uses: actions/setup-python@v4
with:
python-version: 3.8
python-version: 3.11
- name: Install wpiformat
run: pip3 install wpiformat
run: pip3 install wpiformat==2024.37
- name: Run
run: wpiformat
- name: Check output
Expand Down
Loading
Loading