mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 14:35:41 +00:00
Fix/release create tag before verify (#405)
* fix(release): create missing app-v tag before release verification Ensure reusable publish creates and pushes the expected app-v tag when absent, then validates it points to source_ref. This prevents release records with tag_name but no git refs/tags object, which previously broke Source code archives. * fix(release): pin tauri publish to tagged release metadata Pass tagName/releaseName/releaseDraft/prerelease to tauri-action in addition to releaseId, so asset upload fallback remains bound to the expected app-v release instead of creating untagged releases. * chore(ci): align workflow action versions for release flow Update github-script usage to v9 across release-related workflows and keep the current tauri-action release binding changes in the same branch for testing. * fix(release): harden tagged release resolution for source-only promote Canonicalize release_id via getReleaseByTag after create/update and fail fast on invalid tag/commit inputs to avoid untagged release binding. Also propagate source-only marker through promote push events so push-triggered channel runs skip platform artifacts and verify-nix consistently. * fix(release): avoid tag lookup hard-fail during release creation Remove immediate getReleaseByTag canonicalization after create/update because GitHub can return 404 for tag-based release lookup while the release id is valid. Keep release_id flow and downstream release-id validation to prevent regressions.
This commit is contained in:
@@ -207,18 +207,6 @@ jobs:
|
|||||||
core.info(`Created release id=${releaseId} tag=${tag} target_commitish=${targetCommitish}`);
|
core.info(`Created release id=${releaseId} tag=${tag} target_commitish=${targetCommitish}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Canonicalize release_id by querying the expected tag directly.
|
|
||||||
// This prevents passing a mismatched/untagged release id to later jobs.
|
|
||||||
const { data: byTag } = await github.rest.repos.getReleaseByTag({
|
|
||||||
owner: context.repo.owner,
|
|
||||||
repo: context.repo.repo,
|
|
||||||
tag,
|
|
||||||
});
|
|
||||||
if (!byTag.tag_name || byTag.tag_name.startsWith("untagged-")) {
|
|
||||||
throw new Error(`Release fetched by tag '${tag}' is untagged ('${byTag.tag_name ?? ""}')`);
|
|
||||||
}
|
|
||||||
releaseId = byTag.id;
|
|
||||||
core.info(`Resolved canonical release id=${releaseId} by tag=${tag}`);
|
|
||||||
core.setOutput("release_id", String(releaseId));
|
core.setOutput("release_id", String(releaseId));
|
||||||
- name: validate release id output
|
- name: validate release id output
|
||||||
env:
|
env:
|
||||||
|
|||||||
Reference in New Issue
Block a user