Skip to content

Commit

Permalink
ansible: fix promotion to R2 dist-prod for releases (#3840)
Browse files Browse the repository at this point in the history
Due to R2 limitations, `aws s3 cp` and `aws s3 sync` only succeed in
copying different sets of files across. Fortunately the sets are
disjoint, so running both commands (ignoring errors) will copy all the
files across.

Update `resha_release.sh` to redirect to a log file the output from the
`upload_to_cloudflare.sh` to prevent extra output interfering with the
`release.sh` script.

Fixes: #3838
Refs: #3838 (comment)
  • Loading branch information
richardlau authored Oct 30, 2024
1 parent 763385b commit 21fc64a
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
7 changes: 6 additions & 1 deletion ansible/www-standalone/tools/promote/resha_release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ fi

${__dirname}/_resha.sh $site $dstdir $2

. ${__dirname}/upload_to_cloudflare.sh $site $2
# https://github.com/nodejs/build/issues/3508
# Output from upload_to_cloudflare.sh must not go to stdout to prevent
# breaking the release.sh script.
logfile="${__dirname}/logs/cloudflare.log"
date >> "${logfile}"
. ${__dirname}/upload_to_cloudflare.sh $site $2 >> "${logfile}" 2>&1

/home/nodejs/queue-cdn-purge.sh $site resha_release
6 changes: 5 additions & 1 deletion ansible/www-standalone/tools/promote/upload_to_cloudflare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@ fi
relativedir=${dstdir/$dist_rootdir/"$site/"}
tmpversion=$2

aws s3 cp $staging_bucket/$relativedir/$tmpversion/ $dist_bucket/$relativedir/$tmpversion/ --endpoint-url=$cloudflare_endpoint --profile $cloudflare_profile --recursive --no-follow-symlinks
# Due to R2 limitations, `aws s3 cp` and `aws s3 sync` only succeed in copying
# different sets of files across. Fortunately the sets are disjoint, so running
# both commands (ignoring errors) will copy all the files across.
aws s3 cp $staging_bucket/$relativedir/$tmpversion/ $dist_bucket/$relativedir/$tmpversion/ --endpoint-url=$cloudflare_endpoint --profile $cloudflare_profile --recursive --no-follow-symlinks --copy-props none || true
aws s3 sync $staging_bucket/$relativedir/$tmpversion/ $dist_bucket/$relativedir/$tmpversion/ --endpoint-url=$cloudflare_endpoint --profile $cloudflare_profile --no-follow-symlinks || true
aws s3 cp $staging_bucket/$relativedir/index.json $dist_bucket/$relativedir/index.json --endpoint-url=$cloudflare_endpoint --profile $cloudflare_profile
aws s3 cp $staging_bucket/$relativedir/index.tab $dist_bucket/$relativedir/index.tab --endpoint-url=$cloudflare_endpoint --profile $cloudflare_profile

0 comments on commit 21fc64a

Please sign in to comment.