Skip to content

Commit 4aaf389

Browse files
committed
ci: pin to memchr 2.6.2 for MSRV CI job
I botched the memchr 2.6 MSRV because it actually requires Rust 1.61 and not Rust 1.60. This crate's MSRV is Rust 1.60, so pin memchr to a version that works on Rust 1.60 (for x86-64 at least).
1 parent 554469b commit 4aaf389

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

.github/workflows/ci.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,25 @@ jobs:
142142
uses: dtolnay/rust-toolchain@master
143143
with:
144144
toolchain: 1.60.0
145+
# The memchr 2.6 release purportedly bumped its MSRV to Rust 1.60, but it
146+
# turned out that on aarch64, it was using something that wasn't stabilized
147+
# until Rust 1.61[1]. (This was an oversight on my part. I had previously
148+
# thought everything I needed was on Rust 1.60.) To resolve that, I just
149+
# bumped memchr's MSRV to 1.61. Since it was so soon after the memchr 2.6
150+
# release, I treated this as a bugfix.
151+
#
152+
# But the regex crate's MSRV is at Rust 1.60, and it now depends on at
153+
# least memchr 2.6 (to make use of its `alloc` feature). So we can't set
154+
# a lower minimal version. And I can't just bump the MSRV in a patch
155+
# release as a bug fix because regex 1.9 was released quite some time ago.
156+
# I could just release regex 1.10 and bump the MSRV there, but eh, I don't
157+
# want to put out another minor version release just for this.
158+
#
159+
# So... pin memchr to 2.6.2, which at least works on x86-64 on Rust 1.60.
160+
#
161+
# [1]: https://github.com/BurntSushi/memchr/issues/136
162+
- name: Pin memchr to 2.6.2
163+
run: cargo update -p memchr --precise 2.6.2
145164
- name: Basic build
146165
run: cargo build --verbose
147166
- name: Build docs

0 commit comments

Comments
 (0)