Skip to content

Commit 4c8d73a

Browse files
authored
Automated Github releases (#14)
setup basic automated Github Releases for linux,macos,windows binaries
1 parent d6689b2 commit 4c8d73a

File tree

2 files changed

+83
-5
lines changed

2 files changed

+83
-5
lines changed

.github/workflows/release.yml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
name: Release
3+
4+
on:
5+
push:
6+
tags: ["v*"]
7+
8+
jobs:
9+
release:
10+
name: Release
11+
runs-on: ubuntu-latest
12+
outputs:
13+
upload_url: ${{ steps.create_release.outputs.upload_url }}
14+
steps:
15+
- name: Create Release
16+
id: create_release
17+
uses: actions/create-release@v1
18+
env:
19+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
20+
with:
21+
tag_name: ${{ github.ref }}
22+
release_name: Release ${{ github.ref }}
23+
draft: false
24+
prerelease: false
25+
26+
assets:
27+
name: Assets
28+
needs: release
29+
strategy:
30+
fail-fast: false
31+
matrix:
32+
arch: [amd64]
33+
os: [ubuntu-latest, macos-latest, windows-latest]
34+
include:
35+
- os: ubuntu-latest
36+
goos: linux
37+
- os: macos-latest
38+
goos: darwin
39+
- os: windows-latest
40+
goos: windows
41+
runs-on: ${{ matrix.os }}
42+
env:
43+
asset: terraform-provider-argocd_${{ github.ref }}_${{ matrix.goos }}_${{ matrix.arch }}
44+
steps:
45+
- name: Checkout code
46+
uses: actions/checkout@v2
47+
- uses: actions/setup-go@v1
48+
with:
49+
go-version: 1.14
50+
id: go
51+
- name: Restore Go cache
52+
uses: actions/cache@v1
53+
with:
54+
path: ~/go/pkg/mod
55+
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
56+
restore-keys: |
57+
${{ runner.os }}-go-
58+
59+
- name: Build ${{ matrix.goos }}-${{ matrix.arch }}
60+
env:
61+
GOLDFLAGS: "-s -w"
62+
GOARCH: ${{ matrix.arch }}
63+
GOOS: ${{ matrix.goos }}
64+
run: go build -o ${{ env.asset }}
65+
66+
- name: Upload Release Asset
67+
id: upload-release-asset
68+
uses: actions/upload-release-asset@v1
69+
env:
70+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
71+
with:
72+
upload_url: ${{ needs.release.outputs.upload_url }}
73+
asset_path: ./${{ env.asset }}
74+
asset_name: ${{ env.asset }}
75+
asset_content_type: application/octet-stream
Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,26 @@
1+
---
12
name: Tests
3+
24
on:
35
push:
4-
branches: ["master"]
6+
branches: [master]
57
pull_request:
6-
branches: ["master"]
8+
branches: [master]
9+
710
jobs:
811
acceptance_tests:
912
name: Acceptance Tests
10-
runs-on: [ubuntu-latest]
13+
runs-on: ubuntu-latest
1114
strategy:
1215
fail-fast: false
1316
matrix:
1417
argocd_version: ["v1.5.4", "v1.4.3"]
1518
steps:
16-
- uses: actions/checkout@v1
19+
- uses: actions/checkout@v2
1720
- uses: actions/setup-go@v1
1821
with:
1922
go-version: 1.14
20-
23+
id: go
2124
- name: Restore Go cache
2225
uses: actions/cache@v1
2326
with:

0 commit comments

Comments
 (0)