Skip to content

Commit

Permalink
ci-automation: explicitly make packages tarballs readable
Browse files Browse the repository at this point in the history
Since #950 was merged,
tarball files `flatcar-{packages,sdk}-*.tar.zst` have been created
with mode 0600 instead of 0644. As a result, the files with mode 0600
were uploaded to bincache, but afterwards `copy-to-origin.sh` that in
turn runs rsync from bincache to the origin server could not read the
tarballs.

To fix that, it is necessary to chmod from 0600 to 0644 to make it
readable by rsync during the release process.

All of that happens because zstd sets the mode of the output file to
0600 in case of temporary files to avoid race condition.

See also facebook/zstd#1644,
facebook/zstd#3432.
  • Loading branch information
dongsupark committed Aug 11, 2023
1 parent 74f3593 commit 19e10e7
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions ci-automation/ci_automation_common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,14 @@ function docker_image_to_buildcache() {
local id_file="$(basename "$image")-${version}.id"

$docker save "${image}":"${version}" | zstd -T0 -o "${tarball}"

# It is necessary to chmod from 0600 to 0644 to make it readable
# afterwards by rsync during the release process. Zstd sets the mode
# of the output file to 0600 in case of temporary files to avoid race
# condition. See also https://github.com/facebook/zstd/pull/1644,
# https://github.com/facebook/zstd/pull/3432.
chmod 0644 "${tarball}"

# Cut the "sha256:" prefix that is present in Docker but not in Podman
$docker image inspect "${image}":"${version}" | jq -r '.[].Id' | sed 's/^sha256://' > "${id_file}"
create_digests "${SIGNER:-}" "${tarball}" "${id_file}"
Expand Down

0 comments on commit 19e10e7

Please sign in to comment.