mirror of
https://github.com/Sagit-chu/flvx.git
synced 2026-10-09 03:06:37 +08:00
增加协议屏蔽支持
This commit is contained in:
@@ -66,59 +66,30 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
upx --best --lzma gost
|
upx --best --lzma gost
|
||||||
|
|
||||||
- name: Get Release
|
- name: Create or Update Release
|
||||||
if: steps.gost-changes.outputs.gost == 'true'
|
if: steps.gost-changes.outputs.gost == 'true'
|
||||||
id: get_release
|
|
||||||
run: |
|
run: |
|
||||||
# 尝试获取现有的 release
|
# 删除已存在的 release 和 tag
|
||||||
RELEASE_ID=$(gh api repos/${{ github.repository }}/releases/tags/gost-latest --jq .id 2>/dev/null || echo "")
|
gh release delete gost-latest --yes 2>/dev/null || echo "No existing release to delete"
|
||||||
if [ -n "$RELEASE_ID" ]; then
|
|
||||||
echo "release_id=$RELEASE_ID" >> $GITHUB_OUTPUT
|
# 创建新的 release
|
||||||
echo "existing_release=true" >> $GITHUB_OUTPUT
|
gh release create gost-latest \
|
||||||
else
|
--title "GOST Binary Latest" \
|
||||||
echo "existing_release=false" >> $GITHUB_OUTPUT
|
--notes "GOST binary compiled from commit ${{ github.sha }}
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Create Release
|
|
||||||
if: steps.gost-changes.outputs.gost == 'true' && steps.get_release.outputs.existing_release == 'false'
|
|
||||||
id: create_release
|
|
||||||
uses: actions/create-release@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
tag_name: gost-latest
|
|
||||||
release_name: GOST Binary Latest
|
|
||||||
body: |
|
|
||||||
GOST binary compiled from commit ${{ github.sha }}
|
|
||||||
|
|
||||||
- Platform: Linux AMD64
|
- Platform: Linux AMD64
|
||||||
- Compressed with UPX
|
- Compressed with UPX
|
||||||
- Build date: ${{ github.event.head_commit.timestamp }}
|
- Build date: ${{ github.event.head_commit.timestamp }}" \
|
||||||
draft: false
|
--repo ${{ github.repository }}
|
||||||
prerelease: false
|
|
||||||
|
|
||||||
- name: Get Release ID for existing release
|
|
||||||
if: steps.gost-changes.outputs.gost == 'true' && steps.get_release.outputs.existing_release == 'true'
|
|
||||||
id: get_release_id
|
|
||||||
run: |
|
|
||||||
RELEASE_ID=$(gh api repos/${{ github.repository }}/releases/tags/gost-latest --jq .id)
|
|
||||||
echo "release_id=$RELEASE_ID" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: Upload GOST binary to Release
|
- name: Upload GOST binary to Release
|
||||||
if: steps.gost-changes.outputs.gost == 'true'
|
if: steps.gost-changes.outputs.gost == 'true'
|
||||||
run: |
|
run: |
|
||||||
# 确定 release ID
|
|
||||||
if [ "${{ steps.get_release.outputs.existing_release }}" == "true" ]; then
|
|
||||||
RELEASE_ID="${{ steps.get_release_id.outputs.release_id }}"
|
|
||||||
else
|
|
||||||
RELEASE_ID="${{ steps.create_release.outputs.id }}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 删除已存在的 asset(如果有)
|
# 删除已存在的 asset(如果有)
|
||||||
gh api repos/${{ github.repository }}/releases/$RELEASE_ID/assets --jq '.[] | select(.name=="gost") | .id' | xargs -I {} gh api repos/${{ github.repository }}/releases/assets/{} -X DELETE 2>/dev/null || echo "No existing asset to delete"
|
gh api repos/${{ github.repository }}/releases/tags/gost-latest/assets --jq '.[] | select(.name=="gost") | .id' | xargs -I {} gh api repos/${{ github.repository }}/releases/assets/{} -X DELETE 2>/dev/null || echo "No existing asset to delete"
|
||||||
|
|
||||||
# 上传新的 asset
|
# 上传新的 asset
|
||||||
gh api repos/${{ github.repository }}/releases/$RELEASE_ID/assets \
|
gh api repos/${{ github.repository }}/releases/tags/gost-latest/assets \
|
||||||
-F name=gost \
|
-F name=gost \
|
||||||
-F "data=@./go-gost/gost" \
|
-F "data=@./go-gost/gost" \
|
||||||
-H "Content-Type: application/octet-stream"
|
-H "Content-Type: application/octet-stream"
|
||||||
|
|||||||
@@ -147,5 +147,4 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o gost
|
// GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o gost
|
||||||
//
|
|
||||||
// upx --best --lzma gost
|
// upx --best --lzma gost
|
||||||
|
|||||||
Reference in New Issue
Block a user