@@ -13,10 +13,14 @@ jobs:
13
13
name : Lint Go code
14
14
runs-on : ubuntu-latest
15
15
steps :
16
+ - name : Set up Go
17
+ uses : actions/setup-go@v3
18
+ with :
19
+ go-version : 1.17
16
20
- name : Checkout code
17
21
uses : actions/checkout@v2
18
22
- name : Run golangci-lint
19
- uses : golangci/golangci-lint-action@v2
23
+ uses : golangci/golangci-lint-action@v3
20
24
with :
21
25
version : v1.30
22
26
args : --timeout 5m
27
31
- name : Set up Go
28
32
uses : actions/setup-go@v2
29
33
with :
30
- go-version : 1.16
34
+ go-version : 1.17
31
35
id : go
32
36
33
37
- name : Check out code into the Go module directory
56
60
path : coverage.out
57
61
58
62
- name : Upload code coverage information to codecov.io
59
- uses : codecov/codecov-action@v2.0.3
63
+ uses : codecov/codecov-action@v2.1.0
60
64
with :
61
65
file : coverage.out
62
66
@@ -65,14 +69,19 @@ jobs:
65
69
runs-on : ubuntu-latest
66
70
env :
67
71
GOPATH : /home/runner/go
68
- PROTOC_ZIP : protoc-3.12.3-linux-x86_64.zip
69
72
steps :
70
73
- name : Checkout code
71
74
uses : actions/checkout@v2
72
75
- name : Setup Golang
73
76
uses : actions/setup-go@v1
74
77
with :
75
- go-version : 1.16.2
78
+ go-version : 1.17.6
79
+ # k8s codegen generates files into GOPATH location instead of the GitHub git checkout location
80
+ # This symlink is necessary to ensure that `git diff` detects changes
81
+ - name : Create symlink in GOPATH
82
+ run : |
83
+ mkdir -p ~/go/src/github.com/argoproj
84
+ ln -s $(pwd) ~/go/src/github.com/argoproj/argo-rollouts
76
85
- uses : actions/cache@v2
77
86
with :
78
87
path : /home/runner/.cache/go-build
@@ -85,53 +94,19 @@ jobs:
85
94
with :
86
95
path : /home/runner/go/bin
87
96
key : go-bin-v1-${{ hashFiles('**/go.mod') }}
88
- - uses : actions/cache@v2
89
- with :
90
- path : protoc-3.12.3-linux-x86_64.zip
91
- key : protoc-3.12.3-linux-x86_64.zip
92
97
- name : Install protoc
93
98
run : |
94
- set -eux -o pipefail
95
- curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.12.3/$PROTOC_ZIP
96
- sudo unzip -o $PROTOC_ZIP -d /usr/local bin/protoc
97
- sudo unzip -o $PROTOC_ZIP -d /usr/local 'include/*'
98
- sudo chmod +x /usr/local/bin/protoc
99
- sudo find /usr/local/include -type f | xargs sudo chmod a+r
100
- sudo find /usr/local/include -type d | xargs sudo chmod a+rx
101
- ls /usr/local/include/google/protobuf/
102
-
99
+ make install-toolchain
103
100
- name : Add ~/go/bin to PATH
104
101
run : |
105
102
echo "/home/runner/go/bin" >> $GITHUB_PATH
106
103
- name : Add /usr/local/bin to PATH
107
104
run : |
108
105
echo "/usr/local/bin" >> $GITHUB_PATH
109
106
110
- - name : Create links
111
- run : |
112
- mkdir -p ~/go/src/github.com/argoproj
113
- cp -a ../argo-rollouts ~/go/src/github.com/argoproj
114
-
115
- - name : Vendor and Download
116
- run : |
117
- go mod vendor -v
118
- go mod download
119
-
120
- - name : Install UI code generator
121
- run : |
122
- wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.25/swagger-codegen-cli-3.0.25.jar -O swagger-codegen-cli.jar
123
- echo "#!/usr/bin/java -jar" > swagger-codegen
124
- cat swagger-codegen-cli.jar >> swagger-codegen
125
- chmod +x swagger-codegen
126
- sudo mv swagger-codegen /usr/local/bin/swagger-codegen
127
- rm swagger-codegen-cli.jar
128
-
129
- - uses : actions/setup-java@v1
130
- with :
131
- java-version : " 9.0.4"
132
-
133
107
- name : Run codegen
134
108
run : |
109
+ make go-mod-vendor
135
110
make codegen
136
111
make manifests
137
112
make docs
0 commit comments