name: Release drafter on: workflow_dispatch permissions: contents: read jobs: draft_release: runs-on: ubuntu-latest outputs: tag_name: ${{ steps.release.outputs.tag_name }} permissions: contents: write pull-requests: write steps: - uses: actions/checkout@v4 - name: Read version id: read_version run: | echo "version=$(cat version/VERSION | tr -d '[:space:]')" >> $GITHUB_OUTPUT - name: Print version run: | echo ${{ steps.read_version.outputs.version }} - uses: release-drafter/release-drafter@v6 id: release with: version: ${{ steps.read_version.outputs.version }} name: v${{ steps.read_version.outputs.version }} tag: v${{ steps.read_version.outputs.version }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build_and_publish: runs-on: ubuntu-latest needs: draft_release name: Release linux/amd64 permissions: contents: write pull-requests: write env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAG_NAME: ${{ needs.draft_release.outputs.tag_name }} CGO_ENABLED: 0 steps: - uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version: 1.21 - name: Display Go version run: go version - name: darwin/amd64 env: GOOS: darwin GOARCH: amd64 run: | go build -ldflags="-w -s" github.com/xvzc/SpoofDPI/cmd/spoofdpi tar -zcvf "spoofdpi-$GOOS-$GOARCH.tar.gz" ./spoofdpi && rm -rf ./spoofdpi gh release upload $TAG_NAME "./spoofdpi-$GOOS-$GOARCH.tar.gz" - name: darwin/arm64 env: GOOS: darwin GOARCH: arm64 run: | go build -ldflags="-w -s" github.com/xvzc/SpoofDPI/cmd/spoofdpi tar -zcvf "spoofdpi-$GOOS-$GOARCH.tar.gz" ./spoofdpi && rm -rf ./spoofdpi gh release upload $TAG_NAME "./spoofdpi-$GOOS-$GOARCH.tar.gz" - name: linux/amd64 env: GOOS: linux GOARCH: amd64 run: | go build -ldflags="-w -s" github.com/xvzc/SpoofDPI/cmd/spoofdpi tar -zcvf "spoofdpi-$GOOS-$GOARCH.tar.gz" ./spoofdpi && rm -rf ./spoofdpi gh release upload $TAG_NAME "./spoofdpi-$GOOS-$GOARCH.tar.gz" - name: linux/arm env: GOOS: linux GOARCH: arm run: | go build -ldflags="-w -s" github.com/xvzc/SpoofDPI/cmd/spoofdpi tar -zcvf "spoofdpi-$GOOS-$GOARCH.tar.gz" ./spoofdpi && rm -rf ./spoofdpi gh release upload $TAG_NAME "./spoofdpi-$GOOS-$GOARCH.tar.gz" - name: linux/arm64 env: GOOS: linux GOARCH: arm64 run: | go build -ldflags="-w -s" github.com/xvzc/SpoofDPI/cmd/spoofdpi tar -zcvf "spoofdpi-$GOOS-$GOARCH.tar.gz" ./spoofdpi && rm -rf ./spoofdpi gh release upload $TAG_NAME "./spoofdpi-$GOOS-$GOARCH.tar.gz" - name: linux/mips env: GOOS: linux GOARCH: mips run: | go build -ldflags="-w -s" github.com/xvzc/SpoofDPI/cmd/spoofdpi tar -zcvf "spoofdpi-$GOOS-$GOARCH.tar.gz" ./spoofdpi && rm -rf ./spoofdpi gh release upload $TAG_NAME "./spoofdpi-$GOOS-$GOARCH.tar.gz" - name: linux/mipsle env: GOOS: linux GOARCH: mipsle run: | go build -ldflags="-w -s" github.com/xvzc/SpoofDPI/cmd/spoofdpi tar -zcvf "spoofdpi-$GOOS-$GOARCH.tar.gz" ./spoofdpi && rm -rf ./spoofdpi gh release upload $TAG_NAME "./spoofdpi-$GOOS-$GOARCH.tar.gz" - name: windows/amd64 env: GOOS: windows GOARCH: amd64 run: | go build -ldflags="-w -s" -o "spoofdpi-$GOOS-$GOARCH.exe" github.com/xvzc/SpoofDPI/cmd/spoofdpi gh release upload $TAG_NAME "./spoofdpi-$GOOS-$GOARCH.exe"