Skip to content

Commit 6dbc70e

Browse files
committed
create a workflow
1 parent 9142d1b commit 6dbc70e

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

.github/workflows/build.yaml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
build:
10+
strategy:
11+
matrix:
12+
os: [windows-latest, ubuntu-latest, macos-latest]
13+
14+
runs-on: ${{ matrix.os }}
15+
steps:
16+
- uses: actions/checkout@v3
17+
18+
- name: Set up Go
19+
uses: actions/setup-go@v3
20+
with:
21+
go-version: 1.19
22+
23+
- name: Build
24+
run: go build -v .
25+
26+
- if: matrix.os == 'windows-latest'
27+
name: 'zip windows'
28+
run: |
29+
$compress = @{
30+
Path = "gv*", "README.md"
31+
CompressionLevel = "Fastest"
32+
DestinationPath = ".\gv_windows.zip"
33+
}
34+
Compress-Archive @compress
35+
36+
- if: matrix.os == 'macos-latest'
37+
name: 'zip macos'
38+
run: zip --junk-paths gv_macos gv* README.md
39+
40+
- if: matrix.os == 'ubuntu-latest'
41+
name: 'zip ubuntu'
42+
run: zip --junk-paths gv_ubuntu gv* README.md
43+
44+
- name: Create Release
45+
id: create_release
46+
uses: ncipollo/release-action@v1
47+
env:
48+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49+
with:
50+
tag_name: ${{ github.ref }}
51+
allowUpdates: true
52+
draft: false
53+
prerelease: false
54+
append_body: true
55+
- name: Uploading windows assets
56+
if: matrix.os == 'windows-latest'
57+
uses: actions/upload-release-asset@v1
58+
env:
59+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
60+
with:
61+
upload_url: ${{ steps.create_release.outputs.upload_url }}
62+
asset_name: gv_windows.zip
63+
asset_path: ./gv_windows.zip
64+
asset_content_type: application/zip
65+
- name: Uploading macos assets
66+
if: matrix.os == 'macos-latest'
67+
uses: actions/upload-release-asset@v1
68+
env:
69+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
70+
with:
71+
upload_url: ${{ steps.create_release.outputs.upload_url }}
72+
asset_name: gv_macos.zip
73+
asset_path: ./gv_macos.zip
74+
asset_content_type: application/zip
75+
- name: Uploading ubuntu assets
76+
if: matrix.os == 'ubuntu-latest'
77+
uses: actions/upload-release-asset@v1
78+
env:
79+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
80+
with:
81+
upload_url: ${{ steps.create_release.outputs.upload_url }}
82+
asset_path: ./gv_ubuntu.zip
83+
asset_name: gv_ubuntu.zip
84+
asset_content_type: application/zip

0 commit comments

Comments
 (0)