Unlink PyO3 versions between FASTSim-2 and FASTSim-3#265
Conversation
…-facing pip optional deps, instead install those with --group dev
…o3 0.29 and support through python 3.15
a87f59f to
1828bc4
Compare
…sting envs into test
0bd7d8d to
909fd8d
Compare
08e9ce1 to
12669ec
Compare
bf2be81 to
7ad1c93
Compare
7ad1c93 to
55779bc
Compare
…on versions, manylinux cibw update
|
@jhoshiko @robinsteuteville @jakeholden Found a BUNCH of redundancy in the testing workflow that could be cut down Previously we:
Now we:
Cutting down this redundancy also cuts down on pixi environments, so no more I've also closed the #264 as this PR includes all of its changes and more. |
|
Here is a summary that I generated from the PR diff with Claude, with many of my own notes and edits sprinkled in: Summary of changes — FASTSim CI/CD overhaul + v3.1.0 packaging updates CI/CD (biggest chunk of the diff)
Packaging
Rust core / PyO3
Note on cal_and_val/ vehicle YAML changes: these weren't hand-edited — they're the automatic byproduct of running build_and_test.sh, which regenerates the vehicle files and picked up the new speed_trac_fwd_max_meters_per_second field (plus a few calibration value diffs already present in those source vehicles) across the board. That field wasnt added by this PR. |
|
@robinsteuteville @jhoshiko would love to get this PR reviewed this week if possible :) |
# Conflicts: # pixi.lock
This PR is branched off of work I did in #264, so that should be merged/reviewed first.Currently we lock the PyO3 version of FASTSim-3 to the version that the latest release of FASTSim-2 used. This is to support the bridge between the FASTSim-2 Python API and FASTSim-3 Python API.
This means we cannot update the PyO3 version in FASTSim-3 without making a FASTSim-2 release!. Chad did this once to be able to update PyO3 in FASTSim-3, but this problem will recur
Instead of forcing these versions to be the same, or deleting the FASTSim-2 compatibility convenience functions altogether, this PR:
to_fastsim2_pyandtry_from_fastsim2methods that allowed Python users to convert between instances of FASTSim-2 vehicles and FASTSim-3 vehicles. (only negative change this PR introduces)speed_trac_fwd_max_meters_per_secondwas introduced as a field)Additional changes:
releaseworkflow now uses pixi and full matrix of python versions. It also releasesfastsim-coreandfastsim-proc-macrosto crates.io programmatically, after doing a 'dry run' publishreleaseworkflow andbuild_and_testworkflow use a shared core workflow that compiles, lints (not completely, linting fails right now but I dont want to make such broad changes in this PR), tests, and builds wheelscargo fmtand includescargo fmt --checkas part of testing script & workflow