Skip to content

Commit

Permalink
Auto merge of #572 - cuviper:ci-msrv, r=Amanieu
Browse files Browse the repository at this point in the history
ci: test the MSRV with minimal dependency versions

This includes a slight bump of rayon for use of `ParallelIterator::copied`, and `pub(crate)` on `raw::Tag` because older compilers complain about the `pub(crate)` methods that expose it.
  • Loading branch information
bors committed Oct 14, 2024
2 parents 20170b8 + 066fd99 commit eea9804
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 5 deletions.
16 changes: 14 additions & 2 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,18 @@ jobs:
target: x86_64-unknown-linux-gnu
channel: stable

msrv:
runs-on: ubuntu-latest
needs: basics
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@nightly
- uses: dtolnay/rust-toolchain@1.65.0 # MSRV
- run: cargo +nightly generate-lockfile -Z direct-minimal-versions
- env:
TARGET: x86_64-unknown-linux-gnu
run: sh ci/run.sh

# These jobs doesn't actually test anything, but they're only used to tell
# bors the build completed, as there is no practical way to detect when a
# workflow is successful listening to webhooks only.
Expand All @@ -88,7 +100,7 @@ jobs:
name: bors build finished
if: github.event.pusher.name == 'bors' && success()
runs-on: ubuntu-latest
needs: [miri, rustfmt_clippy, test]
needs: [miri, rustfmt_clippy, test, msrv]

steps:
- name: Mark the job as successful
Expand All @@ -98,7 +110,7 @@ jobs:
name: bors build finished
if: github.event.pusher.name == 'bors' && (failure() || cancelled())
runs-on: ubuntu-latest
needs: [miri, rustfmt_clippy, test]
needs: [miri, rustfmt_clippy, test, msrv]

steps:
- name: Mark the job as a failure
Expand Down
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ rust-version = "1.65.0"
foldhash = { version = "0.1.2", default-features = false, optional = true }

# For external trait impls
rayon = { version = "1.0", optional = true }
rayon = { version = "1.2", optional = true }
serde = { version = "1.0.25", default-features = false, optional = true }

# When built as part of libstd
Expand All @@ -36,7 +36,7 @@ equivalent = { version = "1.0", optional = true, default-features = false }
[dev-dependencies]
lazy_static = "1.4"
rand = { version = "0.8.3", features = ["small_rng"] }
rayon = "1.0"
rayon = "1.2"
fnv = "1.0.7"
serde_test = "1.0"
doc-comment = "0.3.1"
Expand Down
2 changes: 1 addition & 1 deletion src/raw/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ impl<T> SizedTypeProperties for T {}
/// Single tag in a control group.
#[derive(Copy, Clone, PartialEq, Eq, Debug)]
#[repr(transparent)]
struct Tag(u8);
pub(crate) struct Tag(u8);
impl Tag {
/// Control tag value for an empty bucket.
const EMPTY: Tag = Tag(0b1111_1111);
Expand Down

0 comments on commit eea9804

Please sign in to comment.