mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-01-28 15:10:26 +01:00
commenter outdated: Also check test/benchmark versions
This commit is contained in:
parent
feac404220
commit
99d2212abb
@ -5205,18 +5205,18 @@ packages:
|
|||||||
- boxes
|
- boxes
|
||||||
- cassava
|
- cassava
|
||||||
- charsetdetect-ae # #6326/closed
|
- charsetdetect-ae # #6326/closed
|
||||||
- coercible-utils # 6271
|
- coercible-utils # #6271
|
||||||
- compiler-warnings # #6326/closed
|
- compiler-warnings # #6326/closed
|
||||||
- curl
|
- curl
|
||||||
- docopt # #6326/closed
|
- docopt # #6326/closed
|
||||||
- dynamic-state # #6326/closed
|
- dynamic-state # #6326/closed
|
||||||
- first-class-patterns # #5965/closed
|
- first-class-patterns # #5965/closed
|
||||||
- ghc-trace-events # #6326/closed
|
- ghc-trace-events # #6326/closed
|
||||||
- hashing # 6271
|
- hashing # #6271
|
||||||
- hnix-store-core # 6271
|
- hnix-store-core # #6271
|
||||||
- ilist # #5965/closed
|
- ilist # #5965/closed
|
||||||
- io-storage # #6326/closed
|
- io-storage # #6326/closed
|
||||||
- monadlist # 6271
|
- monadlist # #6271
|
||||||
- non-empty-sequence
|
- non-empty-sequence
|
||||||
- numeric-limits # #6326/closed
|
- numeric-limits # #6326/closed
|
||||||
- oo-prototypes # #6326/closed
|
- oo-prototypes # #6326/closed
|
||||||
@ -5224,7 +5224,7 @@ packages:
|
|||||||
- opentelemetry-extra # #6326/closed
|
- opentelemetry-extra # #6326/closed
|
||||||
- opentelemetry-lightstep # #6326/closed
|
- opentelemetry-lightstep # #6326/closed
|
||||||
- opentelemetry-wai # #6326/closed
|
- opentelemetry-wai # #6326/closed
|
||||||
- path # 6271
|
- path # #6271
|
||||||
- pattern-arrows
|
- pattern-arrows
|
||||||
- planb-token-introspection # #6326/closed
|
- planb-token-introspection # #6326/closed
|
||||||
- pointedlist # #6326/closed
|
- pointedlist # #6326/closed
|
||||||
@ -7456,7 +7456,6 @@ expected-test-failures:
|
|||||||
- cpio-conduit # Test file not in tarball https://github.com/da-x/cpio-conduit/issues/1
|
- cpio-conduit # Test file not in tarball https://github.com/da-x/cpio-conduit/issues/1
|
||||||
- crypto-pubkey # https://github.com/vincenthz/hs-crypto-pubkey/issues/23
|
- crypto-pubkey # https://github.com/vincenthz/hs-crypto-pubkey/issues/23
|
||||||
- doctest
|
- doctest
|
||||||
- doctest-discover # 0.1.0.9 https://github.com/karun012/doctest-discover/issues/22
|
|
||||||
- ghc-events # https://github.com/haskell/ghc-events/issues/70
|
- ghc-events # https://github.com/haskell/ghc-events/issues/70
|
||||||
- gitlab-haskell # https://github.com/commercialhaskell/stackage/issues/6088
|
- gitlab-haskell # https://github.com/commercialhaskell/stackage/issues/6088
|
||||||
- hspec-core # https://github.com/commercialhaskell/stackage/issues/6291
|
- hspec-core # https://github.com/commercialhaskell/stackage/issues/6291
|
||||||
@ -7713,7 +7712,6 @@ expected-benchmark-failures:
|
|||||||
# Compilation failures
|
# Compilation failures
|
||||||
- OrderedBits # 0.0.2.0
|
- OrderedBits # 0.0.2.0
|
||||||
- aeson-combinators # 0.0.5.0
|
- aeson-combinators # 0.0.5.0
|
||||||
- cipher-blowfish # 0.0.11 https://github.com/vincenthz/hs-crypto-cipher/issues/46
|
|
||||||
- cmark-gfm # https://github.com/kivikakk/cmark-gfm-hs/issues/5
|
- cmark-gfm # https://github.com/kivikakk/cmark-gfm-hs/issues/5
|
||||||
- cryptohash # 0.11.9 https://github.com/vincenthz/hs-cryptohash/pull/43
|
- cryptohash # 0.11.9 https://github.com/vincenthz/hs-cryptohash/pull/43
|
||||||
- incremental-parser # 0.5.0.2
|
- incremental-parser # 0.5.0.2
|
||||||
|
|||||||
@ -41,20 +41,20 @@ impl VersionTag {
|
|||||||
|
|
||||||
fn version(&self) -> &str {
|
fn version(&self) -> &str {
|
||||||
match self {
|
match self {
|
||||||
VersionTag::Manual(s) => &s,
|
VersionTag::Manual(s) => s,
|
||||||
VersionTag::Auto(s) => &s,
|
VersionTag::Auto(s) => s,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn outdated() {
|
pub fn outdated() {
|
||||||
let mut all: Vec<String> = vec![];
|
let mut all: Vec<String> = vec![];
|
||||||
let disabled = handle(false, |_loc, lines| {
|
let versioned = handle(false, |_loc, lines| {
|
||||||
all.extend(lines);
|
all.extend(lines);
|
||||||
vec![]
|
vec![]
|
||||||
});
|
});
|
||||||
let mut map: BTreeMap<String, VersionTag> = BTreeMap::new();
|
let mut map: BTreeMap<String, VersionTag> = BTreeMap::new();
|
||||||
for DisabledPackage { package, version } in disabled {
|
for VersionedPackage { package, version } in versioned {
|
||||||
map.insert(package, VersionTag::Manual(version));
|
map.insert(package, VersionTag::Manual(version));
|
||||||
}
|
}
|
||||||
let mut support: BTreeMap<(String, String), BTreeSet<(String, String)>> = BTreeMap::new();
|
let mut support: BTreeMap<(String, String), BTreeSet<(String, String)>> = BTreeMap::new();
|
||||||
@ -107,7 +107,7 @@ pub fn outdated() {
|
|||||||
let latest = latest_version(&package);
|
let latest = latest_version(&package);
|
||||||
if version != latest {
|
if version != latest {
|
||||||
let max = 3;
|
let max = 3;
|
||||||
let dependents_stripped = dependents.len().checked_sub(max).unwrap_or(0);
|
let dependents_stripped = dependents.len().saturating_sub(max);
|
||||||
let dependents = dependents
|
let dependents = dependents
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.take(max)
|
.take(max)
|
||||||
@ -177,34 +177,38 @@ enum State {
|
|||||||
Done,
|
Done,
|
||||||
}
|
}
|
||||||
|
|
||||||
struct DisabledPackage {
|
struct VersionedPackage {
|
||||||
package: String,
|
package: String,
|
||||||
version: String,
|
version: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_disabled_package(s: &str) -> Option<DisabledPackage> {
|
fn parse_versioned_package(s: &str) -> Option<VersionedPackage> {
|
||||||
if let Some(caps) = regex!(r#"- *([^ ]+) < *0 *# *([\d.]+)"#).captures(s) {
|
if let Some(caps) = regex!(r#"- *([^ ]+) < *0 *# *([\d.]+)"#).captures(s) {
|
||||||
let package = caps.get(1).unwrap().as_str().to_owned();
|
let package = caps.get(1).unwrap().as_str().to_owned();
|
||||||
let version = caps.get(2).unwrap().as_str().to_owned();
|
let version = caps.get(2).unwrap().as_str().to_owned();
|
||||||
Some(DisabledPackage { package, version })
|
Some(VersionedPackage { package, version })
|
||||||
|
} else if let Some(caps) = regex!(r#"- *([^ ]+) *# *([\d.]+)"#).captures(s) {
|
||||||
|
let package = caps.get(1).unwrap().as_str().to_owned();
|
||||||
|
let version = caps.get(2).unwrap().as_str().to_owned();
|
||||||
|
Some(VersionedPackage { package, version })
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle<F>(write: bool, mut f: F) -> Vec<DisabledPackage>
|
fn handle<F>(write: bool, mut f: F) -> Vec<VersionedPackage>
|
||||||
where
|
where
|
||||||
F: FnMut(Location, Vec<String>) -> Vec<String>,
|
F: FnMut(Location, Vec<String>) -> Vec<String>,
|
||||||
{
|
{
|
||||||
let path = "build-constraints.yaml";
|
let path = "build-constraints.yaml";
|
||||||
let mut new_lines: Vec<String> = vec![];
|
let mut new_lines: Vec<String> = vec![];
|
||||||
let mut disabled_packages: Vec<DisabledPackage> = vec![];
|
let mut versioned_packages: Vec<VersionedPackage> = vec![];
|
||||||
|
|
||||||
let mut state = State::LookingForLibBounds;
|
let mut state = State::LookingForLibBounds;
|
||||||
let mut buf = vec![];
|
let mut buf = vec![];
|
||||||
for line in read_lines(path).map(|s| s.unwrap()) {
|
for line in read_lines(path).map(|s| s.unwrap()) {
|
||||||
if let Some(disabled_package) = parse_disabled_package(&line) {
|
if let Some(versioned_package) = parse_versioned_package(&line) {
|
||||||
disabled_packages.push(disabled_package);
|
versioned_packages.push(versioned_package);
|
||||||
}
|
}
|
||||||
|
|
||||||
match state {
|
match state {
|
||||||
@ -275,7 +279,7 @@ where
|
|||||||
file.flush().unwrap();
|
file.flush().unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
disabled_packages
|
versioned_packages
|
||||||
}
|
}
|
||||||
|
|
||||||
enum Location {
|
enum Location {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user