diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 63281723..010c87bd 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -3,29 +3,34 @@ on: push: tags: - '**' -env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} jobs: create-github-release: runs-on: ubuntu-22.04 + permissions: + contents: write + workflows: write steps: - uses: actions/checkout@v3.5.3 - - run: .scripts/github/release.sh > upload_url + - run: .scripts/github/release.sh + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - uses: actions/upload-artifact@v4.3.1 with: + name: upload_url path: upload_url jvm-maven-github: runs-on: macos-14-xlarge needs: [ create-github-release ] + permissions: + packages: write steps: - uses: actions/checkout@v3.5.3 - uses: ./.github/actions/runGradleTask with: preTaskString: -Pversion=$GITHUB_REF_NAME task: library:publishKotlinMultiplatformPublicationToGithubPackagesRepository - - uses: actions/download-artifact@v4.1.4 - with: - name: upload_url + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} attach-xcframework-to-github-release: runs-on: macos-14-xlarge needs: [ create-github-release ] @@ -38,12 +43,14 @@ jobs: - uses: actions/download-artifact@v4.1.4 with: name: upload_url + - run: echo $UPLOAD_URL - run: UPLOAD_URL=$(cat upload_url | sed "s/{?name,label}/?name=Library-${GITHUB_REF_NAME}.xcframework.zip/") + - run: echo $UPLOAD_URL - run: | curl -s \ - -u ${GITHUB_ACTOR}:${GITHUB_TOKEN} \ - --header "Accept: application/vnd.github.v3+json" \ - --header "Content-Type: application/zip" \ - --data-binary "@Library.xcframework.zip" \ - --request POST \ - $UPLOAD_URL + -X POST \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer $GITHUB_TOKEN" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + --data-binary "@Library.xcframework.zip" \ + $UPLOAD_URL diff --git a/.scripts/github/release.sh b/.scripts/github/release.sh index 909d41ff..9fbc3296 100755 --- a/.scripts/github/release.sh +++ b/.scripts/github/release.sh @@ -1,5 +1,5 @@ #!/bin/bash -set -ev +set -e BODY="{ \"tag_name\": \"${GITHUB_REF_NAME}\", @@ -8,12 +8,16 @@ BODY="{ \"body\": \"$(cat "$GITHUB_WORKSPACE"/changelog/"$GITHUB_REF_NAME")\" }" -RESPONSE_BODY=$(curl -s \ - -u "${GITHUB_ACTOR}":"${GITHUB_TOKEN}" \ - --header "Accept: application/vnd.github.v3+json" \ - --header "Content-Type: application/json; charset=utf-8" \ +echo $BODY + +RESPONSE_BODY=$(curl -sL \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ --request POST \ --data "${BODY}" \ https://api.github.com/repos/"${GITHUB_REPOSITORY}"/releases) +echo $RESPONSE_BODY + echo "$RESPONSE_BODY" | jq -r .upload_url