diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..bf43ea4 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,28 @@ +# .github/workflows/release.yaml + +on: + release: + types: [created] + +jobs: + releases-matrix: + name: Release Go Binary + runs-on: ubuntu-latest + strategy: + matrix: + # build and publish in parallel: linux/386, linux/amd64, windows/386, windows/amd64, darwin/386, darwin/amd64 + goos: [linux] + goarch: ["386", amd64] + steps: + - name: checkout code + uses: actions/checkout@v2 + - name: build binaries + uses: wangyoucao577/go-release-action@v1.14 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + goos: ${{ matrix.goos }} + goarch: ${{ matrix.goarch }} + ldflags: '-linkmode external -extldflags "-static" -s -w' + pre_command: bash ./install-deps.sh + binary_name: "openvpn-user" + asset_name: openvpn-user-${{ matrix.goos }}-${{ matrix.goarch }}. diff --git a/install-deps.sh b/install-deps.sh new file mode 100644 index 0000000..72333d2 --- /dev/null +++ b/install-deps.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -e + +apt-get update +apt-get install -y gcc gcc-multilib sqlite3