Skip to content

Commit

Permalink
simapp(CI): release binary on tag (#109)
Browse files Browse the repository at this point in the history
* goreleaser for binary on tag

* docker release comment

* final CI comments

* spelling

* single char, we are done bois
  • Loading branch information
Reecepbcups authored Mar 19, 2024
1 parent e352e80 commit d76bbb2
Show file tree
Hide file tree
Showing 5 changed files with 169 additions and 2 deletions.
4 changes: 4 additions & 0 deletions simapp/.github/workflows/docker-release.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
name: docker image release

# NOTE: For this action to work, you must enable write permissions in your github repository settings.
# Settings -> Actions -> General. "Workflow Permissions". Select "Read and write permissions".
# If you forget to enable, the action will fail on push with a 401 error. Just re-run the failed action after enabling.

on:
push:
tags:
Expand Down
43 changes: 43 additions & 0 deletions simapp/.github/workflows/release-binary.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: "Release Binary"

# Pairs with .goreleaser.yaml file for configuration.

on:
push:
tags:
- '**'

# Test Locally with:
# goreleaser build --skip-validate --snapshot --clean

jobs:
goreleaser:
permissions: write-all
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
with:
fetch-depth: 0

- uses: actions/setup-go@v2
with:
go-version: '1.21'

- name: Clean up dist directory
run: rm -rf dist

- name: Build
uses: goreleaser/goreleaser-action@v5
with:
version: latest
args: build --skip-validate

- name: Release
uses: goreleaser/goreleaser-action@v5
if: startsWith(github.ref, 'refs/tags/')
with:
version: latest
args: release --skip-validate --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4 changes: 3 additions & 1 deletion simapp/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
configs/logs.json
configs/logs.json

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

release:
github:
owner: rollchains
name: simapp
name_template: '{{.Tag}}'

# Only uncomment os, arch, and targets if you are NOT using cosmwasm / wasm-light-client.
# Windows, 386 (32bit), and ARM are not Wasm compatible.
builds:
- id: simapp
goos:
- linux
- darwin
# - windows
goarch:
- amd64
# - arm64
# - "386"
goarm:
- "6"
gomips:
- hardfloat
goamd64:
- v1
targets:
- linux_amd64_v1
# - darwin_amd64_v1
# - linux_arm64
# - linux_386
# - darwin_arm64
# - windows_amd64_v1
# - windows_arm64
# - windows_386
dir: .
main: ./cmd/wasmd
binary: wasmd
builder: go
gobinary: go
command: build
ldflags:
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}} -X main.builtBy=goreleaser
archives:
- id: default
name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{ end }}'
format: tar.gz
files:
- src: license*
- src: LICENSE*
- src: readme*
- src: README*
- src: changelog*
- src: CHANGELOG*
snapshot:
name_template: '{{ .Version }}-SNAPSHOT-{{ .ShortCommit }}'
checksum:
name_template: '{{ .ProjectName }}_{{ .Version }}_checksums.txt'
algorithm: sha256
dist: dist
env_files:
github_token: ~/.config/goreleaser/github_token
gitlab_token: ~/.config/goreleaser/gitlab_token
gitea_token: ~/.config/goreleaser/gitea_token
source:
name_template: '{{ .ProjectName }}-{{ .Version }}'
format: tar.gz
gomod:
gobinary: go
announce:
twitter:
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
mastodon:
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
server: ""
reddit:
title_template: '{{ .ProjectName }} {{ .Tag }} is out!'
url_template: '{{ .ReleaseURL }}'
slack:
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
username: GoReleaser
discord:
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
author: GoReleaser
color: "3888754"
icon_url: https://goreleaser.com/static/avatar.png
teams:
title_template: '{{ .ProjectName }} {{ .Tag }} is out!'
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
color: '#2D313E'
icon_url: https://goreleaser.com/static/avatar.png
smtp:
subject_template: '{{ .ProjectName }} {{ .Tag }} is out!'
body_template: 'You can view details from: {{ .ReleaseURL }}'
mattermost:
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
title_template: '{{ .ProjectName }} {{ .Tag }} is out!'
username: GoReleaser
linkedin:
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
telegram:
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
webhook:
message_template: '{ "message": "{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}"}'
content_type: application/json; charset=utf-8
opencollective:
title_template: '{{ .Tag }}'
message_template: '{{ .ProjectName }} {{ .Tag }} is out!<br/>Check it out at <a href="{{ .ReleaseURL }}">{{ .ReleaseURL }}</a>'
git:
tag_sort: -version:refname
github_urls:
download: https://github.com
gitlab_urls:
download: https://gitlab.com
6 changes: 5 additions & 1 deletion spawn/file_content.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,11 @@ func (fc *FileContent) ReplaceGithubActionWorkflows(cfg *NewChainConfig) {
if fc.IsPath(path.Join(".github", "workflows", "docker-release.yml")) {
fc.ReplaceAll("/go/bin/wasmd", fmt.Sprintf("/go/bin/%s", cfg.BinDaemon))
}

if fc.ContainsPath(".goreleaser.yaml") {
fc.ReplaceAll("rollchains", cfg.GithubOrg)
fc.ReplaceAll("simapp", cfg.ProjectName)
fc.ReplaceAll("wasmd", cfg.BinDaemon)
}
}

func (fc *FileContent) ReplaceDockerFile(cfg *NewChainConfig) {
Expand Down

0 comments on commit d76bbb2

Please sign in to comment.