diff --git a/action.yaml b/action.yaml index 9241f54..092026f 100644 --- a/action.yaml +++ b/action.yaml @@ -18,4 +18,4 @@ runs: using: composite steps: - name: Upload - run: ${{ gitea.action_path }}/entrypoint.sh + run: ${{ forgejo.action_path }}/entrypoint.sh diff --git a/entrypoint.sh b/entrypoint.sh old mode 100644 new mode 100755 index 70f5a03..0fcdede --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,24 +1,31 @@ #!/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 +# https://codeberg.org/forgejo/forgejo/src/commit/bf80842b4f14a075c6840b6fe37d59b5ac3fac44/routers/api/actions/artifacts.go + +CURL=(curl -H "Authorization: Bearer $ACTIONS_RUNTIME_TOKEN") + +API="$GITHUB_SERVER_URL/api/actions_pipeline/_apis/pipelines/workflows/$GITHUB_RUN_ID/artifacts?api-version=6.0-preview" + +JSON="$(cat <