Skip to content

Commit a97d5fc

Browse files
committed
Simplify CI and bump geo
1 parent ef3ab70 commit a97d5fc

File tree

5 files changed

+54
-21
lines changed

5 files changed

+54
-21
lines changed

.github/workflows/test.yml

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
on: push
1+
on:
2+
push:
3+
pull_request:
4+
workflow_dispatch:
5+
26
name: Run tests
37
jobs:
48
# The `ci-result` job doesn't actually test anything - it just aggregates the
@@ -30,20 +34,44 @@ jobs:
3034
working-directory: .
3135
strategy:
3236
matrix:
33-
container_image:
37+
toolchain:
3438
# We aim to support rust-stable plus (at least) the prior 3 releases,
3539
# giving us about 6 months of coverage.
3640
#
3741
# Minimum supported rust version (MSRV)
38-
- "georust/geo-ci:rust-1.67"
39-
# Two most recent releases - we omit older ones for expedient CI
40-
- "georust/geo-ci:rust-1.69"
41-
- "georust/geo-ci:rust-1.70"
42-
container:
43-
image: ${{ matrix.container_image }}
42+
- "1.67"
43+
# Two recent releases - we omit older ones for expedient CI
44+
- "1.80"
45+
- "stable"
4446
steps:
4547
- name: Checkout repository
46-
uses: actions/checkout@v3
48+
uses: actions/checkout@v4
49+
50+
- name: Install stable
51+
run: |
52+
rustup toolchain install ${{ matrix.toolchain }} --no-self-update --profile minimal --component rust-src rustfmt clippy
53+
54+
- name: Check with Rustfmt
55+
run: cargo fmt --all --check
56+
57+
- name: Build (--no-default-features)
58+
run: cargo build --no-default-features
59+
- name: Build (--all-features)
60+
run: cargo build --all-features
61+
- name: Run tests (--all-features)
62+
run: cargo test --all-features
63+
- name: Build
64+
run: cargo build
65+
- name: Run tests
66+
run: cargo test
67+
68+
- name: Check with Clippy (--no-default-features)
69+
run: cargo clippy --tests --no-default-features -- -D warnings
70+
- name: Check with Clippy (--all-features)
71+
run: cargo clippy --tests --all-features -- -D warnings
72+
- name: Check with Clippy
73+
run: cargo clippy --tests -- -D warnings
74+
4775
- run: cargo build --no-default-features
4876
- run: cargo test --no-default-features
4977
- run: cargo build --all-features

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ serde = { version = "1.0", features = ["derive"], optional = true }
2424

2525
[dev-dependencies]
2626
assert_approx_eq = "1"
27-
geo = "0.27"
27+
geo = "0.28"

src/parser/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ macro_rules! consume {
1313
))
1414
}};
1515
($xml:expr, $version:expr, $tagname:expr) => {{
16-
use crate::parser::create_context;
1716
use std::io::BufReader;
17+
use $crate::parser::create_context;
1818
consume(
1919
&mut create_context(BufReader::new($xml.as_bytes()), $version),
2020
$tagname,
2121
)
2222
}};
2323
($xml:expr, $version:expr, $tagname:expr, $allow_empty:expr) => {{
24-
use crate::parser::create_context;
2524
use std::io::BufReader;
25+
use $crate::parser::create_context;
2626
consume(
2727
&mut create_context(BufReader::new($xml.as_bytes()), $version),
2828
$tagname,

src/writer.rs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,11 @@ fn write_fix_if_exists<W: Write>(fix: &Option<Fix>, writer: &mut EventWriter<W>)
293293
Ok(())
294294
}
295295

296-
fn write_track<W: Write>(version: GpxVersion, track: &Track, writer: &mut EventWriter<W>) -> GpxResult<()> {
296+
fn write_track<W: Write>(
297+
version: GpxVersion,
298+
track: &Track,
299+
writer: &mut EventWriter<W>,
300+
) -> GpxResult<()> {
297301
write_xml_event(XmlEvent::start_element("trk"), writer)?;
298302
write_string_if_exists("name", &track.name, writer)?;
299303
write_string_if_exists("cmt", &track.comment, writer)?;
@@ -310,7 +314,11 @@ fn write_track<W: Write>(version: GpxVersion, track: &Track, writer: &mut EventW
310314
Ok(())
311315
}
312316

313-
fn write_route<W: Write>(version: GpxVersion, route: &Route, writer: &mut EventWriter<W>) -> GpxResult<()> {
317+
fn write_route<W: Write>(
318+
version: GpxVersion,
319+
route: &Route,
320+
writer: &mut EventWriter<W>,
321+
) -> GpxResult<()> {
314322
write_xml_event(XmlEvent::start_element("rte"), writer)?;
315323
write_string_if_exists("name", &route.name, writer)?;
316324
write_string_if_exists("cmt", &route.comment, writer)?;
@@ -354,11 +362,8 @@ fn write_waypoint<W: Write>(
354362
writer,
355363
)?;
356364
write_value_if_exists("ele", &waypoint.elevation, writer)?;
357-
match version {
358-
GpxVersion::Gpx10 => {
359-
write_value_if_exists("speed", &waypoint.speed, writer)?;
360-
}
361-
_ => {}
365+
if version == GpxVersion::Gpx10 {
366+
write_value_if_exists("speed", &waypoint.speed, writer)?;
362367
}
363368
write_time_if_exists(&waypoint.time, writer)?;
364369
write_value_if_exists("geoidheight", &waypoint.geoidheight, writer)?;

tests/gpx_write.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ fn check_metadata_equal(reference_gpx: &Gpx, written_gpx: &Gpx) {
7878
check_links_equal(&reference.links, &written.links);
7979
}
8080

81-
fn check_links_equal(reference: &Vec<Link>, written: &Vec<Link>) {
81+
fn check_links_equal(reference: &[Link], written: &[Link]) {
8282
assert_eq!(reference.len(), written.len());
8383
for (r, w) in reference.iter().zip(written) {
8484
assert_eq!(r.href, w.href);
@@ -98,7 +98,7 @@ fn check_points_equal(reference: &Gpx, written: &Gpx) {
9898
}
9999
}
100100

101-
fn check_waypoints_equal(reference: &Vec<Waypoint>, written: &Vec<Waypoint>) {
101+
fn check_waypoints_equal(reference: &[Waypoint], written: &[Waypoint]) {
102102
assert_eq!(reference.len(), written.len());
103103
for (r_wp, w_wp) in reference.iter().zip(written) {
104104
assert_eq!(r_wp.point(), w_wp.point());

0 commit comments

Comments
 (0)