feat: enhance Gitea release process with token fallback and improved artifact upload
CI / CD / Test and Build (push) Successful in 30s
CI / CD / Publish (push) Failing after 56s

This commit is contained in:
Space-Banane
2026-07-10 22:28:43 +02:00
parent 97b2089857
commit 75ef33f47c
+17 -8
View File
@@ -49,8 +49,8 @@ jobs:
- name: Package dist - name: Package dist
run: zip -r dist.zip dist package.json README.md run: zip -r dist.zip dist package.json README.md
- name: Upload dist artifact - name: Upload dist artifact to Gitea
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: shsf-cli-dist name: shsf-cli-dist
path: dist.zip path: dist.zip
@@ -107,15 +107,24 @@ jobs:
- name: Create Gitea release - name: Create Gitea release
env: env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: | run: |
if [ -z "${GITEA_TOKEN}" ]; then TOKEN="${GITEA_TOKEN:-${GITHUB_TOKEN:-}}"
echo "GITEA_TOKEN is not configured; skipping Gitea release." if [ -z "${TOKEN}" ]; then
echo "No Gitea token is configured; skipping Gitea release."
exit 0 exit 0
fi fi
VERSION="$(node -p "require('./package.json').version")" VERSION="$(node -p "require('./package.json').version")"
API="${GITEA_SERVER_URL%/}/api/v1/repos/${GITEA_REPOSITORY}/releases" SERVER_URL="${GITEA_SERVER_URL:-${GITHUB_SERVER_URL}}"
curl -sSf \ REPOSITORY="${GITEA_REPOSITORY:-${GITHUB_REPOSITORY}}"
-H "Authorization: token ${GITEA_TOKEN}" \ API="${SERVER_URL%/}/api/v1/repos/${REPOSITORY}/releases"
RELEASE_JSON="$(curl -sSf \
-H "Authorization: token ${TOKEN}" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d "{\"tag_name\":\"v${VERSION}\",\"target_commitish\":\"${GITHUB_SHA}\",\"name\":\"v${VERSION}\",\"body\":\"Automated SHSF CLI release v${VERSION}\",\"draft\":false,\"prerelease\":false}" \ -d "{\"tag_name\":\"v${VERSION}\",\"target_commitish\":\"${GITHUB_SHA}\",\"name\":\"v${VERSION}\",\"body\":\"Automated SHSF CLI release v${VERSION}\",\"draft\":false,\"prerelease\":false}" \
"$API" "$API")"
RELEASE_ID="$(node -e "const fs=require('fs'); const data=JSON.parse(fs.readFileSync(0, 'utf8')); process.stdout.write(String(data.id));" <<< "${RELEASE_JSON}")"
curl -sSf \
-H "Authorization: token ${TOKEN}" \
-F "attachment=@dist.zip" \
"${API}/${RELEASE_ID}/assets?name=dist.zip"