mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 04:55:42 +09:00
fix(ci): consolidate release approvals and finalise drafts (#1223)
This commit is contained in:
1 parent
a2ed83df08
commit
79c79b16e6
17 files changed
+293
-20
No files matched your search
+28
-6
@@ -500,12 +500,7 @@ fn upload_release_assets(version: &str, assets: &[PathBuf]) -> Result<()> {
|
||||
|
||||
fn publish_release(version: &str, notes_path: &Path) -> Result<()> {
|
||||
let tag = release_tag(version);
|
||||
let release_id = output_text(
|
||||
CommandSpec::new("gh")
|
||||
.arg("api")
|
||||
.arg(format!("repos/{{owner}}/{{repo}}/releases/tags/{tag}"))
|
||||
.args(["--jq", ".id"]),
|
||||
)?;
|
||||
let release_id = release_database_id(&tag)?;
|
||||
let payload_dir = tempdir()?;
|
||||
let payload_path = payload_dir.path().join("release-update.json");
|
||||
write_json_pretty(
|
||||
@@ -526,6 +521,22 @@ fn publish_release(version: &str, notes_path: &Path) -> Result<()> {
|
||||
)
|
||||
}
|
||||
|
||||
fn release_database_id(tag: &str) -> Result<String> {
|
||||
let release_id = output_text(release_database_id_command(tag))?;
|
||||
ensure!(
|
||||
!release_id.trim().is_empty(),
|
||||
"GitHub release {tag} did not include a database id"
|
||||
);
|
||||
Ok(release_id)
|
||||
}
|
||||
|
||||
fn release_database_id_command(tag: &str) -> CommandSpec {
|
||||
CommandSpec::new("gh")
|
||||
.args(["release", "view", tag])
|
||||
.args(["--json", "databaseId"])
|
||||
.args(["--jq", ".databaseId"])
|
||||
}
|
||||
|
||||
fn write_fragment(name: &str, value: &Value) -> Result<PathBuf> {
|
||||
let dir = release_output_dir().join("fragments");
|
||||
fs::create_dir_all(&dir).with_context(|| format!("Failed to create {}", dir.display()))?;
|
||||
@@ -1000,6 +1011,17 @@ mod tests {
|
||||
assert!(notes.contains("- `self-hosting`"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn release_database_id_command_uses_gh_release_view_for_drafts() {
|
||||
assert_eq!(
|
||||
release_database_id_command("2026.520.1"),
|
||||
CommandSpec::new("gh")
|
||||
.args(["release", "view", "2026.520.1"])
|
||||
.args(["--json", "databaseId"])
|
||||
.args(["--jq", ".databaseId"])
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn self_hosting_images_match_compose_release_surface() {
|
||||
let images = self_hosting_images("2026.520.1")
|
||||
|
||||
Reference in new issue
Block a user