Skip to content

Fix Moon ME and Moon PA frames by searching for Euler Parameter datasets in rotations #437

Fix Moon ME and Moon PA frames by searching for Euler Parameter datasets in rotations

Fix Moon ME and Moon PA frames by searching for Euler Parameter datasets in rotations #437

Workflow file for this run

name: ANISE Python
on:
push:
branches:
- master
tags:
- '*'
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
linux:
runs-on: ubuntu-22.04
strategy:
matrix:
target: [x86_64, x86, aarch64]
steps:
- uses: actions/checkout@v4
- name: Download data
run: |
wget -O data/de421.bsp http://public-data.nyxspace.com/anise/de421.bsp
wget -O data/de430.bsp http://public-data.nyxspace.com/anise/de430.bsp
wget -O data/de440s.bsp http://public-data.nyxspace.com/anise/de440s.bsp
wget -O data/de440.bsp http://public-data.nyxspace.com/anise/de440.bsp
wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.5/pck08.pca
wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.5/pck11.pca
- name: Setup Python 3.9 on ${{ matrix.target }}
uses: actions/setup-python@v5
with:
python-version: "3.9"
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
manylinux: auto
working-directory: anise-py
before-script-linux: |
# Source: https://github.com/sfackler/rust-openssl/issues/2036#issuecomment-1724324145
# If we're running on rhel centos, install needed packages.
if command -v yum &> /dev/null; then
yum update -y && yum install -y perl-core openssl openssl-devel pkgconfig libatomic
# If we're running on i686 we need to symlink libatomic
# in order to build openssl with -latomic flag.
if [[ ! -d "/usr/lib64" ]]; then
ln -s /usr/lib/libatomic.so.1 /usr/lib/libatomic.so
fi
else
# If we're running on debian-based system.
apt update -y && apt-get install -y libssl-dev openssl pkg-config
fi
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: anise-py/dist
- name: pytest
if: ${{ startsWith(matrix.target, 'x86_64') }}
shell: bash
run: |
set -e
pip debug --verbose
pip install anise --find-links anise-py/dist --force-reinstall
pip install pytest numpy
pytest
- name: pytest
if: ${{ !startsWith(matrix.target, 'x86') && matrix.target != 'ppc64' }}
uses: uraimo/run-on-arch-action@v2
with:
arch: ${{ matrix.target }}
distro: ubuntu22.04
githubToken: ${{ github.token }}
install: |
apt-get update
apt-get install -y --no-install-recommends python3 python3-pip
pip3 install -U pip pytest
run: |
set -e
pip debug --verbose
pip install anise --find-links anise-py/dist --force-reinstall
pip install pytest numpy
pytest
- name: Notebook Regression tests
if: ${{ startsWith(matrix.target, 'x86_64') }}
shell: bash
run: |
set -e
pip debug --verbose
pip install anise --find-links anise-py/dist --force-reinstall
pip install pytest-notebook numpy
pytest
windows:
runs-on: windows-latest
strategy:
matrix:
target: [x64, x86]
steps:
- uses: actions/checkout@v4
with:
lfs: true
- uses: actions/setup-python@v5
with:
python-version: "3.11"
architecture: ${{ matrix.target }}
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: 'true'
working-directory: anise-py
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: anise-py/dist
- name: pytest
shell: bash
env:
RUST_BACKTRACE: 1
run: |
set -e
pip install anise --find-links anise-py/dist --force-reinstall
pip install pytest numpy
pytest
macos-13: # last available x86_64 macos runner
runs-on: macos-13
steps:
- uses: actions/checkout@v4
with:
lfs: true
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: x86_64
args: --release --out dist --find-interpreter
sccache: 'true'
working-directory: anise-py
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: anise-py/dist
- name: pytest
shell: bash
env:
RUST_BACKTRACE: 1
run: |
set -e
pip install anise --find-links anise-py/dist --force-reinstall
pip install pytest numpy
pytest
macos-14: # last available x86_64 macos runner
runs-on: macos-14
steps:
- uses: actions/checkout@v4
with:
lfs: true
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: aarch64
args: --release --out dist --find-interpreter
sccache: 'true'
working-directory: anise-py
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: anise-py/dist
- name: pytest
shell: bash
env:
RUST_BACKTRACE: 1
run: |
set -e
pip install anise --find-links anise-py/dist --force-reinstall
pip install pytest numpy
pytest
sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download data
run: |
wget -O data/de421.bsp http://public-data.nyxspace.com/anise/de421.bsp
wget -O data/de430.bsp http://public-data.nyxspace.com/anise/de430.bsp
wget -O data/de440s.bsp http://public-data.nyxspace.com/anise/de440s.bsp
wget -O data/de440.bsp http://public-data.nyxspace.com/anise/de440.bsp
wget -O data/pck08.pca http://public-data.nyxspace.com/anise/v0.5/pck08.pca
wget -O data/pck11.pca http://public-data.nyxspace.com/anise/v0.5/pck11.pca
- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
working-directory: anise-py
- name: Upload sdist
uses: actions/upload-artifact@v3
with:
name: wheels
path: anise-py/dist
release:
name: Release
runs-on: ubuntu-latest
if: github.ref_type == 'tag'
needs: [linux, windows, macos-13, macos-14, sdist]
steps:
- uses: actions/download-artifact@v3
with:
name: wheels
- name: Publish to PyPI
uses: PyO3/maturin-action@v1
env:
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
with:
command: upload
args: --non-interactive --skip-existing *