@@ -10,7 +10,7 @@ on: # rebuild any PRs and main branch changes
1010 - main
1111
1212jobs :
13- shellcheck :
13+ lint-shell :
1414 runs-on : ubuntu-latest
1515 steps :
1616 - name : Checkout repo
@@ -22,132 +22,141 @@ jobs:
2222 format : gcc
2323 severity : error
2424
25- build-lint- test-go :
25+ test-omes :
2626 runs-on : ubuntu-latest
2727 steps :
28- - name : Print build information
29- run : " echo head_ref: ${{ github.head_ref }}, ref: ${{ github.ref }}"
3028 - name : Checkout repo
3129 uses : actions/checkout@v4
32- - name : Install mise
33- 30+ - uses : actions/setup-go@v4
3431 with :
35- version : ${{ env.MISE_VERSION }}
36- - name : Install Go
37- run : ./scripts/install-go.sh
38- - name : Lint Go
39- run : |
40- ./scripts/lint-go-worker.sh
41- - name : Check Go formatting
32+ go-version-file : ' go.mod'
33+ - name : Run tests
4234 run : |
43- git diff --exit-code || (echo "Go worker has uncommitted formatting changes after linting" && exit 1)
44- - name : Build Go worker
45- run : |
46- ./scripts/build-go-worker.sh
35+ go test -race ./...
4736
48- build- lint-test-java :
37+ lint-worker :
4938 runs-on : ubuntu-latest
39+ strategy :
40+ fail-fast : false
41+ matrix :
42+ sdk : [go, java, python, typescript, dotnet]
43+ include :
44+ - sdk : go
45+ install : ./scripts/install-go.sh
46+ lint : ./scripts/lint-go-worker.sh
47+ submodules : false
48+ - sdk : java
49+ install : ./scripts/install-java.sh && ./scripts/install-go.sh
50+ lint : ./scripts/lint-java-worker.sh
51+ submodules : false
52+ - sdk : python
53+ install : ./scripts/install-python.sh && ./scripts/install-go.sh
54+ lint : ./scripts/lint-python-worker.sh
55+ submodules : false
56+ - sdk : typescript
57+ install : ./scripts/install-node.sh && ./scripts/install-go.sh
58+ lint : ./scripts/lint-typescript-worker.sh
59+ submodules : true
60+ - sdk : dotnet
61+ install : ./scripts/install-dotnet.sh && ./scripts/install-go.sh
62+ lint : ./scripts/lint-dotnet-worker.sh
63+ submodules : true
5064 steps :
5165 - name : Print build information
5266 run : " echo head_ref: ${{ github.head_ref }}, ref: ${{ github.ref }}"
5367 - name : Checkout repo
5468 uses : actions/checkout@v4
55- - name : Install mise
56- 5769 with :
58- version : ${{ env.MISE_VERSION }}
59- - name : Install Tools
60- run : |
61- ./scripts/install-java.sh
62- ./scripts/install-go.sh
63- - name : Lint Java
64- run : |
65- ./scripts/lint-java-worker.sh
66- - name : Check Java formatting
67- run : |
68- git diff --exit-code || (echo "Java worker has uncommitted formatting changes after linting" && exit 1)
69- - name : Build Java worker
70- run : |
71- ./scripts/build-java-worker.sh
72-
73- build-lint-test-python :
74- runs-on : ubuntu-latest
75- steps :
76- - name : Print build information
77- run : " echo head_ref: ${{ github.head_ref }}, ref: ${{ github.ref }}"
78- - name : Checkout repo
79- uses : actions/checkout@v4
70+ submodules : ${{ matrix.submodules }}
8071 - name : Install mise
81728273 with :
8374 version : ${{ env.MISE_VERSION }}
8475 - name : Install Tools
76+ run : ${{ matrix.install }}
77+ - name : Lint ${{ matrix.sdk }}
78+ run : ${{ matrix.lint }}
79+ - name : Check formatting
8580 run : |
86- ./scripts/install-python.sh
87- ./scripts/install-go.sh
88- - name : Lint Python
89- run : |
90- ./scripts/lint-python-worker.sh
91- - name : Check Python formatting
92- run : |
93- git diff --exit-code || (echo "Python worker has uncommitted formatting changes after linting" && exit 1)
94- - name : Build Python worker
95- run : |
96- ./scripts/build-python-worker.sh
81+ git diff --exit-code || (echo "${{ matrix.sdk }} worker has uncommitted formatting changes after linting" && exit 1)
9782
98- build-lint-test-typescript :
83+ build-worker :
9984 runs-on : ubuntu-latest
85+ strategy :
86+ fail-fast : false
87+ matrix :
88+ sdk : [go, java, python, typescript, dotnet]
89+ include :
90+ - sdk : go
91+ install : ./scripts/install-go.sh
92+ build : ./scripts/build-go-worker.sh
93+ submodules : false
94+ - sdk : java
95+ install : ./scripts/install-java.sh && ./scripts/install-go.sh
96+ build : ./scripts/build-java-worker.sh
97+ submodules : false
98+ - sdk : python
99+ install : ./scripts/install-python.sh && ./scripts/install-go.sh
100+ build : ./scripts/build-python-worker.sh
101+ submodules : false
102+ - sdk : typescript
103+ install : ./scripts/install-node.sh && ./scripts/install-go.sh
104+ build : ./scripts/build-typescript-worker.sh
105+ submodules : true
106+ - sdk : dotnet
107+ install : ./scripts/install-dotnet.sh && ./scripts/install-go.sh
108+ build : ./scripts/build-dotnet-worker.sh
109+ submodules : true
100110 steps :
101- - name : Print build information
102- run : " echo head_ref: ${{ github.head_ref }}, ref: ${{ github.ref }}"
103111 - name : Checkout repo
104112 uses : actions/checkout@v4
105113 with :
106- submodules : ' true '
114+ submodules : ${{ matrix.submodules }}
107115 - name : Install mise
108116109117 with :
110118 version : ${{ env.MISE_VERSION }}
111119 - name : Install Tools
112- run : |
113- ./scripts/install-node.sh
114- ./scripts/install-go.sh
115- - name : Lint TypeScript
116- run : |
117- ./scripts/lint-typescript-worker.sh
118- - name : Check TypeScript formatting
119- run : |
120- git diff --exit-code || (echo "TypeScript worker has uncommitted formatting changes after linting" && exit 1)
121- - name : Build TypeScript worker
122- run : |
123- ./scripts/build-typescript-worker.sh
120+ run : ${{ matrix.install }}
121+ - name : Build ${{ matrix.sdk }} worker
122+ run : ${{ matrix.build }}
124123
125- build-lint- test-dotnet :
124+ test-kitchensink :
126125 runs-on : ubuntu-latest
126+ strategy :
127+ fail-fast : false
128+ matrix :
129+ sdk : [go, java, python, typescript, dotnet]
130+ include :
131+ - sdk : go
132+ install : ./scripts/install-go.sh
133+ submodules : false
134+ - sdk : java
135+ install : ./scripts/install-java.sh && ./scripts/install-go.sh
136+ submodules : false
137+ - sdk : python
138+ install : ./scripts/install-python.sh && ./scripts/install-go.sh
139+ submodules : false
140+ - sdk : typescript
141+ install : ./scripts/install-node.sh && ./scripts/install-go.sh
142+ submodules : true
143+ - sdk : dotnet
144+ install : ./scripts/install-dotnet.sh && ./scripts/install-go.sh
145+ submodules : true
127146 steps :
128- - name : Print build information
129- run : " echo head_ref: ${{ github.head_ref }}, ref: ${{ github.ref }}"
130147 - name : Checkout repo
131148 uses : actions/checkout@v4
132149 with :
133- submodules : ' true '
150+ submodules : ${{ matrix.submodules }}
134151 - name : Install mise
135152136153 with :
137154 version : ${{ env.MISE_VERSION }}
138155 - name : Install Tools
156+ run : ${{ matrix.install }}
157+ - name : Test Kitchensink ${{ matrix.sdk }}
139158 run : |
140- ./scripts/install-dotnet.sh
141- ./scripts/install-go.sh
142- - name : Lint .NET
143- run : |
144- ./scripts/lint-dotnet-worker.sh
145- - name : Check .NET formatting
146- run : |
147- git diff --exit-code || (echo ".NET worker has uncommitted formatting changes after linting" && exit 1)
148- - name : Build .NET worker
149- run : |
150- ./scripts/build-dotnet-worker.sh
159+ SDK=${{ matrix.sdk }} go test -race ./loadgen -run TestKitchensink -v
151160
152161 build-ks-gen-and-ensure-protos-up-to-date :
153162 runs-on : ubuntu-latest
0 commit comments