Skip to content

Commit 1dc2963

Browse files
committed
ci: add release scripts
Signed-off-by: Alex Collins <[email protected]>
1 parent b7f6c23 commit 1dc2963

File tree

4 files changed

+96
-0
lines changed

4 files changed

+96
-0
lines changed

.github/workflows/goreleaser.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: goreleaser
2+
3+
on:
4+
push:
5+
# run only against tags
6+
tags:
7+
- "*"
8+
9+
permissions:
10+
contents: write
11+
# packages: write
12+
# issues: write
13+
14+
jobs:
15+
goreleaser:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v3
19+
with:
20+
fetch-depth: 0
21+
- run: git fetch --force --tags
22+
- uses: actions/setup-go@v3
23+
with:
24+
go-version: ">=1.19.1"
25+
cache: true
26+
# More assembly might be required: Docker logins, GPG, etc. It all depends
27+
# on your needs.
28+
- uses: goreleaser/goreleaser-action@v2
29+
with:
30+
# either 'goreleaser' (default) or 'goreleaser-pro'
31+
distribution: goreleaser
32+
version: latest
33+
args: release --rm-dist
34+
env:
35+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36+
# Your GoReleaser Pro key, if you are using the 'goreleaser-pro' distribution
37+
# GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}

.goreleaser.yaml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# This is an example .goreleaser.yml file with some sensible defaults.
2+
# Make sure to check the documentation at https://goreleaser.com
3+
before:
4+
hooks:
5+
# You may remove this if you don't use go modules.
6+
- go mod tidy
7+
# you may remove this if you don't need go generate
8+
- go generate ./...
9+
builds:
10+
- env:
11+
- CGO_ENABLED=0
12+
goos:
13+
- linux
14+
- darwin
15+
archives:
16+
- replacements:
17+
darwin: Darwin
18+
linux: Linux
19+
386: i386
20+
amd64: x86_64
21+
checksum:
22+
name_template: "checksums.txt"
23+
snapshot:
24+
name_template: "{{ incpatch .Version }}-next"
25+
changelog:
26+
sort: asc
27+
filters:
28+
exclude:
29+
- "^docs:"
30+
- "^test:"
31+
# modelines, feel free to remove those if you don't want/use them:
32+
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
33+
# vim: set ts=2 sw=2 tw=0 fo=cnqoj
34+
brews:
35+
- homepage: "https://github.com/kitproj/junit2html"
36+
description: "Crazy fast local dev loop."
37+
folder: Formula
38+
commit_author:
39+
name: Alex Collins
40+
41+
tap:
42+
owner: kitproj
43+
name: junit2html

install.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/usr/bin/env sh
2+
set -eux
3+
4+
tag=$(curl --retry 3 -s "https://api.github.com/repos/kitproj/junit2html/releases/latest" | jq -r '.tag_name')
5+
version=$(echo $tag | cut -c 2-)
6+
url="https://github.com/kitproj/junit2html/releases/download/${tag}/kit_${version}_$(uname)_$(uname -m | sed 's/aarch64/arm64/').tar.gz"
7+
curl --retry 3 -L $url | tar -zxvf - junit2html
8+
chmod +x junit2html
9+
sudo mv junit2html /usr/local/bin/junit2html

release

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/sh
2+
3+
go install github.com/ffurrer2/semver/v2/cmd/semver@latest
4+
5+
git tag v$(semver next patch $(git tag|sort -V|tail -n1|cut -c 2-))
6+
7+
git push --tags

0 commit comments

Comments
 (0)