From 6c06ed0d6fd802bcbd59484c86e7bb09fbf788aa Mon Sep 17 00:00:00 2001 From: ange Date: Sat, 1 Feb 2025 14:30:51 +0000 Subject: [PATCH] cleanup --- entrypoint.sh | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 4bcbc92..dc25d36 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,24 +1,18 @@ #!/bin/bash -e -curl --fail -v -D /dev/stdout -o resp0.json --header "Authorization: Bearer $ACTIONS_RUNTIME_TOKEN" \ - -X POST --data "{\"Type\":\"actions_storage\",\"Name\":\"$INPUT_NAME\"}" \ - "$GITHUB_SERVER_URL/api/actions_pipeline/_apis/pipelines/workflows/$GITHUB_RUN_ID/artifacts?api-version=6.0-preview" -cat resp0.json -UPLOAD_URL=$(jq -r '.fileContainerResourceUrl' resp0.json) +API="$GITHUB_SERVER_URL/api/actions_pipeline/_apis/pipelines/workflows/$GITHUB_RUN_ID/artifacts?api-version=6.0-preview" +CURL=(curl -H "Authorization: Bearer $ACTIONS_RUNTIME_TOKEN") + +UPLOAD_URL="$("${CURL[@]}" --data "{\"Type\":\"actions_storage\",\"Name\":\"$INPUT_NAME\"}" "$API" | jq -r '.fileContainerResourceUrl')" for artifact in $INPUT_PATH; do - content_length=$(ls -l "$artifact" | awk '{print $5}') - md5=$(openssl md5 -binary "$artifact" | base64) - curl --fail -v -D /dev/stdout -o resp1.json --header "Authorization: Bearer $ACTIONS_RUNTIME_TOKEN" \ - --header "x-actions-results-md5: $md5" \ - --header "x-tfs-filelength: ${content_length}" \ - --header "content-range: bytes 0-$((content_length-1))/${content_length}" \ - -X PUT --data-binary "@$artifact" \ - "${UPLOAD_URL}?retentionDays=$INPUT_RETENTION_DAYS&itemPath=$INPUT_NAME%2F$artifact" - cat resp1.json - curl --fail -v -D /dev/stdout -o resp2.json --header "Authorization: Bearer $ACTIONS_RUNTIME_TOKEN" \ - -X PATCH \ - "$GITHUB_SERVER_URL/api/actions_pipeline/_apis/pipelines/workflows/$GITHUB_RUN_ID/artifacts?api-version=6.0-preview&artifactName=$INPUT_NAME" - cat resp2.json - rm resp1.json resp2.json + content_length=$(stat -c '%s' "$artifact") + md5=$(openssl md5 -binary "$artifact" | base64) + "${CURL[@]}" -XPUT \ + -H "x-actions-results-md5: $md5" \ + -H "x-tfs-filelength: ${content_length}" \ + -H "content-range: bytes 0-$((content_length-1))/${content_length}" \ + --data-binary "@$artifact" \ + "$UPLOAD_URL?retentionDays=$INPUT_RETENTION_DAYS&itemPath=$INPUT_NAME%2F$artifact" + "${CURL[@]}" -XPATCH \ + "$API&artifactName=$INPUT_NAME" done -rm resp0.json