Skip to content

Commit 82ec9fb

Browse files
committed
Various CI tweaks
1 parent 0371840 commit 82ec9fb

File tree

9 files changed

+60
-139
lines changed

9 files changed

+60
-139
lines changed

.github/workflows/cargo.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: cargo
2+
on: [push]
3+
4+
jobs:
5+
format:
6+
runs-on: ubuntu-latest
7+
steps:
8+
- uses: actions/checkout@v4
9+
- uses: dtolnay/rust-toolchain@stable
10+
- run: rustup component add rustfmt
11+
- run: cargo fmt --all --check
12+
cargo:
13+
strategy:
14+
matrix:
15+
task: ["clippy", "build", "test"]
16+
feature_set: ["default", "no-std", "no-std-alloc", "no-std-alloc-serde", "no-serde"]
17+
include:
18+
- task: "clippy"
19+
extra_flags: "--deny warnings"
20+
- task: "build"
21+
extra_flags: ""
22+
- task: "test"
23+
extra_flags: ""
24+
- feature_set: "default"
25+
feature_flags: ""
26+
target_flags: "--all-targets"
27+
- feature_set: "no-std"
28+
feature_flags: "--no-default-features --features libm"
29+
target_flags: "--lib"
30+
- feature_set: "no-std-alloc"
31+
feature_flags: "--no-default-features --features libm --features alloc"
32+
target_flags: "--lib"
33+
- feature_set: "no-std-alloc-serde"
34+
feature_flags: "--no-default-features --features libm --features alloc --features serde"
35+
target_flags: "--lib"
36+
- feature_set: "no-serde"
37+
feature_flags: "--no-default-features --features std"
38+
target_flags: "--lib --tests --benches --example tle --example tle_afspc"
39+
runs-on: ubuntu-latest
40+
steps:
41+
- uses: actions/checkout@v4
42+
- uses: dtolnay/rust-toolchain@stable
43+
- run: cargo ${{ matrix.task }} ${{ matrix.feature_flags }} ${{ matrix.target_flags }} -- ${{ matrix.extra_flags }}

.github/workflows/ci_no_std.yml

Lines changed: 0 additions & 49 deletions
This file was deleted.

.github/workflows/ci_std.yml

Lines changed: 0 additions & 65 deletions
This file was deleted.

Cargo.toml

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,28 +19,26 @@ categories = [
1919
]
2020
keywords = ["SGP4", "SDP4", "TLE", "OMM"]
2121
edition = "2021"
22+
resolver = "2"
2223

2324
[dependencies]
24-
anyhow = { version = "1.0", default-features = false, optional = true }
25-
chrono = { version = "0.4.38", default-features = false }
26-
serde = { version = "1.0", default-features = false, optional = true }
27-
serde_json = { version = "1.0", default-features = false, optional = true }
28-
num-traits = { version = "0.2.19", default-features = false, optional = true }
25+
chrono = {version = "0.4.38", default-features = false}
26+
serde = {version = "1.0", default-features = false, optional = true}
27+
serde_json = {version = "1.0", default-features = false, optional = true}
28+
num-traits = {version = "0.2.19", default-features = false, optional = true}
2929

3030
[dev-dependencies]
31+
anyhow = {version = "1.0", default-features = false}
3132
criterion = "0.5.1"
3233
toml = "0.8.13"
33-
ureq = { version = "2.9.7", features = ["json"] }
34-
serde_json = { version = "1.0", default-features = false }
35-
serde = { version = "1.0", default-features = false }
36-
anyhow = { version = "1.0", default-features = false }
34+
ureq = {version = "2.9.7", features = ["json"]}
3735

3836
[package.metadata.docs.rs]
3937
rustdoc-args = ["--cfg", "docsrs"]
4038

4139
[features]
42-
default = ["alloc", "serde", "std"]
43-
alloc = ["anyhow"]
40+
default = ["alloc", "std", "serde"]
41+
alloc = []
4442
serde = [
4543
"alloc",
4644
"chrono/serde",
@@ -49,7 +47,7 @@ serde = [
4947
"serde_json/alloc",
5048
]
5149
std = ["alloc", "anyhow/std", "chrono/std", "serde?/std", "serde_json?/std"]
52-
libm = ["num-traits/libm"]
50+
libm = ["dep:num-traits", "num-traits/libm"]
5351

5452
[[bench]]
5553
name = "propagate"

benches/propagate.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
use criterion::{criterion_group, criterion_main, Criterion};
2-
#[path = "../test_cases.rs"]
2+
#[path = "../tests/test_cases.rs"]
33
mod test_cases;
44
use test_cases::*;
55

66
pub fn criterion_benchmark(criterion: &mut Criterion) {
7-
let test_cases: TestCases = toml::from_str(include_str!("../test_cases.toml")).unwrap();
7+
let test_cases: TestCases = toml::from_str(include_str!("../tests/test_cases.toml")).unwrap();
88
criterion.bench_function("propagate all", |b| {
99
b.iter(|| {
1010
let mut predictions = Vec::new();

src/tle.rs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -991,11 +991,11 @@ pub fn parse_3les(tles: &str) -> core::result::Result<alloc::vec::Vec<Elements>,
991991
Ok(elements_vec)
992992
}
993993

994+
#[cfg(feature = "serde")]
994995
#[cfg(test)]
995996
mod tests {
996997
use super::*;
997998

998-
#[cfg(feature = "serde")]
999999
fn assert_eq_f64(first: f64, second: f64) {
10001000
if second == 0.0 {
10011001
assert_eq!(first, 0.0);
@@ -1004,7 +1004,6 @@ mod tests {
10041004
}
10051005
}
10061006

1007-
#[cfg(feature = "serde")]
10081007
#[test]
10091008
fn test_from_celestrak_omm() -> anyhow::Result<()> {
10101009
let elements: Elements = serde_json::from_str(
@@ -1069,7 +1068,6 @@ mod tests {
10691068
}
10701069

10711070
#[test]
1072-
#[cfg(feature = "alloc")]
10731071
fn test_from_space_track_omm() -> anyhow::Result<()> {
10741072
let elements: Elements = serde_json::from_str(
10751073
r#"{"CCSDS_OMM_VERS":"2.0",
@@ -1152,7 +1150,6 @@ mod tests {
11521150
}
11531151

11541152
#[test]
1155-
#[cfg(feature = "alloc")]
11561153
fn test_from_celestrak_omms() -> anyhow::Result<()> {
11571154
let elements_vec: [Elements; 2] = serde_json::from_str(
11581155
r#"[{
@@ -1199,7 +1196,6 @@ mod tests {
11991196
}
12001197

12011198
#[test]
1202-
#[cfg(feature = "alloc")]
12031199
fn test_from_tle() -> core::result::Result<(), Error> {
12041200
let elements = Elements::from_tle(
12051201
Some("ISS (ZARYA)".into()),
@@ -1283,9 +1279,9 @@ mod tests {
12831279
}
12841280

12851281
#[test]
1286-
fn from_tle_rounding_error_prone_epoch() -> core::result::Result<(), Error> {
1282+
fn test_rounding_error_prone_epoch() -> core::result::Result<(), Error> {
12871283
let elements = Elements::from_tle(
1288-
Some("ISS (ZARYA)".to_string()),
1284+
None,
12891285
"1 25544U 98067A 23001.00031250 .00023190 00000-0 40700-3 0 9996".as_bytes(),
12901286
"2 25544 51.6422 151.7482 0002260 30.8955 315.0781 15.50422841429866".as_bytes(),
12911287
)?;
@@ -1300,7 +1296,6 @@ mod tests {
13001296
}
13011297

13021298
#[test]
1303-
#[cfg(feature = "alloc")]
13041299
fn test_parse_2les() -> core::result::Result<(), Error> {
13051300
let elements_vec = parse_2les(
13061301
"1 25544U 98067A 20194.88612269 -.00002218 00000-0 -31515-4 0 9992\n\
@@ -1313,7 +1308,6 @@ mod tests {
13131308
}
13141309

13151310
#[test]
1316-
#[cfg(feature = "alloc")]
13171311
fn test_parse_3les() -> core::result::Result<(), Error> {
13181312
let elements_vec = parse_3les(
13191313
"ISS (ZARYA)\n\

tests/propagate.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
#[path = "../test_cases.rs"]
1+
#[path = "test_cases.rs"]
22
mod test_cases;
33
use test_cases::*;
44

55
#[test]
66
fn propagate() -> anyhow::Result<()> {
7-
let test_cases: TestCases = toml::from_str(include_str!("../test_cases.toml")).unwrap();
7+
let test_cases: TestCases = toml::from_str(include_str!("test_cases.toml")).unwrap();
88
for test_case in test_cases.list.iter() {
99
#[cfg(feature = "alloc")]
1010
let element =
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)