mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-21 01:01:41 +00:00
Upgrade to wpilib alpha-6 (#2434)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Ryanforce08 <rradtke1208@gmail.com> Co-authored-by: PJ Reiniger <pj.reiniger@gmail.com> Co-authored-by: Jade Turner <spacey-sooty@proton.me> Co-authored-by: Matt Morley <matthew.morley.ca@gmail.com>
This commit is contained in:
152
.github/workflows/build.yml
vendored
152
.github/workflows/build.yml
vendored
@@ -23,73 +23,73 @@ jobs:
|
||||
|
||||
# build-examples:
|
||||
|
||||
# strategy:
|
||||
# fail-fast: false
|
||||
# matrix:
|
||||
# include:
|
||||
# - os: windows-2022
|
||||
# artifact-name: Win64
|
||||
# - os: macos-14
|
||||
# artifact-name: macOS
|
||||
# - os: ubuntu-24.04
|
||||
# artifact-name: Linux
|
||||
# strategy:
|
||||
# fail-fast: false
|
||||
# matrix:
|
||||
# include:
|
||||
# - os: windows-2022
|
||||
# artifact-name: Win64
|
||||
# - os: macos-14
|
||||
# artifact-name: macOS
|
||||
# - os: ubuntu-24.04
|
||||
# artifact-name: Linux
|
||||
|
||||
# name: "Photonlib - Build Examples - ${{ matrix.os }}"
|
||||
# runs-on: ${{ matrix.os }}
|
||||
# needs: [build-photonlib-host, build-photonlib-docker]
|
||||
# name: "Photonlib - Build Examples - ${{ matrix.os }}"
|
||||
# runs-on: ${{ matrix.os }}
|
||||
# needs: [build-photonlib-host, build-photonlib-docker]
|
||||
|
||||
# steps:
|
||||
# - name: Checkout code
|
||||
# uses: actions/checkout@v6
|
||||
# with:
|
||||
# fetch-depth: 0
|
||||
# - name: Fetch tags
|
||||
# run: git fetch --tags --force
|
||||
# - uses: actions/setup-java@v5
|
||||
# with:
|
||||
# java-version: 25
|
||||
# distribution: temurin
|
||||
# - name: Install SystemCore Toolchain
|
||||
# run: ./gradlew installSystemCoreToolchain
|
||||
# - name: Delete duplicate toolchains
|
||||
# run: |
|
||||
# find ~/.gradle/cache/ -name *bookworm* -exec rm -rf {} +
|
||||
# du -h . | sort -h
|
||||
# if: matrix.os == 'ubuntu-24.04'
|
||||
# # Download prebuilt photonlib artifacts
|
||||
# - uses: actions/download-artifact@v7
|
||||
# with:
|
||||
# name: maven-${{ matrix.artifact-name }}
|
||||
# - uses: actions/download-artifact@v7
|
||||
# with:
|
||||
# name: maven-Athena
|
||||
# - name: Move to maven local
|
||||
# run: |
|
||||
# mkdir -p ~/.m2/repository/
|
||||
# mv maven/org ~/.m2/repository/
|
||||
# - name: Copy vendordeps
|
||||
# shell: bash
|
||||
# run: |
|
||||
# for vendordep_folder in photonlib-*-examples/*/; do
|
||||
# # Remove trailing slash for cross-platform compatibility
|
||||
# vendordep_folder="${vendordep_folder%/}"
|
||||
# steps:
|
||||
# - name: Checkout code
|
||||
# uses: actions/checkout@v6
|
||||
# with:
|
||||
# fetch-depth: 0
|
||||
# - name: Fetch tags
|
||||
# run: git fetch --tags --force
|
||||
# - uses: actions/setup-java@v5
|
||||
# with:
|
||||
# java-version: 25
|
||||
# distribution: temurin
|
||||
# - name: Install SystemCore Toolchain
|
||||
# run: ./gradlew installSystemCoreToolchain
|
||||
# - name: Delete duplicate toolchains
|
||||
# run: |
|
||||
# find ~/.gradle/cache/ -name *bookworm* -exec rm -rf {} +
|
||||
# du -h . | sort -h
|
||||
# if: matrix.os == 'ubuntu-24.04'
|
||||
# # Download prebuilt photonlib artifacts
|
||||
# - uses: actions/download-artifact@v7
|
||||
# with:
|
||||
# name: maven-${{ matrix.artifact-name }}
|
||||
# - uses: actions/download-artifact@v7
|
||||
# with:
|
||||
# name: maven-SystemCore
|
||||
# - name: Move to maven local
|
||||
# run: |
|
||||
# mkdir -p ~/.m2/repository/
|
||||
# mv maven/org ~/.m2/repository/
|
||||
# - name: Copy vendordeps
|
||||
# shell: bash
|
||||
# run: |
|
||||
# for vendordep_folder in photonlib-*-examples/*/; do
|
||||
# # Remove trailing slash for cross-platform compatibility
|
||||
# vendordep_folder="${vendordep_folder%/}"
|
||||
|
||||
# # Filter for projects only
|
||||
# if [ -e "$vendordep_folder/build.gradle" ]; then
|
||||
# mkdir -p "$vendordep_folder/vendordeps/"
|
||||
# cp vendordeps/photonlib-json-1.0.json "$vendordep_folder/vendordeps/"
|
||||
# fi
|
||||
# done
|
||||
# - name: Build Java examples
|
||||
# working-directory: photonlib-java-examples
|
||||
# run: |
|
||||
# ./gradlew build
|
||||
# ./gradlew clean
|
||||
# - name: Build C++ examples
|
||||
# working-directory: photonlib-cpp-examples
|
||||
# run: |
|
||||
# ./gradlew build
|
||||
# ./gradlew clean
|
||||
# # Filter for projects only
|
||||
# if [ -e "$vendordep_folder/build.gradle" ]; then
|
||||
# mkdir -p "$vendordep_folder/vendordeps/"
|
||||
# cp vendordeps/photonlib-json-1.0.json "$vendordep_folder/vendordeps/"
|
||||
# fi
|
||||
# done
|
||||
# - name: Build Java examples
|
||||
# working-directory: photonlib-java-examples
|
||||
# run: |
|
||||
# ./gradlew build
|
||||
# ./gradlew clean
|
||||
# - name: Build C++ examples
|
||||
# working-directory: photonlib-cpp-examples
|
||||
# run: |
|
||||
# ./gradlew build
|
||||
# ./gradlew clean
|
||||
|
||||
typecheck-client:
|
||||
name: "Typecheck Client"
|
||||
@@ -237,12 +237,12 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# - os: windows-2022
|
||||
# artifact-name: Win64
|
||||
- os: macos-15 # TODO: Restore to macos-26 with WPILib alpha-6
|
||||
artifact-name: macOS
|
||||
- os: ubuntu-24.04
|
||||
artifact-name: Linux
|
||||
- os: windows-2022
|
||||
artifact-name: Win64
|
||||
- os: macos-26
|
||||
artifact-name: macOS
|
||||
- os: ubuntu-24.04
|
||||
artifact-name: Linux
|
||||
|
||||
name: "Photonlib - Build Host - ${{ matrix.artifact-name }}"
|
||||
runs-on: ${{ matrix.os }}
|
||||
@@ -345,7 +345,7 @@ jobs:
|
||||
include:
|
||||
- os: ubuntu-24.04
|
||||
artifact-name: Linux
|
||||
arch-override: linuxx64
|
||||
arch-override: linuxx86-64
|
||||
- os: ubuntu-24.04
|
||||
artifact-name: LinuxArm64
|
||||
arch-override: linuxarm64
|
||||
@@ -401,7 +401,7 @@ jobs:
|
||||
arch-override: macarm64
|
||||
- os: macos-latest
|
||||
artifact-name: macOS
|
||||
arch-override: macx64
|
||||
arch-override: macx86-64
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: "Build fat JAR - ${{ matrix.artifact-name }}"
|
||||
@@ -416,8 +416,8 @@ jobs:
|
||||
matrix:
|
||||
include:
|
||||
- os: windows-latest
|
||||
artifact-name: Win64
|
||||
arch-override: winx64
|
||||
artifact-name: Win
|
||||
arch-override: winx86-64
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: "Build fat JAR - ${{ matrix.artifact-name }}"
|
||||
@@ -432,10 +432,10 @@ jobs:
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-24.04
|
||||
artifact-name: photonvision-*-linuxx64.jar
|
||||
artifact-name: photonvision-*-linuxx86-64.jar
|
||||
extraOpts: -Djdk.lang.Process.launchMechanism=vfork
|
||||
- os: windows-latest
|
||||
artifact-name: photonvision-*-winx64.jar
|
||||
artifact-name: photonvision-*-winx86-64.jar
|
||||
- os: macos-latest
|
||||
artifact-name: photonvision-*-macarm64.jar
|
||||
- os: ubuntu-24.04-arm
|
||||
|
||||
264
.github/workflows/python.yml
vendored
264
.github/workflows/python.yml
vendored
@@ -12,134 +12,136 @@ concurrency:
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
# build-py:
|
||||
# runs-on: ubuntu-24.04
|
||||
#
|
||||
# steps:
|
||||
# - name: Checkout code
|
||||
# uses: actions/checkout@v6
|
||||
# with:
|
||||
# fetch-depth: 0
|
||||
#
|
||||
# - name: Set up Python
|
||||
# uses: actions/setup-python@v6
|
||||
# with:
|
||||
# python-version: 3.14
|
||||
#
|
||||
# - name: Install dependencies
|
||||
# run: |
|
||||
# python -m pip install --upgrade pip
|
||||
# pip install setuptools wheel
|
||||
#
|
||||
# - name: Build wheel
|
||||
# working-directory: ./photon-lib/py
|
||||
# run: python setup.py sdist bdist_wheel
|
||||
#
|
||||
# - name: Upload artifacts
|
||||
# uses: actions/upload-artifact@v7
|
||||
# with:
|
||||
# name: dist
|
||||
# path: ./photon-lib/py/dist/
|
||||
#
|
||||
# test-py:
|
||||
# needs: build-py
|
||||
# runs-on: ubuntu-24.04
|
||||
#
|
||||
# steps:
|
||||
# - name: Checkout code
|
||||
# uses: actions/checkout@v6
|
||||
# with:
|
||||
# fetch-depth: 0
|
||||
#
|
||||
# - name: Set up Python
|
||||
# uses: actions/setup-python@v6
|
||||
# with:
|
||||
# python-version: 3.14
|
||||
#
|
||||
# - name: Install dependencies
|
||||
# run: |
|
||||
# python -m pip install --upgrade pip
|
||||
# pip install pytest mypy
|
||||
#
|
||||
# - name: Download artifacts
|
||||
# uses: actions/download-artifact@v8
|
||||
# with:
|
||||
# name: dist
|
||||
# path: dist/
|
||||
#
|
||||
# - name: Install package
|
||||
# shell: bash
|
||||
# run: pip install --no-cache-dir dist/*.whl
|
||||
#
|
||||
# - name: Run Unit Tests
|
||||
# shell: bash
|
||||
# run: pytest --import-mode=importlib photon-lib/py/test/
|
||||
#
|
||||
# - name: Run mypy type checking
|
||||
# run: mypy --show-column-numbers --config-file photon-lib/py/pyproject.toml photon-lib
|
||||
#
|
||||
# build-python-examples:
|
||||
# needs: build-py
|
||||
# strategy:
|
||||
# matrix:
|
||||
# os: [ubuntu-24.04, windows-2022, macos-14]
|
||||
# runs-on: ${{ matrix.os }}
|
||||
#
|
||||
# steps:
|
||||
#
|
||||
# - name: Checkout code
|
||||
# uses: actions/checkout@v6
|
||||
# with:
|
||||
# fetch-depth: 0
|
||||
#
|
||||
# - name: Set up Python
|
||||
# uses: actions/setup-python@v6
|
||||
# with:
|
||||
# python-version: 3.14
|
||||
#
|
||||
# - name: Install dependencies
|
||||
# run: |
|
||||
# python -m pip install --upgrade pip
|
||||
#
|
||||
# - name: Download artifacts
|
||||
# uses: actions/download-artifact@v8
|
||||
# with:
|
||||
# name: dist
|
||||
# path: ./photon-lib/py/dist/
|
||||
#
|
||||
# - name: Install PhotonLibPy package
|
||||
# working-directory: ./photon-lib/py
|
||||
# shell: bash
|
||||
# run: |
|
||||
# pip install --no-cache-dir dist/*.whl
|
||||
#
|
||||
# - name: Build Python examples
|
||||
# working-directory: photonlib-python-examples
|
||||
# shell: bash
|
||||
# run: |
|
||||
# for folder in */;
|
||||
# do
|
||||
# echo $folder
|
||||
# ./run.sh $folder
|
||||
# done
|
||||
#
|
||||
# deploy:
|
||||
# needs: [test-py, build-python-examples]
|
||||
# runs-on: ubuntu-24.04
|
||||
# # Only upload on tags
|
||||
# if: startsWith(github.ref, 'refs/tags/v')
|
||||
#
|
||||
# steps:
|
||||
# - name: Download artifacts
|
||||
# uses: actions/download-artifact@v8
|
||||
# with:
|
||||
# name: dist
|
||||
# path: dist/
|
||||
#
|
||||
# - name: Publish package distributions to PyPI
|
||||
# uses: pypa/gh-action-pypi-publish@release/v1
|
||||
# with:
|
||||
# packages-dir: ./dist/
|
||||
#
|
||||
# permissions:
|
||||
# id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
|
||||
build-py:
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: 3.14
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install setuptools wheel
|
||||
|
||||
- name: Build wheel
|
||||
working-directory: ./photon-lib/py
|
||||
run: python setup.py sdist bdist_wheel
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: dist
|
||||
path: ./photon-lib/py/dist/
|
||||
|
||||
test-py:
|
||||
needs: build-py
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: 3.14
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest mypy
|
||||
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: dist
|
||||
path: dist/
|
||||
|
||||
- name: Install package
|
||||
shell: bash
|
||||
run: pip install --no-cache-dir dist/*.whl
|
||||
|
||||
- name: Run Unit Tests
|
||||
shell: bash
|
||||
run: pytest --import-mode=importlib photon-lib/py/test/
|
||||
|
||||
- name: Run mypy type checking
|
||||
run: mypy --show-column-numbers --config-file photon-lib/py/pyproject.toml photon-lib
|
||||
|
||||
# build-python-examples:
|
||||
# needs: build-py
|
||||
# strategy:
|
||||
# matrix:
|
||||
# os: [ubuntu-24.04, windows-2022, macos-14]
|
||||
# runs-on: ${{ matrix.os }}
|
||||
|
||||
# steps:
|
||||
|
||||
# - name: Checkout code
|
||||
# uses: actions/checkout@v6
|
||||
# with:
|
||||
# fetch-depth: 0
|
||||
|
||||
# - name: Set up Python
|
||||
# uses: actions/setup-python@v6
|
||||
# with:
|
||||
# python-version: 3.14
|
||||
|
||||
# - name: Install dependencies
|
||||
# run: |
|
||||
# python -m pip install --upgrade pip
|
||||
# python -m pip install mypy
|
||||
|
||||
# - name: Download artifacts
|
||||
# uses: actions/download-artifact@v8
|
||||
# with:
|
||||
# name: dist
|
||||
# path: ./photon-lib/py/dist/
|
||||
|
||||
# - name: Install PhotonLibPy package
|
||||
# working-directory: ./photon-lib/py
|
||||
# shell: bash
|
||||
# run: |
|
||||
# pip install --no-cache-dir dist/*.whl
|
||||
|
||||
# - name: Build Python examples
|
||||
# working-directory: photonlib-python-examples
|
||||
# shell: bash
|
||||
# run: |
|
||||
# for folder in */;
|
||||
# do
|
||||
# echo $folder
|
||||
# ./run.sh $folder
|
||||
# done
|
||||
|
||||
deploy:
|
||||
# TODO: BRING BACK PYTHON EXAMPLES
|
||||
needs: [test-py]
|
||||
runs-on: ubuntu-24.04
|
||||
# Only upload on tags
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
|
||||
steps:
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: dist
|
||||
path: dist/
|
||||
|
||||
- name: Publish package distributions to PyPI
|
||||
uses: pypa/gh-action-pypi-publish@release/v1
|
||||
with:
|
||||
packages-dir: ./dist/
|
||||
|
||||
permissions:
|
||||
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
|
||||
|
||||
Reference in New Issue
Block a user