Skip to content

Commit

Permalink
Add goreleaser (#146)
Browse files Browse the repository at this point in the history
* Add goreleaser

* Add changelog

* Update goreleaser

* Update docker hub
  • Loading branch information
ferranbt authored Jan 8, 2024
1 parent ecc007f commit b255d39
Show file tree
Hide file tree
Showing 3 changed files with 153 additions and 0 deletions.
35 changes: 35 additions & 0 deletions .github/workflows/releaser.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# .github/workflows/release.yml
name: goreleaser

on:
workflow_dispatch:
push:
tags:
- "*"

jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: setup dependencies
uses: actions/setup-go@v2

- name: Login to Docker hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Log tag name
run: echo "Build for tag ${{ github.ref_name }}"

- name: release dry run
run: make release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG: ${{ github.ref_name }}
105 changes: 105 additions & 0 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
env:
- CGO_ENABLED=1
builds:
- id: suave-geth-darwin-amd64
binary: suave-geth
main: ./cmd/geth
goarch:
- amd64
goos:
- darwin
env:
- CC=o64-clang
- CXX=o64-clang++
flags:
- -trimpath
- id: suave-geth-darwin-arm64
binary: suave-geth
main: ./cmd/geth
goarch:
- arm64
goos:
- darwin
env:
- CC=oa64-clang
- CXX=oa64-clang++
flags:
- -trimpath
- id: suave-geth-linux-amd64
binary: suave-geth
main: ./cmd/geth
env:
- CC=x86_64-linux-gnu-gcc
- CXX=x86_64-linux-gnu-g++
goarch:
- amd64
goos:
- linux
flags:
- -trimpath
ldflags:
- -extldflags "-lc -lrt -lpthread --static"
- id: suave-geth-linux-arm64
binary: suave-geth
main: ./cmd/geth
goarch:
- arm64
goos:
- linux
env:
- CC=aarch64-linux-gnu-gcc
- CXX=aarch64-linux-gnu-g++
flags:
- -trimpath
ldflags:
- -extldflags "-lc -lrt -lpthread --static"
- id: suave-geth-windows-amd64
binary: suave-geth
main: ./cmd/geth
goarch:
- amd64
goos:
- windows
env:
- CC=x86_64-w64-mingw32-gcc
- CXX=x86_64-w64-mingw32-g++
flags:
- -trimpath
- -buildmode=exe

archives:
- id: w/version
builds:
- suave-geth-darwin-amd64
- suave-geth-darwin-arm64
- suave-geth-linux-amd64
- suave-geth-linux-arm64
- suave-geth-windows-amd64
name_template: "suave-geth_v{{ .Version }}_{{ .Os }}_{{ .Arch }}"
wrap_in_directory: false
format: zip
files:
- none*

dockers:
- dockerfile: ./Dockerfile.suave
use: buildx
goarch: amd64
goos: linux
build_flag_templates:
- --platform=linux/amd64
image_templates:
- "ghcr.io/flashbots/suave-geth:{{ .ShortCommit }}"
- "ghcr.io/flashbots/suave-geth:{{ .Tag }}"
- "ghcr.io/flashbots/suave-geth:latest"

checksum:
name_template: "checksums.txt"

release:
draft: true
header: |
# 🚀 Features
# 🎄 Enhancements
# 🐞 Notable bug fixes
# 🎠 Community
13 changes: 13 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,16 @@ devnet-down:

fmt-contracts:
cd suave && forge fmt

release:
docker run \
--rm \
-e CGO_ENABLED=1 \
-e GITHUB_TOKEN="$(GITHUB_TOKEN)" \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(HOME)/.docker/config.json:/root/.docker/config.json \
-v `pwd`:/go/src/$(PACKAGE_NAME) \
-v `pwd`/sysroot:/sysroot \
-w /go/src/$(PACKAGE_NAME) \
ghcr.io/goreleaser/goreleaser-cross:v1.19.5 \
release --clean

0 comments on commit b255d39

Please sign in to comment.