From a99e3bce1fdaf36deb924b84b841cebf7b6f802d Mon Sep 17 00:00:00 2001 From: ArthurZheng <869705086@qq.com> Date: Fri, 12 Jul 2024 16:45:32 +0800 Subject: [PATCH] test 1 --- .github/workflows/sync_release_to_gitee.yml | 75 ++++++++++++--------- 1 file changed, 44 insertions(+), 31 deletions(-) diff --git a/.github/workflows/sync_release_to_gitee.yml b/.github/workflows/sync_release_to_gitee.yml index e18773f..b8bad76 100644 --- a/.github/workflows/sync_release_to_gitee.yml +++ b/.github/workflows/sync_release_to_gitee.yml @@ -24,44 +24,57 @@ jobs: }); const assets = JSON.stringify(response.data.assets); core.setOutput('assets', assets); + core.setOutput('tag_name', response.data.tag_name); + core.setOutput('name', response.data.name); + core.setOutput('body', response.data.body); + return response.data; - name: Download release assets run: | assets=$(echo '${{ steps.get_release_info.outputs.assets }}' | jq -r '.[] | .browser_download_url') for url in $assets; do - wget -q $url -P ./downloads + wget -q $url -P ./downloads done - - name: Create release on Gitee + - name: Create Gitee Release + id: create_gitee_release + uses: actions/github-script@v6 + with: + script: | + const response = await fetch('https://gitee.com/api/v5/repos/openblockcc/external-resources-v3/releases', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Authorization': `Bearer ${process.env.GITEE_TOKEN}` + }, + body: JSON.stringify({ + access_token: process.env.GITEE_TOKEN, + tag_name: `${{ steps.get_release_info.outputs.tag_name }}`, + name: `${{ steps.get_release_info.outputs.name }}`, + body: `${{ steps.get_release_info.outputs.body }}`, + target_commitish: 'main' + }) + }); + + if (!response.ok) { + const error = await response.json(); + core.setFailed(`Error creating Gitee release: ${error.message}`); + } else { + const data = await response.json(); + core.setOutput('gitee_release_id', data.id); // Set output with Gitee release ID + console.log('Gitee release created successfully:', data); + } env: GITEE_TOKEN: ${{ secrets.GITEE_TOKEN }} - run: | - RELEASE_TAG=$(git describe --tags --abbrev=0) - RELEASE_NAME=$(git tag -l --format='%(tag)' --contains ${RELEASE_TAG}) - RELEASE_BODY=$(git for-each-ref refs/tags/${RELEASE_TAG} --format='%(contents)') - # Create release on Gitee - RESPONSE=$(curl -X POST -H "Content-Type: application/json" \ - -H "Authorization: token ${GITEE_TOKEN}" \ - -d '{ - "access_token": "'${GITEE_TOKEN}'", - "tag_name": "'${RELEASE_TAG}'", - "target_commitish": "main", - "name": "'${RELEASE_NAME}'", - "body": "'${RELEASE_BODY}'", - "draft": false, - "prerelease": false - }' \ - https://gitee.com/api/v5/repos/openblockcc/external-resources-v3/releases) - - RELEASE_ID=$(echo $RESPONSE | jq -r '.id') - - # Upload assets to Gitee - for FILE in $(ls ./downloads); do - if [ -f "$FILE" ]; then - curl -X POST -H "Authorization: token ${GITEE_TOKEN}" \ - -F "access_token=${GITEE_TOKEN}" \ - -F "file=@${FILE}" \ - https://gitee.com/api/v5/repos/openblockcc/external-resources-v3/releases/${RELEASE_ID}/assets?name=${FILE} - fi - done + - name: Upload assets to Gitee Release + run: | + releaseId="${{ steps.get_release_info.outputs.release_id }}" + for file in ./downloads/*; do + curl -X POST \ + -F "access_token=${{ secrets.GITEE_TOKEN }}" \ + -F "file=@${file}" \ + "https://gitee.com/api/v5/reposopenblockcc/external-resources-v3/releases/${releaseId}/attach_files" + done + env: + GITEE_TOKEN: ${{ secrets.GITEE_TOKEN }}