diff --git a/action.yaml b/action.yaml index 9241f54..c26bccd 100644 --- a/action.yaml +++ b/action.yaml @@ -18,4 +18,26 @@ runs: using: composite steps: - name: Upload - run: ${{ gitea.action_path }}/entrypoint.sh + run: | + curl --fail -v -D /dev/stdout -o resp0.json --header "Authorization: Bearer ${{ inputs.token }}" \ + -X POST --data '{"Type":"actions_storage","Name":"${{ inputs.name }}"}' \ + "${{ gitea.server_url }}/api/actions_pipeline/_apis/pipelines/workflows/${{ gitea.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 ${{ inputs.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 ${{ inputs.token }}" \ + -X PATCH \ + "${{ gitea.server_url }}/api/actions_pipeline/_apis/pipelines/workflows/${{ gitea.run_id }}/artifacts?api-version=6.0-preview&artifactName=${{ inputs.name }}" + cat resp2.json + rm resp1.json resp2.json + done + rm resp0.json diff --git a/entrypoint.sh b/entrypoint.sh deleted file mode 100755 index 70f5a03..0000000 --- a/entrypoint.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/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