Skip to content
Open
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
746338c
Port ChoreoLib 2025.0.3 to SystemCore/WPILib 2027 (#1269)
shueja Jun 26, 2025
3cf259e
[Systemcore-alpha] Add Artifactory username and password as environme…
shueja Jun 27, 2025
dad2b50
[SystemCore-alpha] Install SystemCore toolchain before running Gradle…
calcmogul Jun 27, 2025
f5f57c9
Fix capitalization of draft release renaming (#1272)
shueja Jun 27, 2025
9a901f4
[SystemCore-Alpha] Temporarily remove Pypi publishing (#1273)
shueja Jun 27, 2025
6787cc9
[SystemCore-alpha] Fix setting of ChoreoLib publish version on Window…
shueja Jun 28, 2025
d56b0b4
[SystemCore-alpha] Host vendordep jsons in choreo.autos/lib (#1275)
shueja Jun 28, 2025
19c5540
[SystemCore-alpha] Add linuxsystemcore to binary platform list (#1281)
calcmogul Jul 4, 2025
ffcb378
oh boy, here we go... (pls dont break)
Daniel1464 May 8, 2026
b01a20b
update vendor json, remove state machine to move to separate PR
Daniel1464 May 9, 2026
d852825
first pass at cpp updates (still doesnt compile)
Daniel1464 May 9, 2026
bdaa56c
i think its fixed now? idk
Daniel1464 May 9, 2026
5e4b952
Everything works except for spotless, I think
Daniel1464 May 9, 2026
861eb7a
Apply spotless and fix commands v3 in tests
Daniel1464 May 9, 2026
04f8b28
Fix command test
Daniel1464 May 9, 2026
1fa0160
Changed coordinate system for cpp
Daniel1464 May 9, 2026
20aa7b9
Revert choreolib.yml changes
Daniel1464 May 9, 2026
ee9c470
Remove quotations
Daniel1464 May 9, 2026
9000fb0
Fix java-version
Daniel1464 May 9, 2026
86be329
Apply suggestions from code review
Daniel1464 May 9, 2026
6e03f97
Revert more choreolib.yml changes
Daniel1464 May 9, 2026
0ce0046
Fix systemcore capitalization
Daniel1464 May 9, 2026
0ecf065
Revert Cargo.lock changes
Daniel1464 May 9, 2026
e54d233
Attempted fix for CI
Daniel1464 May 9, 2026
ac8aaa0
CI fixes, pt. 2
Daniel1464 May 9, 2026
bb814bb
format
Daniel1464 May 9, 2026
78ead35
Fix lint and format CI task, potentially
Daniel1464 May 9, 2026
846a4eb
format pt. 2
Daniel1464 May 10, 2026
cd0dbe8
Stage cargo.lock changes
Daniel1464 May 10, 2026
877d71e
Change versioning, add gradle-wrapper.jar
Daniel1464 May 10, 2026
120f007
Update update_field_dimensions.py
Daniel1464 May 10, 2026
4cac45e
Apply suggestions from code review
Daniel1464 May 10, 2026
017a62d
Refactor include directives to use angle brackets for system headers
Daniel1464 May 10, 2026
d56d97d
Format
Daniel1464 May 10, 2026
f2c271e
Revert accidental svg field image changes
Daniel1464 May 10, 2026
9e2f2ca
Apply suggestions from code review
Daniel1464 May 10, 2026
dc62718
More code review suggestions
Daniel1464 May 10, 2026
acaad98
Cleanup dependencies
Daniel1464 May 10, 2026
e672b21
yet another CI fix
Daniel1464 May 11, 2026
40c232f
Switch all unit types to wpi::units::x instead of units::x, revert de…
Daniel1464 May 11, 2026
6c8414f
Apply suggestions from code review
Daniel1464 May 12, 2026
2167d36
Remove architecture from Java setup in workflow
Daniel1464 May 12, 2026
e693401
format attempt
Daniel1464 May 12, 2026
982bcd8
Apply suggestions from code review
Daniel1464 May 13, 2026
e9dbf05
Merge branch 'main' into 2027-update
calcmogul Jul 3, 2026
96b779d
Update Mechanism usage
calcmogul Jul 3, 2026
6f1950e
Fix vendordep
calcmogul Jul 3, 2026
534b2e3
Rename frcYear to wpilibYear
calcmogul Jul 3, 2026
68f4b84
Upgrade CI image
calcmogul Jul 3, 2026
3b4df4a
Use Debian containers for ChoreoLib build
calcmogul Jul 3, 2026
40b826e
Fix versions in Cargo.lock
calcmogul Jul 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 55 additions & 46 deletions .github/workflows/choreolib.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@ jobs:
fail-fast: false
matrix:
include:
- container: wpilib/roborio-cross-ubuntu:2025-24.04
artifact-name: Athena
build-options: -Ponlylinuxathena

- container: wpilib/raspbian-cross-ubuntu:bookworm-24.04
artifact-name: Linux-arm32
build-options: -Ponlylinuxarm32
Expand All @@ -24,7 +20,7 @@ jobs:
artifact-name: Linux-x86_64
build-options:

name: C++ and Java - ${{ matrix.artifact-name }}
name: "Build C++ and Java / ${{ matrix.artifact-name }}"
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated
runs-on: ubuntu-24.04
container: ${{ matrix.container }}
steps:
Expand All @@ -39,6 +35,10 @@ jobs:
run: |
git config --global --add safe.directory /__w/${{ github.event.repository.name }}/${{ github.event.repository.name }}

- name: Install SystemCore Toolchain
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated
run: ./gradlew installSystemCoreToolchain
working-directory: choreolib

- name: Set version (release)
if: github.repository_owner == 'SleipnirGroup' && startsWith(github.ref, 'refs/tags/v')
working-directory: choreolib
Expand All @@ -48,13 +48,13 @@ jobs:
working-directory: choreolib
run: ./gradlew build ${{ matrix.build-options }}

- name: Publish with Gradle (release)
- name: Build with Gradle (release)
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated
if: github.repository_owner == 'SleipnirGroup' && startsWith(github.ref, 'refs/tags/v')
working-directory: choreolib
run: ./gradlew publish ${{ matrix.build-options }}
env:
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
run: ./gradlew publish ${{ matrix.build-options }}
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated

- uses: actions/upload-artifact@v7
with:
Expand All @@ -73,15 +73,15 @@ jobs:
build-options:

# FIXME: Link failure on commands library
# - os: windows-2025
# - os: windows-2022
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated
# artifact-name: Windows-aarch64
# build-options: -Pbuildwinarm64 -Ponlywindowsarm64

- os: macos-15
- os: macOS-15
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated
artifact-name: macOS-universal
build-options:

name: C++ and Java - ${{ matrix.artifact-name }}
name: "C++ and Java / ${{ matrix.artifact-name }}"
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
Expand All @@ -96,11 +96,15 @@ jobs:
- uses: actions/setup-java@v5
with:
distribution: "temurin"
java-version: 17
java-version: 25

- name: Install SystemCore Toolchain
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated
run: ./gradlew installSystemCoreToolchain
working-directory: choreolib

# 6/27/25: an Actions issue makes GITHUB_REF unset on Windows
- name: Set version (Windows release)
if: runner.os == 'Windows' && github.repository_owner == 'SleipnirGroup' && startsWith(github.ref, 'refs/tags/v')
if: github.repository_owner == 'SleipnirGroup' && startsWith(matrix.os, 'windows') && startsWith(github.ref, 'refs/tags/v')
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated
run: |
tag="${{ github.ref }}"
sed -i "s/0.0.0/${tag##*v}/g" publish.gradle
Expand All @@ -109,7 +113,7 @@ jobs:
working-directory: choreolib

- name: Set version (macOS release)
if: runner.os == 'macOS' && github.repository_owner == 'SleipnirGroup' && startsWith(github.ref, 'refs/tags/v')
if: github.repository_owner == 'SleipnirGroup' && startsWith(matrix.os, 'macOS') && startsWith(github.ref, 'refs/tags/v')
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated
run: sed -i '' "s/0.0.0/${GITHUB_REF##*v}/g" publish.gradle
working-directory: choreolib

Expand All @@ -120,32 +124,18 @@ jobs:
- name: Build with Gradle (release)
if: github.repository_owner == 'SleipnirGroup' && startsWith(github.ref, 'refs/tags/v')
working-directory: choreolib
run: ./gradlew publish ${{ matrix.build-options }}
env:
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
run: ./gradlew publish ${{ matrix.build-options }}
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated

- uses: actions/upload-artifact@v7
with:
name: ${{ matrix.artifact-name }}
path: choreolib/build/allOutputs

vendordep:
Comment thread
calcmogul marked this conversation as resolved.
name: Upload vendordep JSON
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
token: ${{secrets.GITHUB_TOKEN}}

- uses: actions/upload-artifact@v7
with:
name: ChoreoLib-json
path: choreolib/ChoreoLib2026Beta.json
Comment thread
calcmogul marked this conversation as resolved.

build-python:
name: Python
name: "Build Python"
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v6
Expand All @@ -166,28 +156,47 @@ jobs:
working-directory: ./choreolib/py
- run: pytest
working-directory: ./choreolib/py
- run: mypy --pretty --show-column-numbers choreolib/py
Comment thread
Daniel1464 marked this conversation as resolved.

- uses: actions/upload-artifact@v7
with:
name: Python
path: ./choreolib/py/dist

pypi-publish:
Comment thread
Daniel1464 marked this conversation as resolved.
name: Upload release to PyPI
runs-on: ubuntu-24.04
needs: [build-python]
if: github.repository_owner == 'SleipnirGroup' && startsWith(github.ref, 'refs/tags/v')
environment:
name: pypi
url: https://pypi.org/p/sleipnirgroup-choreolib
permissions:
id-token: write
lint-python:
name: "Lint Python"
runs-on: ubuntu-slim
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated
steps:
- uses: actions/download-artifact@v8
- uses: actions/checkout@v6
with:
path: dist
pattern: "Python"
merge-multiple: true
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
fetch-depth: 0
persist-credentials: false
token: ${{secrets.GITHUB_TOKEN}}

- uses: actions/setup-python@v6
with:
python-version: 3.12

- run: pip3 install mypy wpilib scipy scipy-stubs numpy

- run: mypy --pretty --show-column-numbers choreolib/py

# Removed until 2027 Python WPILib is available.

# pypi-publish:
# name: Upload release to PyPI
# runs-on: ubuntu-24.04
# needs: [build-python]
# if: github.repository_owner == 'SleipnirGroup' && startsWith(github.ref, 'refs/tags/v')
# environment:
# name: pypi
# url: https://pypi.org/p/sleipnirgroup-choreolib
# permissions:
# id-token: write
# steps:
# - uses: actions/download-artifact@v4
# with:
# path: dist
# pattern: "Python"
# merge-multiple: true
# - name: Publish package distributions to PyPI
# uses: pypa/gh-action-pypi-publish@release/v1
8 changes: 8 additions & 0 deletions .github/workflows/lint-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@ jobs:

- run: pip3 install wpiformat==2025.79

- name: Install SystemCore Toolchain
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated
run: ./gradlew installSystemCoreToolchain
working-directory: choreolib

- run: pnpm run fmt

- run: cargo clippy -- -D warnings
Expand Down Expand Up @@ -130,6 +134,10 @@ jobs:

- run: pip3 install wpiformat==2025.79

- name: Install SystemCore Toolchain
Comment thread
Daniel1464 marked this conversation as resolved.
Outdated
run: ./gradlew installSystemCoreToolchain
working-directory: choreolib

- name: Create compile_commands.json
working-directory: choreolib
run: |
Expand Down
Loading
Loading