github.com/database64128/shadowsocks-go@v1.7.0/.github/workflows/release.yml (about) 1 name: Release 2 3 on: 4 push: 5 tags: 6 - 'v*' 7 8 jobs: 9 publish_upload: 10 name: Publish and upload 11 runs-on: ubuntu-latest 12 container: 13 image: archlinux/archlinux:base-devel 14 15 steps: 16 - name: Install Git & Go 17 run: pacman -Syu --needed --noconfirm gcc git go 18 19 - name: Disable Git's stupid security theater 20 run: git config --global safe.directory '*' 21 22 - name: Git Checkout Tag 23 run: | 24 cd ../ 25 rm -rf ${{ github.event.repository.name }} 26 git clone --branch ${{ github.ref_name }} https://github.com/${{ github.repository }}.git 27 28 - name: Build 29 run: | 30 mkdir package-archlinux-x86-64-v2 \ 31 package-archlinux-x86-64-v3 \ 32 package-linux-x86-64-v2 \ 33 package-linux-x86-64-v3 \ 34 package-linux-arm64 \ 35 package-windows-x86-64-v2 \ 36 package-windows-x86-64-v3 \ 37 package-windows-arm64 38 39 env GOAMD64=v2 go build -v -trimpath -ldflags '-s -w' -o package-archlinux-x86-64-v2/ ./cmd/shadowsocks-go 40 env GOAMD64=v3 go build -v -trimpath -ldflags '-s -w' -o package-archlinux-x86-64-v3/ ./cmd/shadowsocks-go 41 env CGO_ENABLED=0 GOAMD64=v2 go build -v -trimpath -ldflags '-s -w' -o package-linux-x86-64-v2/ ./cmd/shadowsocks-go 42 env CGO_ENABLED=0 GOAMD64=v3 go build -v -trimpath -ldflags '-s -w' -o package-linux-x86-64-v3/ ./cmd/shadowsocks-go 43 env CGO_ENABLED=0 GOARCH=arm64 go build -v -trimpath -ldflags '-s -w' -o package-linux-arm64/ ./cmd/shadowsocks-go 44 env CGO_ENABLED=0 GOAMD64=v2 GOOS=windows go build -v -trimpath -ldflags '-s -w' -o package-windows-x86-64-v2/ ./cmd/shadowsocks-go 45 env CGO_ENABLED=0 GOAMD64=v3 GOOS=windows go build -v -trimpath -ldflags '-s -w' -o package-windows-x86-64-v3/ ./cmd/shadowsocks-go 46 env CGO_ENABLED=0 GOOS=windows GOARCH=arm64 go build -v -trimpath -ldflags '-s -w' -o package-windows-arm64/ ./cmd/shadowsocks-go 47 48 env GOAMD64=v2 go build -v -trimpath -ldflags '-s -w' -o package-archlinux-x86-64-v2/ ./cmd/shadowsocks-go-domain-set-converter 49 env GOAMD64=v3 go build -v -trimpath -ldflags '-s -w' -o package-archlinux-x86-64-v3/ ./cmd/shadowsocks-go-domain-set-converter 50 env CGO_ENABLED=0 GOAMD64=v2 go build -v -trimpath -ldflags '-s -w' -o package-linux-x86-64-v2/ ./cmd/shadowsocks-go-domain-set-converter 51 env CGO_ENABLED=0 GOAMD64=v3 go build -v -trimpath -ldflags '-s -w' -o package-linux-x86-64-v3/ ./cmd/shadowsocks-go-domain-set-converter 52 env CGO_ENABLED=0 GOARCH=arm64 go build -v -trimpath -ldflags '-s -w' -o package-linux-arm64/ ./cmd/shadowsocks-go-domain-set-converter 53 env CGO_ENABLED=0 GOAMD64=v2 GOOS=windows go build -v -trimpath -ldflags '-s -w' -o package-windows-x86-64-v2/ ./cmd/shadowsocks-go-domain-set-converter 54 env CGO_ENABLED=0 GOAMD64=v3 GOOS=windows go build -v -trimpath -ldflags '-s -w' -o package-windows-x86-64-v3/ ./cmd/shadowsocks-go-domain-set-converter 55 env CGO_ENABLED=0 GOOS=windows GOARCH=arm64 go build -v -trimpath -ldflags '-s -w' -o package-windows-arm64/ ./cmd/shadowsocks-go-domain-set-converter 56 57 - name: Package 58 env: 59 ZSTD_CLEVEL: 19 60 ZSTD_NBTHREADS: 2 61 run: | 62 cd package-archlinux-x86-64-v2/ 63 tar -acf ../shadowsocks-go-${{ github.ref_name }}-archlinux-x86-64-v2.tar.zst . 64 cd ../package-archlinux-x86-64-v3/ 65 tar -acf ../shadowsocks-go-${{ github.ref_name }}-archlinux-x86-64-v3.tar.zst . 66 cd ../package-linux-x86-64-v2/ 67 tar -acf ../shadowsocks-go-${{ github.ref_name }}-linux-x86-64-v2.tar.zst . 68 cd ../package-linux-x86-64-v3/ 69 tar -acf ../shadowsocks-go-${{ github.ref_name }}-linux-x86-64-v3.tar.zst . 70 cd ../package-linux-arm64/ 71 tar -acf ../shadowsocks-go-${{ github.ref_name }}-linux-arm64.tar.zst . 72 cd ../package-windows-x86-64-v2/ 73 tar -acf ../shadowsocks-go-${{ github.ref_name }}-windows-x86-64-v2.tar.zst . 74 cd ../package-windows-x86-64-v3/ 75 tar -acf ../shadowsocks-go-${{ github.ref_name }}-windows-x86-64-v3.tar.zst . 76 cd ../package-windows-arm64/ 77 tar -acf ../shadowsocks-go-${{ github.ref_name }}-windows-arm64.tar.zst . 78 79 - name: Upload release assets 80 uses: svenstaro/upload-release-action@v2 81 with: 82 repo_token: ${{ secrets.GITHUB_TOKEN }} 83 file: shadowsocks-go-*.tar.zst 84 tag: ${{ github.ref }} 85 file_glob: true 86 prerelease: true