Skip to content

Commit 8062711

Browse files
authored
Merge pull request #200 from mrpalide/feat/release-pipeline
Feat/release pipeline
2 parents 25f2ccd + 1c85ea2 commit 8062711

File tree

9 files changed

+734
-7
lines changed

9 files changed

+734
-7
lines changed

.appveyor.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,18 @@ environment:
1111
appveyor_build_worker_image: Previous Visual Studio 2019
1212
- job_name: Deploy
1313
appveyor_build_worker_image: Ubuntu2004
14+
15+
# For release, by pushing tag
16+
- job_name: make-release-linux
17+
appveyor_build_worker_image: ubuntu2004
18+
GOARCH: amd64
19+
- job_name: make-release-darwin
20+
appveyor_build_worker_image: macos-bigsur
21+
GOARCH: amd64
22+
- job_name: make-release-windows
23+
appveyor_build_worker_image: Previous Visual Studio 2019
24+
GOARCH: amd64
25+
1426

1527
for:
1628
- # Linux and MacOS
@@ -53,6 +65,45 @@ for:
5365
build_script:
5466
- make build-windows
5567

68+
- # Release (Linux)
69+
skip_non_tags: true
70+
matrix:
71+
only:
72+
- job_name: make-release-linux
73+
install:
74+
- sudo apt update
75+
- sudo snap install goreleaser --classic
76+
- make dep-github-release
77+
build_script:
78+
- make github-release
79+
80+
- # Release (Darwin)
81+
skip_non_tags: true
82+
matrix:
83+
only:
84+
- job_name: make-release-darwin
85+
install:
86+
- brew install goreleaser
87+
- brew install gh
88+
- brew install jq
89+
- brew install wget
90+
build_script:
91+
- make github-release-darwin
92+
93+
- # Release (Windows)
94+
skip_non_tags: true
95+
matrix:
96+
only:
97+
- job_name: make-release-windows
98+
install:
99+
- ps: Invoke-WebRequest "https://github.com/goreleaser/goreleaser/releases/download/v1.8.3/goreleaser_Windows_x86_64.zip" -o goreleaser.zip
100+
- ps: Expand-Archive goreleaser.zip
101+
- ps: Invoke-WebRequest "https://github.com/cli/cli/releases/download/v2.13.0/gh_2.13.0_windows_amd64.zip" -o gh.zip
102+
- ps: Expand-Archive gh.zip
103+
- ps: choco install make
104+
build_script:
105+
- make github-release-windows
106+
56107
- # Deploy
57108
build: off
58109
matrix:

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,5 @@ bin/
2222

2323
/hello.txt
2424
/integration/integration-pids.csv
25+
26+
/dist

.goreleaser-darwin.yml

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# This is an example goreleaser.yaml file with some sane defaults.
2+
# Make sure to check the documentation at http://goreleaser.com
3+
4+
release:
5+
# Repo in which the release will be created.
6+
# Default is extracted from the origin remote URL or empty if its private hosted.
7+
# Note: it can only be one: either github or gitlab or gitea
8+
github:
9+
owner: skycoin
10+
name: dmsg
11+
12+
prerelease: true
13+
14+
before:
15+
hooks:
16+
- go mod tidy
17+
18+
builds:
19+
- id: dmsg-discovery
20+
binary: dmsg-discovery
21+
goos:
22+
- darwin
23+
goarch:
24+
- arm64
25+
- amd64
26+
env:
27+
- CGO_ENABLED=1
28+
main: ./cmd/dmsg-discovery/
29+
ldflags: -s -w -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}}
30+
31+
- id: dmsg-server
32+
binary: dmsg-server
33+
goos:
34+
- darwin
35+
goarch:
36+
- arm64
37+
- amd64
38+
env:
39+
- CGO_ENABLED=0
40+
main: ./cmd/dmsg-server/
41+
ldflags: -s -w -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}}
42+
43+
- id: dmsgget
44+
binary: dmsgget
45+
goos:
46+
- darwin
47+
goarch:
48+
- arm64
49+
- amd64
50+
env:
51+
- CGO_ENABLED=0
52+
main: ./cmd/dmsgget/
53+
ldflags: -s -w -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}}
54+
55+
- id: dmsgpty-ui
56+
binary: dmsgpty-ui
57+
goos:
58+
- darwin
59+
goarch:
60+
- arm64
61+
- amd64
62+
env:
63+
- CGO_ENABLED=0
64+
main: ./cmd/dmsgpty-ui/
65+
ldflags: -s -w -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}}
66+
67+
- id: dmsgpty-host
68+
binary: dmsgpty-host
69+
goos:
70+
- darwin
71+
goarch:
72+
- arm64
73+
- amd64
74+
env:
75+
- CGO_ENABLED=0
76+
main: ./cmd/dmsgpty-host/
77+
ldflags: -s -w -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}}
78+
79+
- id: dmsgpty-cli
80+
binary: dmsgpty-cli
81+
goos:
82+
- darwin
83+
goarch:
84+
- arm64
85+
- amd64
86+
env:
87+
- CGO_ENABLED=0
88+
main: ./cmd/dmsgpty-cli/
89+
ldflags: -s -w -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}}
90+
91+
archives:
92+
- id: archive
93+
format: tar.gz
94+
wrap_in_directory: false
95+
name_template: 'dmsg-v{{ .Version }}-{{ .Os }}-{{ .Arch }}'
96+
builds:
97+
- dmsg-discovery
98+
- dmsg-server
99+
- dmsgpty-ui
100+
- dmsgpty-host
101+
- dmsgget
102+
- dmsgpty-cli
103+
allow_different_binary_count: true
104+
105+
checksum:
106+
name_template: 'checksums.txt'
107+
snapshot:
108+
name_template: "{{ .Tag }}-next"
109+
changelog:
110+
sort: asc
111+
filters:
112+
exclude:
113+
- '^docs:'
114+
- '^test:'

0 commit comments

Comments
 (0)