@@ -43,22 +43,16 @@ jobs:
|
|||||||
GOOS=linux GOARCH=amd64 go build -o ../wgrplane-linux-amd64 .
|
GOOS=linux GOARCH=amd64 go build -o ../wgrplane-linux-amd64 .
|
||||||
GOOS=linux GOARCH=arm64 go build -o ../wgrplane-linux-arm64 .
|
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
|
- name: Generate latest.json
|
||||||
run: |
|
run: |
|
||||||
VERSION="${{ gitea.ref_name }}"
|
VERSION="${{ gitea.ref_name }}"
|
||||||
RELEASE_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')"
|
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 }}"
|
REPO="${{ gitea.repository }}"
|
||||||
SERVER="${{ gitea.server_url }}"
|
SERVER="${{ gitea.server_url }}"
|
||||||
cat > latest.json << ENDJSON
|
cat > latest.json << ENDJSON
|
||||||
{
|
{
|
||||||
"version": "$VERSION",
|
"version": "$VERSION",
|
||||||
"release_date": "$RELEASE_DATE",
|
"release_date": "$RELEASE_DATE",
|
||||||
"changelog": $(echo "$CHANGELOG" | jq -R -s '.'),
|
|
||||||
"download_urls": {
|
"download_urls": {
|
||||||
"amd64": "${SERVER}/${REPO}/releases/download/${VERSION}/wgrplane-linux-amd64",
|
"amd64": "${SERVER}/${REPO}/releases/download/${VERSION}/wgrplane-linux-amd64",
|
||||||
"arm64": "${SERVER}/${REPO}/releases/download/${VERSION}/wgrplane-linux-arm64"
|
"arm64": "${SERVER}/${REPO}/releases/download/${VERSION}/wgrplane-linux-arm64"
|
||||||
@@ -66,20 +60,37 @@ jobs:
|
|||||||
}
|
}
|
||||||
ENDJSON
|
ENDJSON
|
||||||
|
|
||||||
- name: Create Release
|
- name: Create Release and upload assets
|
||||||
uses: akkuman/gitea-release-action@v1
|
run: |
|
||||||
with:
|
TOKEN="${{ secrets.TOKEN_BUILD }}"
|
||||||
server_url: ${{ gitea.server_url }}
|
API="${{ gitea.server_url }}/api/v1"
|
||||||
token: ${{ secrets.TOKEN_BUILD }}
|
REPO="${{ gitea.repository }}"
|
||||||
tag_name: ${{ gitea.ref_name }}
|
TAG="${{ gitea.ref_name }}"
|
||||||
name: ${{ gitea.ref_name }}
|
|
||||||
files: |-
|
RELEASE_RESP=$(curl -s -X POST \
|
||||||
wgrplane-linux-amd64
|
-H "Authorization: token $TOKEN" \
|
||||||
wgrplane-linux-arm64
|
-H "Content-Type: application/json" \
|
||||||
latest.json
|
-d "{\"tag_name\":\"$TAG\",\"name\":\"$TAG\",\"body\":\"Release $TAG\",\"draft\":false,\"prerelease\":false}" \
|
||||||
env:
|
"$API/repos/$REPO/releases")
|
||||||
GITHUB_TOKEN: ${{ secrets.TOKEN_BUILD }}
|
echo "Release response: $RELEASE_RESP"
|
||||||
GITEA_TOKEN: ${{ secrets.TOKEN_BUILD }}
|
|
||||||
|
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
|
- name: Cleanup build artifacts
|
||||||
if: always()
|
if: always()
|
||||||
|
|||||||
Reference in New Issue
Block a user