2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-07-31 10:09:40 +00:00

fix(packaging): create release alias after signing

Signed-off-by: Vinícius Ferrão <2031761+viniciusferrao@users.noreply.github.com>
This commit is contained in:
Vinícius Ferrão
2026-07-11 19:48:19 -03:00
parent daddfe0fb9
commit ea490e9d48
2 changed files with 18 additions and 1 deletions
+7 -1
View File
@@ -648,7 +648,6 @@ sub update_repo {
my ($target) = @_;
my $repodir = "dist/$target/rpms";
index_repo($repodir);
write_release_alias($repodir);
}
sub write_release_alias {
@@ -783,6 +782,7 @@ sub finalize_core {
sign_repo_dir($dir, $opts{gpg_key_name});
}
write_repo_metadata_dir($dir);
write_release_alias($dir);
return 0;
}
@@ -835,6 +835,12 @@ sub main {
write_repo_metadata($target);
}
# Signing regenerates repository metadata, so create the direct-download
# alias only after the final metadata pass.
for my $target ($opts{targets}->@*) {
write_release_alias("dist/$target/rpms");
}
exit(0);
}
+11
View File
@@ -53,6 +53,17 @@ like(
qr/cp \$release_rpms\[0\], \$alias/,
'repository export creates the stable bootstrap filename'
);
my $sign_call = rindex($builder, 'sign_rpms($target)');
my $alias_call = rindex($builder, 'write_release_alias("dist/$target/rpms")');
ok(
$sign_call >= 0 && $alias_call > $sign_call,
'stable bootstrap alias is created after signed metadata is finalized'
);
like(
$builder,
qr/sub finalize_core \{.*?write_repo_metadata_dir\(\$dir\);.*?write_release_alias\(\$dir\);/s,
'assembled core repository creates the stable alias after final metadata'
);
done_testing();