forked from baron/baron-sso
워크플로우 업데이트
This commit is contained in:
@@ -86,7 +86,7 @@ if [[ -n "$output_file" ]]; then
|
||||
fi
|
||||
|
||||
case "$url" in
|
||||
https://www.worksapis.com/v1.0/sharedrives/shared-drive-1/files/children)
|
||||
https://www.worksapis.com/v1.0/sharedrives/shared-drive-1/files)
|
||||
printf '{"files":[{"fileId":"baron-sso-id","fileName":"baron-sso","fileType":"FOLDER"}]}\n200\n'
|
||||
;;
|
||||
https://www.worksapis.com/v1.0/sharedrives/shared-drive-1/files/baron-sso-id/children)
|
||||
@@ -132,7 +132,7 @@ WORKS_DOCKER_IMAGE_DOWNLOAD_DIR="$tmp_root/downloaded" \
|
||||
IMAGE_TAG="v1.2606.ab12" \
|
||||
"$script" >/dev/null
|
||||
|
||||
grep -Fq "sharedrives/shared-drive-1/files/children" "$curl_log" \
|
||||
grep -Fq "sharedrives/shared-drive-1/files" "$curl_log" \
|
||||
|| fail "download script must list the shared drive root."
|
||||
grep -Fq "sharedrives/shared-drive-1/files/baron-sso-id/children" "$curl_log" \
|
||||
|| fail "download script must resolve the baron-sso folder."
|
||||
|
||||
@@ -205,4 +205,68 @@ report_file="$artifact_dir/works-upload.json"
|
||||
jq -e '.status == "uploaded" and (.files | length) == 3' "$report_file" >/dev/null \
|
||||
|| fail "upload report must include three uploaded artifact files."
|
||||
|
||||
root_curl_log="$tmp_dir/root-curl.log"
|
||||
root_fake_curl="$tmp_dir/root-fake-curl.sh"
|
||||
cat >"$root_fake_curl" <<'EOF'
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
printf '%s\n' "$*" >>"${FAKE_CURL_LOG}"
|
||||
last_arg="${!#}"
|
||||
|
||||
case "$last_arg" in
|
||||
https://www.worksapis.com/v1.0/sharedrives/root-drive/files)
|
||||
printf '{"files":[]}\n200'
|
||||
;;
|
||||
https://www.worksapis.com/v1.0/sharedrives/root-drive/files/createfolder)
|
||||
create_count_file="${FAKE_CURL_LOG}.root-create-count"
|
||||
create_count=0
|
||||
[[ -f "$create_count_file" ]] && create_count="$(cat "$create_count_file")"
|
||||
create_count=$((create_count + 1))
|
||||
printf '%s' "$create_count" >"$create_count_file"
|
||||
if [[ "$create_count" -eq 1 ]]; then
|
||||
printf '{"fileId":"root-baron-sso-id","fileName":"baron-sso","fileType":"FOLDER"}\n200'
|
||||
else
|
||||
printf '{"code":"RESOURCE_ALREADY_EXIST","description":"Resource already exists."}\n409'
|
||||
fi
|
||||
;;
|
||||
https://www.worksapis.com/v1.0/sharedrives/root-drive/files/root-baron-sso-id/children)
|
||||
printf '{"files":[]}\n200'
|
||||
;;
|
||||
https://www.worksapis.com/v1.0/sharedrives/root-drive/files/root-baron-sso-id/createfolder)
|
||||
printf '{"fileId":"root-tag-id","fileName":"v1.2606.ab12","fileType":"FOLDER"}\n200'
|
||||
;;
|
||||
https://www.worksapis.com/v1.0/sharedrives/root-drive/files/root-tag-id)
|
||||
printf '{"uploadUrl":"https://upload.example.test/root-docker-image"}\n200'
|
||||
;;
|
||||
https://upload.example.test/root-docker-image)
|
||||
printf '{"fileId":"uploaded-root-file-id"}\n200'
|
||||
;;
|
||||
*)
|
||||
echo "unexpected root curl URL: $last_arg" >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
EOF
|
||||
chmod +x "$root_fake_curl"
|
||||
|
||||
root_archive_dir="$tmp_dir/root-archive"
|
||||
for image in backend userfront; do
|
||||
FAKE_DOCKER_LOG="$docker_log" \
|
||||
FAKE_CURL_LOG="$root_curl_log" \
|
||||
PATH="$fake_bin:$PATH" \
|
||||
WORKS_DRIVE_ACCESS_TOKEN="test-access-token" \
|
||||
WORKS_DRIVE_TARGET="sharedrive" \
|
||||
WORKS_DRIVE_SHARED_DRIVE_ID="root-drive" \
|
||||
WORKS_DRIVE_PARENT_FILE_ID="" \
|
||||
WORKS_DRIVE_CURL_BIN="$root_fake_curl" \
|
||||
WORKS_DOCKER_IMAGE_ARCHIVE_DIR="$root_archive_dir" \
|
||||
DOCKER_IMAGE_REF="baron_sso/${image}:v1.2606.ab12" \
|
||||
"$script" >"$tmp_dir/root-${image}.out"
|
||||
done
|
||||
|
||||
root_create_count="$(cat "${root_curl_log}.root-create-count")"
|
||||
[[ "$root_create_count" == "1" ]] || fail "script must reuse the cached root archive folder id across image uploads in the same run."
|
||||
grep -Fq "sharedrives/root-drive/files/root-tag-id" "$root_curl_log" \
|
||||
|| fail "script must upload follow-up images into the cached tag folder."
|
||||
|
||||
echo "OK: WORKS Drive Docker image archive upload flow commits, packages, and uploads image artifacts"
|
||||
|
||||
Reference in New Issue
Block a user