Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.

Commit

Permalink
feat: add go releaser
Browse files Browse the repository at this point in the history
  • Loading branch information
alok committed Jan 9, 2024
1 parent 05c8bb4 commit 0e5a72c
Show file tree
Hide file tree
Showing 4 changed files with 128 additions and 0 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/goreleaser.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: goreleaser

on:
push:
tags:
- 'v*'

permissions:
contents: write
packages: write

jobs:
release:
runs-on: ubuntu-latest
steps:
- if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
run: echo "flags=--snapshot" >> $GITHUB_ENV
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-go@v3
with:
go-version: 1.21
cache: true
- name: Docker Hub Login
run: |
printf ${{ secrets.DOCKERHUB_PASSWORD }} | docker login --username ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- uses: goreleaser/goreleaser-action@v4
with:
distribution: goreleaser
version: latest
args: release --clean ${{ env.flags }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ vendor
**/.vscode
*.DS_STORE
bin/*

dist/
81 changes: 81 additions & 0 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
version: 1

before:
hooks:
- go mod tidy

builds:
- env:
- CGO_ENABLED=0
goos:
- linux
- windows
- darwin
goarch:
- amd64
- arm64
goarm:
- 7
ignore:
- goos: windows
goarch: arm64
main: ./cmd
ldflags:
- -s -w
- -X main.version={{.Version}}
- -X main.revision={{ .ShortCommit }}

archives:
- format: tar.gz
# this name template makes the OS and Arch compatible with the results of `uname`.
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
# use zip for windows archives
format_overrides:
- goos: windows
format: zip

dockers:
- image_templates:
- docker.io/primevprotocol/mev-commit:v{{ .Major }}.{{ .Minor }}
- docker.io/primevprotocol/mev-commit:latest
- ghcr.io/primevprotocol/mev-commit:v{{ .Major }}.{{ .Minor }}
- ghcr.io/primevprotocol/mev-commit:latest
dockerfile: Dockerfile.goreleaser
use: buildx
goarch: amd64
build_flag_templates:
- "--pull"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.title={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
- "--platform=linux/amd64"
- image_templates:
- docker.io/primevprotocol/mev-commit:v{{ .Major }}.{{ .Minor }}
- docker.io/primevprotocol/mev-commit:latest
- ghcr.io/primevprotocol/mev-commit:v{{ .Major }}.{{ .Minor }}
- ghcr.io/primevprotocol/mev-commit:latest
dockerfile: Dockerfile.goreleaser
use: buildx
goarch: arm64
goarm: 7
build_flag_templates:
- "--pull"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.title={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
- "--platform=linux/arm64"

changelog:
sort: asc
filters:
exclude:
- "^docs:"
- "^test:"
9 changes: 9 additions & 0 deletions Dockerfile.goreleaser
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FROM alpine:latest

RUN apk add --no-cache ca-certificates

COPY mev-commit /usr/local/bin/mev-commit

EXPOSE 13522 13523 13524

ENTRYPOINT ["mev-commit", "start"]

0 comments on commit 0e5a72c

Please sign in to comment.