fix: pipeline version v6
This commit is contained in:
parent
0d03ee61e2
commit
5fb117340a
@ -26,6 +26,22 @@ jobs:
|
||||
VERSION="0.1.1"
|
||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
||||
echo "Publishing version: $VERSION"
|
||||
|
||||
- name: Create and push Git tag
|
||||
run: |
|
||||
# Configure Git credentials
|
||||
git config --global user.name "Gitea Actions"
|
||||
git config --global user.email "actions@gitea.com"
|
||||
|
||||
# Create tag if it doesn't exist
|
||||
if ! git tag | grep -q "v${VERSION}"; then
|
||||
echo "Creating tag v${VERSION}..."
|
||||
git tag -a "v${VERSION}" -m "Release version ${VERSION}"
|
||||
git push origin "v${VERSION}"
|
||||
echo "✅ Tag v${VERSION} created and pushed"
|
||||
else
|
||||
echo "✅ Tag v${VERSION} already exists"
|
||||
fi
|
||||
|
||||
- name: Prepare release directory
|
||||
run: mkdir -p ./release
|
||||
@ -184,4 +200,75 @@ jobs:
|
||||
if: ${{ success() }}
|
||||
run: |
|
||||
echo "🎉 Voca ${VERSION} published to Zapstore!"
|
||||
echo "🔗 https://zapstore.dev/app/voca"
|
||||
echo "🔗 https://zapstore.dev/app/voca"
|
||||
|
||||
- name: Create Gitea Release
|
||||
run: |
|
||||
# Ensure tag exists
|
||||
echo "Creating Gitea release for tag v${VERSION}..."
|
||||
|
||||
# Extract release notes from CHANGELOG.md or create default notes
|
||||
RELEASE_NOTES="Automated release for v${VERSION}. See CHANGELOG.md for details."
|
||||
if [ -f "CHANGELOG.md" ]; then
|
||||
echo "Extracting release notes from CHANGELOG.md..."
|
||||
# Try to extract relevant section for this version
|
||||
VERSION_NOTES=$(sed -n "/## v${VERSION}/,/## v/p" CHANGELOG.md | sed '/## v[0-9]/d')
|
||||
if [ ! -z "$VERSION_NOTES" ]; then
|
||||
RELEASE_NOTES="$VERSION_NOTES"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Using release notes: $RELEASE_NOTES"
|
||||
|
||||
# Create JSON payload for release creation
|
||||
PAYLOAD=$(cat <<EOF
|
||||
{
|
||||
"tag_name": "v${VERSION}",
|
||||
"name": "v${VERSION}",
|
||||
"body": "$RELEASE_NOTES",
|
||||
"draft": false,
|
||||
"prerelease": false
|
||||
}
|
||||
EOF
|
||||
)
|
||||
|
||||
# Create the release via Gitea API
|
||||
REPO_OWNER="voca"
|
||||
REPO_NAME="voca"
|
||||
API_URL="https://git.nostrdev.com/api/v1/repos/${REPO_OWNER}/${REPO_NAME}/releases"
|
||||
|
||||
HTTP_RESPONSE=$(curl -s -w "%{http_code}" \
|
||||
-X POST "$API_URL" \
|
||||
-H "accept: application/json" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \
|
||||
-d "$PAYLOAD")
|
||||
|
||||
HTTP_BODY=${HTTP_RESPONSE:0:${#HTTP_RESPONSE}-3}
|
||||
HTTP_STATUS=${HTTP_RESPONSE:${#HTTP_RESPONSE}-3}
|
||||
|
||||
if [ "$HTTP_STATUS" = "201" ] || [ "$HTTP_STATUS" = "200" ]; then
|
||||
echo "✅ Gitea release created successfully!"
|
||||
# Extract release ID for uploading assets
|
||||
RELEASE_ID=$(echo "$HTTP_BODY" | grep -o '"id":[0-9]*' | head -1 | cut -d':' -f2)
|
||||
|
||||
# Upload APK as release asset
|
||||
APK_NAME="voca-${VERSION}.apk"
|
||||
if [ -f "./release/${APK_NAME}" ]; then
|
||||
echo "Uploading APK to release..."
|
||||
UPLOAD_URL="https://git.nostrdev.com/api/v1/repos/${REPO_OWNER}/${REPO_NAME}/releases/${RELEASE_ID}/assets"
|
||||
|
||||
curl -X POST "$UPLOAD_URL" \
|
||||
-H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \
|
||||
-H "Content-Type: application/octet-stream" \
|
||||
-F "attachment=@./release/${APK_NAME}" \
|
||||
-F "name=${APK_NAME}"
|
||||
|
||||
echo "✅ APK uploaded to Gitea release"
|
||||
else
|
||||
echo "❌ APK file not found for upload"
|
||||
fi
|
||||
else
|
||||
echo "❌ Failed to create Gitea release. Status: $HTTP_STATUS, Response: $HTTP_BODY"
|
||||
echo "API URL: $API_URL"
|
||||
fi
|
Loading…
x
Reference in New Issue
Block a user