diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..c7a614f --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,35 @@ +name: Release + +on: + push: + branches-ignore: + - '**' + tags: + - 'v*.*.*' + # to be used by fork patch-releases ^^ + - 'v*.*.*-*' + +jobs: + goreleaser: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v3 + + - name: Prepare + id: prepare + run: | + TAG=${GITHUB_REF#refs/tags/} + echo ::set-output name=tag_name::${TAG} + + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v3 + with: + args: release --rm-dist + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9b1c8b1 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/dist diff --git a/.goreleaser.yml b/.goreleaser.yml new file mode 100644 index 0000000..37f0ec6 --- /dev/null +++ b/.goreleaser.yml @@ -0,0 +1,49 @@ +project_name: boringproxy + +# release: + # If set to auto, will mark the release as not ready for production + # in case there is an indicator for this in the tag e.g. v1.0.0-rc1 + # If set to true, will mark the release as not ready for production. + # Default is false. + # + # leaving as false for now as all releases are "beta" but they should be full releases + # prerelease: auto + +builds: + - main: ./cmd/boringproxy + env: + - CGO_ENABLED=0 + goos: + - freebsd + - windows + - darwin + - linux + goarch: + - amd64 + - arm64 + - arm + - '386' + goarm: + - '7' + ignore: + - goos: darwin + goarch: '386' + - goos: darwin + goarch: arm + goarm: '7' + ldflags: + - -s -w -X main.Version={{.Version}} + +archives: +- format: binary + +snapshot: + name_template: "{{ .Tag }}" + +changelog: + sort: asc + filters: + exclude: + - '^docs:' + - '^test:' + - '^Merge pull request' diff --git a/logo.png b/logo.png new file mode 100644 index 0000000..b670640 Binary files /dev/null and b/logo.png differ