Add last_rel_dodge_torque for backwards compatibility #237
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: [push, pull_request] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build_wheel: | |
name: ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [windows-2019, ubuntu-20.04, macos-12] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
cache: 'pip' | |
- name: Install dependencies | |
run: | | |
pip3 install wheel oldest-supported-numpy PyGLM cibuildwheel | |
- name: Build extension for ${{ matrix.os }} | |
if: matrix.os != 'ubuntu-20.04' | |
run: | | |
python3 setup.py build | |
python3 setup.py bdist_wheel --py-limited-api=cp34 | |
- name: Build extension for ${{ matrix.os }} | |
if: matrix.os == 'ubuntu-20.04' | |
run: | | |
python3 setup.py sdist | |
python3 -m cibuildwheel --output-dir dist | |
for old in dist/*.whl | |
do | |
# actually cp34 since I'm using Py_LIMITED_API=0x03040000 | |
new=$(echo $old | sed 's/-cp.*/-cp34-abi3-manylinux2014_x86_64.whl/g') | |
mv $old $new | |
done | |
env: | |
CIBW_BUILD: cp36-manylinux_x86_64 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: wheel-${{ matrix.os }} | |
path: dist/* | |
test_wheel: | |
name: ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
needs: build_wheel | |
strategy: | |
matrix: | |
os: [windows-2019, ubuntu-20.04, macos-12] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
cache: 'pip' | |
- name: Install dependencies | |
run: | | |
pip3 install wheel oldest-supported-numpy PyGLM cibuildwheel | |
- name: Download artifact ${{ matrix.os }} | |
uses: actions/download-artifact@v4 | |
with: | |
name: wheel-${{ matrix.os }} | |
path: dist | |
- name: Install extension | |
shell: bash | |
run: | | |
pip3 install dist/*.whl | |
- name: Load collision meshes | |
uses: actions/cache/restore@v4 | |
id: collision-cache-restore | |
with: | |
path: collision_meshes | |
key: collision-cache | |
enableCrossOsArchive: true | |
- name: Download collision meshes | |
if: steps.collision-cache-restore.outputs.cache-hit != 'true' | |
uses: suisei-cn/actions-download-file@v1.3.0 | |
with: | |
url: https://mtheall.com/~mtheall/collision_meshes.tar | |
- name: Extract collision meshes | |
if: steps.collision-cache-restore.outputs.cache-hit != 'true' | |
uses: a7ul/tar-action@v1.1.3 | |
with: | |
command: x | |
files: collision_meshes.tar | |
- name: Save collision meshes | |
if: steps.collision-cache-restore.outputs.cache-hit != 'true' | |
uses: actions/cache/save@v4 | |
with: | |
path: collision_meshes | |
key: collision-cache | |
enableCrossOsArchive: true | |
- name: Run unit tests | |
run: | | |
python3 python-mtheall/unit_test.py | |
- name: Run regression tests | |
run: | | |
python3 python-mtheall/regression_test.py | |
publish_pypi: | |
name: Publish PyPI | |
runs-on: ubuntu-latest | |
needs: test_wheel | |
environment: | |
name: pypi | |
url: https://pypi.org/p/RocketSim | |
permissions: | |
id-token: write | |
steps: | |
- name: Download artifact windows-2019 | |
uses: actions/download-artifact@v4 | |
with: | |
name: wheel-windows-2019 | |
path: dist | |
- name: Download artifact ubuntu-20.04 | |
uses: actions/download-artifact@v4 | |
with: | |
name: wheel-ubuntu-20.04 | |
path: dist | |
- name: Download artifact macos-12 | |
uses: actions/download-artifact@v4 | |
with: | |
name: wheel-macos-12 | |
path: dist | |
- name: Publish package distributions to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 |