Fix for meta almanac in Python and add serde to CartesianState #66
Workflow file for this run
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
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
name: ANISE Rust Workflow | |
env: | |
RUST_BACKTRACE: 1 | |
RUST_LOG: info | |
jobs: | |
check: | |
name: Check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Install CSPICE | |
run: sh dev-env-setup.sh | |
- name: Run cargo check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --workspace --exclude anise-gui --exclude anise-py | |
test: | |
name: Run tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- 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/pck08.pca | |
wget -O data/gmat-hermite.bsp http://public-data.nyxspace.com/anise/ci/gmat-hermite.bsp | |
wget -O data/variable-seg-size-hermite.bsp http://public-data.nyxspace.com/anise/ci/variable-seg-size-hermite.bsp | |
wget -O data/earth_latest_high_prec.bpc http://public-data.nyxspace.com/anise/ci/earth_latest_high_prec-2023-09-08.bpc | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Install CSPICE | |
run: sh dev-env-setup.sh && cd .. # Return to root | |
- name: Test debug | |
run: cargo test --workspace --exclude anise-gui --exclude anise-py | |
- name: Test release | |
run: cargo test --release --workspace --exclude anise-gui --exclude anise-py | |
lints: | |
name: Lints | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
components: rustfmt, clippy | |
- name: Run cargo fmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
- name: Run cargo clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: -p anise -- -D warnings | |
validation: | |
name: Validation | |
runs-on: ubuntu-latest | |
needs: [check, test, lints] | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- 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/pck08.pca | |
wget -O data/gmat-hermite.bsp http://public-data.nyxspace.com/anise/ci/gmat-hermite.bsp | |
wget -O data/variable-seg-size-hermite.bsp http://public-data.nyxspace.com/anise/ci/variable-seg-size-hermite.bsp | |
wget -O data/earth_latest_high_prec.bpc http://public-data.nyxspace.com/anise/ci/earth_latest_high_prec-2023-09-08.bpc | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Install CSPICE | |
run: sh dev-env-setup.sh && cd .. # Return to root | |
- name: CLI SPK | |
run: | | |
cargo build --bin anise-cli --workspace --exclude anise-py | |
./target/debug/anise-cli inspect data/gmat-hermite.bsp | |
./target/debug/anise-cli inspect data/de440.bsp | |
- name: Rust-SPICE JPL DE validation | |
run: RUST_BACKTRACE=1 cargo test validate_jplde --features spkezr_validation --release --workspace --exclude anise-gui --exclude anise-py -- --nocapture --include-ignored --test-threads 1 | |
- name: Rust-SPICE hermite validation | |
run: RUST_BACKTRACE=1 cargo test validate_hermite_type13_ --features spkezr_validation --release --workspace --exclude anise-gui --exclude anise-py -- --nocapture --include-ignored --test-threads 1 | |
- name: Rust-SPICE PCK validation | |
run: RUST_BACKTRACE=1 cargo test validate_iau_rotation_to_parent --release --workspace --exclude anise-gui --exclude anise-py -- --nocapture --ignored | |
- name: Rust-SPICE BPC validation | |
run: | | |
RUST_BACKTRACE=1 cargo test validate_bpc_ --release --workspace --exclude anise-gui --exclude anise-py -- --nocapture --include-ignored --test-threads 1 | |
RUST_BACKTRACE=1 cargo test de440s_translation_verif_venus2emb --release --workspace --exclude anise-gui --exclude anise-py -- --nocapture --include-ignored --test-threads 1 | |
# Now analyze the results and create pretty plots | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Validation analysis | |
run: | | |
cd anise/tests/test_analysis | |
pip install -r requirements.txt | |
python spk_validation_plots.py | |
- name: Save validation artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: validation-artifacts | |
path: target/*.html | |
coverage: | |
name: Coverage | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- 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/pck08.pca | |
wget -O data/gmat-hermite.bsp http://public-data.nyxspace.com/anise/ci/gmat-hermite.bsp | |
wget -O data/variable-seg-size-hermite.bsp http://public-data.nyxspace.com/anise/ci/variable-seg-size-hermite.bsp | |
wget -O data/earth_latest_high_prec.bpc http://public-data.nyxspace.com/anise/ci/earth_latest_high_prec-2023-09-08.bpc | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
components: rustfmt, clippy | |
- name: Install CSPICE | |
run: sh dev-env-setup.sh && cd .. # Return to root | |
- name: Install cargo-llvm-cov | |
uses: taiki-e/install-action@cargo-llvm-cov | |
- name: Generate coverage report | |
run: | | |
cd anise # Prevent the workspace flag | |
cargo llvm-cov clean --workspace | |
cargo llvm-cov test --no-report -- --test-threads=1 | |
cargo llvm-cov test --no-report --tests -- compile_fail | |
cargo llvm-cov test --no-report validate_iau_rotation_to_parent -- --nocapture --ignored | |
cargo llvm-cov test --no-report validate_bpc_to_iau_rotations -- --nocapture --ignored | |
cargo llvm-cov test --no-report validate_jplde_de440s_no_aberration --features spkezr_validation -- --nocapture --ignored | |
cargo llvm-cov test --no-report validate_jplde_de440s_aberration_lt --features spkezr_validation -- --nocapture --ignored | |
cargo llvm-cov test --no-report validate_hermite_type13_from_gmat --features spkezr_validation -- --nocapture --ignored | |
cargo llvm-cov report --lcov > lcov.txt | |
env: | |
RUSTFLAGS: --cfg __ui_tests | |
- name: Upload coverage report | |
uses: codecov/codecov-action@v3 | |
env: | |
TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
with: | |
files: ./lcov.txt |