name: Build Wireguard-go on: workflow_dispatch: jobs: binaries: runs-on: ubuntu-20.04 strategy: matrix: # build and publish in parallel: linux/386, linux/amd64, linux/arm64, windows/386, windows/amd64, darwin/amd64, darwin/arm64 goos: [linux] goarch: [amd64, arm64] exclude: - goarch: "386" goos: darwin - goarch: arm64 goos: windows env: workdir: ./wireguard steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up GoReleaser uses: actions/setup-go@v2 with: go-version: "1.18" - name: Build WireGuard-go run: | mkdir -p /opt/release/ git clone https://git.zx2c4.com/wireguard-go "${{ env.workdir }}" # cd wireguard # go build -v -o "/opt/release/wireguard-go-${{ matrix.goos }}-${{ matrix.goarch }}" - name: Run GoReleaser uses: goreleaser/goreleaser-action@v2 with: distribution: goreleaser workdir: ${{ env.workdir }} version: latest args: release --rm-dist - name: Release binaries uses: softprops/action-gh-release@v1 with: tag_name: wireguard files: /opt/release/* env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}