@@ -43,22 +43,16 @@ jobs:
|
||||
GOOS=linux GOARCH=amd64 go build -o ../wgrplane-linux-amd64 .
|
||||
GOOS=linux GOARCH=arm64 go build -o ../wgrplane-linux-arm64 .
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
command -v jq >/dev/null 2>&1 || apt-get update -qq && apt-get install -y -qq jq >/dev/null 2>&1
|
||||
|
||||
- name: Generate latest.json
|
||||
run: |
|
||||
VERSION="${{ gitea.ref_name }}"
|
||||
RELEASE_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')"
|
||||
CHANGELOG="$(git log --oneline --no-merges $(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo 'HEAD~10')..HEAD 2>/dev/null || git log --oneline --no-merges -10)"
|
||||
REPO="${{ gitea.repository }}"
|
||||
SERVER="${{ gitea.server_url }}"
|
||||
cat > latest.json << ENDJSON
|
||||
{
|
||||
"version": "$VERSION",
|
||||
"release_date": "$RELEASE_DATE",
|
||||
"changelog": $(echo "$CHANGELOG" | jq -R -s '.'),
|
||||
"download_urls": {
|
||||
"amd64": "${SERVER}/${REPO}/releases/download/${VERSION}/wgrplane-linux-amd64",
|
||||
"arm64": "${SERVER}/${REPO}/releases/download/${VERSION}/wgrplane-linux-arm64"
|
||||
@@ -66,20 +60,37 @@ jobs:
|
||||
}
|
||||
ENDJSON
|
||||
|
||||
- name: Create Release
|
||||
uses: akkuman/gitea-release-action@v1
|
||||
with:
|
||||
server_url: ${{ gitea.server_url }}
|
||||
token: ${{ secrets.TOKEN_BUILD }}
|
||||
tag_name: ${{ gitea.ref_name }}
|
||||
name: ${{ gitea.ref_name }}
|
||||
files: |-
|
||||
wgrplane-linux-amd64
|
||||
wgrplane-linux-arm64
|
||||
latest.json
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.TOKEN_BUILD }}
|
||||
GITEA_TOKEN: ${{ secrets.TOKEN_BUILD }}
|
||||
- name: Create Release and upload assets
|
||||
run: |
|
||||
TOKEN="${{ secrets.TOKEN_BUILD }}"
|
||||
API="${{ gitea.server_url }}/api/v1"
|
||||
REPO="${{ gitea.repository }}"
|
||||
TAG="${{ gitea.ref_name }}"
|
||||
|
||||
RELEASE_RESP=$(curl -s -X POST \
|
||||
-H "Authorization: token $TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"tag_name\":\"$TAG\",\"name\":\"$TAG\",\"body\":\"Release $TAG\",\"draft\":false,\"prerelease\":false}" \
|
||||
"$API/repos/$REPO/releases")
|
||||
echo "Release response: $RELEASE_RESP"
|
||||
|
||||
RELEASE_ID=$(echo "$RELEASE_RESP" | grep -o '"id":[0-9]*' | head -1 | grep -o '[0-9]*')
|
||||
echo "Release ID: $RELEASE_ID"
|
||||
|
||||
if [ -z "$RELEASE_ID" ]; then
|
||||
echo "Failed to create release"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for FILE in wgrplane-linux-amd64 wgrplane-linux-arm64 latest.json; do
|
||||
echo "Uploading $FILE..."
|
||||
curl -s -X POST \
|
||||
-H "Authorization: token $TOKEN" \
|
||||
-H "Content-Type: application/octet-stream" \
|
||||
--data-binary @"$FILE" \
|
||||
"$API/repos/$REPO/releases/$RELEASE_ID/assets?name=$FILE"
|
||||
echo ""
|
||||
done
|
||||
|
||||
- name: Cleanup build artifacts
|
||||
if: always()
|
||||
|
||||
Reference in New Issue
Block a user