Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5c5a5e9990 | ||
|
|
b093ebf0de |
@@ -3,6 +3,10 @@
|
|||||||
One line per change, grouped by the release that shipped it. Newest
|
One line per change, grouped by the release that shipped it. Newest
|
||||||
first. Each release names the portal tag it is built against.
|
first. Each release names the portal tag it is built against.
|
||||||
|
|
||||||
|
## 0.1.1 (2026-09-22) - portal v0.3.36
|
||||||
|
|
||||||
|
- `check --repo` fetches needs.yaml itself; the v0.1.0 tag never published (a cache permission on the runner, since fixed).
|
||||||
|
|
||||||
## 0.1.0 (2026-09-22) - portal v0.3.36
|
## 0.1.0 (2026-09-22) - portal v0.3.36
|
||||||
|
|
||||||
- First release: the lint moved out of portal (`question_lint` becomes
|
- First release: the lint moved out of portal (`question_lint` becomes
|
||||||
|
|||||||
Generated
+1
-1
@@ -2036,7 +2036,7 @@ checksum = "791930b43c0d5973160d90a8f3894509f2b273430f5c5c73b668636d0287c5c0"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iris"
|
name = "iris"
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-nats",
|
"async-nats",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "iris"
|
name = "iris"
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "The iris over a portal site: nothing from a content repo comes through until it checks out"
|
description = "The iris over a portal site: nothing from a content repo comes through until it checks out"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|||||||
+3
-2
@@ -57,7 +57,8 @@ pub async fn run(argv: Vec<String>) -> anyhow::Result<()> {
|
|||||||
// load_site_from_gitea already validates; a missing file is
|
// load_site_from_gitea already validates; a missing file is
|
||||||
// the default config, same as at portal boot.
|
// the default config, same as at portal boot.
|
||||||
let site = content::load_site_from_gitea(&repo_url, &branch).await?;
|
let site = content::load_site_from_gitea(&repo_url, &branch).await?;
|
||||||
let needs_raw = content::load_needs_from_gitea(&repo_url, &branch).await?;
|
// Optional: a fetch failure means the repo declares no needs.
|
||||||
|
let needs_raw = portal::http::get_text(&format!("{}/needs.yaml?ref={branch}", content::gitea_raw_base(&repo_url)?), portal::http::GITEA_CAP).await.ok();
|
||||||
(questions, aggregates_map, site, needs_raw)
|
(questions, aggregates_map, site, needs_raw)
|
||||||
} else {
|
} else {
|
||||||
eprintln!(
|
eprintln!(
|
||||||
@@ -108,7 +109,7 @@ pub async fn run(argv: Vec<String>) -> anyhow::Result<()> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The business-needs pass (see `portal::needs`): structure always,
|
/// The business-needs pass (see `crate::needs`): structure always,
|
||||||
/// then the wording tasks written out and/or an engine's answers
|
/// then the wording tasks written out and/or an engine's answers
|
||||||
/// scored, when asked. A repo without `needs.yaml` skips all of it.
|
/// scored, when asked. A repo without `needs.yaml` skips all of it.
|
||||||
fn check_needs(
|
fn check_needs(
|
||||||
|
|||||||
+1
-1
@@ -82,7 +82,7 @@ fn collect_yaml(
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The offline counterpart to `content::load_needs_from_gitea` -
|
/// The offline counterpart to `check`'s needs.yaml fetch -
|
||||||
/// `needs.yaml` sits at the repo root beside `aggregates.yaml`.
|
/// `needs.yaml` sits at the repo root beside `aggregates.yaml`.
|
||||||
pub fn load_needs_from_dir(dir: &str) -> anyhow::Result<Option<String>> {
|
pub fn load_needs_from_dir(dir: &str) -> anyhow::Result<Option<String>> {
|
||||||
let needs_path = std::path::Path::new(dir)
|
let needs_path = std::path::Path::new(dir)
|
||||||
|
|||||||
Reference in New Issue
Block a user