forked from eclipse-kanto/kanto
-
Notifications
You must be signed in to change notification settings - Fork 0
161 lines (158 loc) · 6.31 KB
/
release.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
name: Release
on:
push:
tags:
- 'v*'
env:
BUILD_TMP: ./build-tmp
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout kanto
uses: actions/checkout@v2
with:
fetch-depth: 0
ref: ${{ github.ref }}
token: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout suite-connector
uses: actions/checkout@v2
with:
repository: eclipse-kanto/suite-connector
path: ${{ env.BUILD_TMP }}/suite-connector
ref: ${{ github.ref }}
persist-credentials: false
- name: Checkout container-management
uses: actions/checkout@v2
with:
repository: eclipse-kanto/container-management
path: ${{ env.BUILD_TMP }}/container-management
ref: ${{ github.ref }}
- name: Checkout file-upload
uses: actions/checkout@v2
with:
repository: eclipse-kanto/file-upload
path: ${{ env.BUILD_TMP }}/file-upload
ref: ${{ github.ref }}
- name: Checkout software-update
uses: actions/checkout@v2
with:
repository: eclipse-kanto/software-update
path: ${{ env.BUILD_TMP }}/software-update
ref: ${{ github.ref }}
- name: Checkout local-digital-twins
uses: actions/checkout@v2
with:
repository: eclipse-kanto/local-digital-twins
path: ${{ env.BUILD_TMP }}/local-digital-twins
ref: ${{ github.ref }}
- name: Checkout file-backup
uses: actions/checkout@v2
with:
repository: eclipse-kanto/file-backup
path: ${{ env.BUILD_TMP }}/file-backup
ref: ${{ github.ref }}
- name: Checkout system-metrics
uses: actions/checkout@v2
with:
repository: eclipse-kanto/system-metrics
path: ${{ env.BUILD_TMP }}/system-metrics
ref: ${{ github.ref }}
- name: Checkout update-manager
uses: actions/checkout@v2
with:
repository: eclipse-kanto/update-manager
path: ${{ env.BUILD_TMP }}/update-manager
ref: ${{ github.ref }}
- name: Checkout azure-connector
uses: actions/checkout@v2
with:
repository: eclipse-kanto/azure-connector
path: ${{ env.BUILD_TMP }}/azure-connector
ref: ${{ github.ref }}
- name: Checkout aws-connector
uses: actions/checkout@v2
with:
repository: eclipse-kanto/aws-connector
path: ${{ env.BUILD_TMP }}/aws-connector
ref: ${{ github.ref }}
- name: Setup Go
uses: actions/setup-go@v2
with:
go-version: 1.21.0
- name: Generate suite-connector Coverage
working-directory: ${{ env.BUILD_TMP }}/suite-connector
run: |
docker system prune -f
docker-compose -f ./docker/docker-compose-tests.yml up --build --no-color tests
go tool cover -func=coverage.out -o coverage.txt
go tool cover -html=coverage.out -o coverage.html
docker-compose -f ./docker/docker-compose-tests.yml down
- name: Generate container-management Coverage
working-directory: ${{ env.BUILD_TMP }}/container-management
run: |
go test ./... -v -coverprofile coverage.out
go tool cover -func=coverage.out -o coverage.txt
go tool cover -html=coverage.out -o coverage.html
- name: Generate file-upload Coverage
working-directory: ${{ env.BUILD_TMP }}/file-upload
run: |
go test ./... -v -coverprofile coverage.out -tags=unit
go tool cover -func=coverage.out -o coverage.txt
go tool cover -html=coverage.out -o coverage.html
- name: Generate software-update Coverage
working-directory: ${{ env.BUILD_TMP }}/software-update
run: |
go test ./... -v -coverprofile coverage.out -tags=unit
go tool cover -func=coverage.out -o coverage.txt
go tool cover -html=coverage.out -o coverage.html
- name: Generate local-digital-twins Coverage
working-directory: ${{ env.BUILD_TMP }}/local-digital-twins
run: |
go test ./... -v -coverprofile coverage.out -tags=unit
go tool cover -func=coverage.out -o coverage.txt
go tool cover -html=coverage.out -o coverage.html
- name: Generate file-backup Coverage
run: |
go test ./... -v -coverprofile coverage.out -tags=unit
go tool cover -func=coverage.out -o coverage.txt
go tool cover -html=coverage.out -o coverage.html
working-directory: ${{ env.BUILD_TMP }}/file-backup
- name: Generate system-metrics Coverage
working-directory: ${{ env.BUILD_TMP }}/system-metrics
run: |
go test ./... -v -coverprofile coverage.out -tags=unit
go tool cover -func=coverage.out -o coverage.txt
go tool cover -html=coverage.out -o coverage.html
- name: Generate update-manager Coverage
working-directory: ${{ env.BUILD_TMP }}/update-manager
run: |
go test -v -race ./... -coverprofile coverage.out -covermode atomic
go tool cover -func=coverage.out -o coverage.txt
go tool cover -html=coverage.out -o coverage.html
- name: Generate azure-connector Coverage
working-directory: ${{ env.BUILD_TMP }}/azure-connector
run: |
go test ./... -v -coverprofile coverage.out -tags=unit
go tool cover -func=coverage.out -o coverage.txt
go tool cover -html=coverage.out -o coverage.html
- name: Generate aws-connector Coverage
working-directory: ${{ env.BUILD_TMP }}/aws-connector
run: |
go test ./... -v -coverprofile coverage.out -tags=unit
go tool cover -func=coverage.out -o coverage.txt
go tool cover -html=coverage.out -o coverage.html
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
distribution: goreleaser
version: ~>1.22
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# GOPATH is no longer exported by the actions/setup-go@v2
# https://github.com/actions/setup-go/issues/12#issuecomment-604605595
# https://github.com/goreleaser/goreleaser-action/issues/267
GOPATH: /home/runner/go