#!/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\":\"$INPUTS_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) for artifact in $INPUTS_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=$INPUTS_RETENTION_DAYS&itemPath=$INPUTS_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=$INPUTS_NAME" cat resp2.json rm resp1.json resp2.json done rm resp0.json