@@ -19,7 +19,7 @@ name: Spanner PR
1919on :
2020 pull_request :
2121 branches :
22- - ' main'
22+ - ' main'
2323 paths :
2424 # Template wide common modules
2525 - ' pom.xml'
4141 # Git action files
4242 - ' .github/workflows/spanner-pr.yml'
4343 schedule :
44- - cron : " 3 */12 * * *"
44+ - cron : " 3 */12 * * *"
4545 workflow_dispatch :
4646
4747concurrency :
@@ -54,189 +54,179 @@ env:
5454permissions : write-all
5555
5656jobs :
57- # Temporarily disabled for faster debugging
58- # spotless_check:
59- # name: Spotless
60- # timeout-minutes: 10
61- # runs-on: ubuntu-latest
62- # steps:
63- # - name: Checkout Code
64- # uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
65- # - name: Setup Environment
66- # id: setup-env
67- # uses: ./.github/actions/setup-env
68- # - name: Run Spotless
69- # run: |
70- # ./cicd/run-spotless \
71- # --modules-to-build="SPANNER"
72-
73- # Temporarily disabled for faster debugging
74- # checkstyle_check:
75- # name: Checkstyle
76- # timeout-minutes: 10
77- # runs-on: ubuntu-latest
78- # steps:
79- # - name: Checkout Code
80- # uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
81- # - name: Setup Environment
82- # id: setup-env
83- # uses: ./.github/actions/setup-env
84- # - name: Run Checkstyle
85- # run: |
86- # ./cicd/run-checkstyle \
87- # --modules-to-build="SPANNER"
88-
57+ spotless_check :
58+ name : Spotless
59+ timeout-minutes : 10
60+ runs-on : ubuntu-latest
61+ steps :
62+ - name : Checkout Code
63+ uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
64+ - name : Setup Environment
65+ id : setup-env
66+ uses : ./.github/actions/setup-env
67+ - name : Run Spotless
68+ run : |
69+ ./cicd/run-spotless \
70+ --modules-to-build="SPANNER"
71+ checkstyle_check :
72+ name : Checkstyle
73+ timeout-minutes : 10
74+ runs-on : ubuntu-latest
75+ steps :
76+ - name : Checkout Code
77+ uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
78+ - name : Setup Environment
79+ id : setup-env
80+ uses : ./.github/actions/setup-env
81+ - name : Run Checkstyle
82+ run : |
83+ ./cicd/run-checkstyle \
84+ --modules-to-build="SPANNER"
8985 java_build :
9086 name : Build
9187 timeout-minutes : 60
9288 runs-on : [self-hosted, it]
9389 steps :
94- - name : Checkout Code
95- uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
96- - name : Setup Environment
97- id : setup-env
98- uses : ./.github/actions/setup-env
99- - name : Run Build
100- run : |
101- ./cicd/run-build \
102- --modules-to-build="SPANNER"
103- - name : Cleanup Java Environment
104- uses : ./.github/actions/cleanup-java-env
105-
106- # Temporarily disabled the Unit Test job to speed up debugging
107- # java_unit_tests:
108- # name: Unit Tests
109- # needs: [java_build]
110- # timeout-minutes: 60
111- # runs-on: [self-hosted, it]
112- # steps:
113- # - name: Checkout Code
114- # uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
115- # - name: Setup Environment
116- # id: setup-env
117- # uses: ./.github/actions/setup-env
118- # - name: Run Unit Tests
119- # run: |
120- # ./cicd/run-unit-tests \
121- # --modules-to-build="SPANNER"
122- # - name: Upload Unit Tests Report
123- # uses: actions/upload-artifact@v4
124- # if: always()
125- # with:
126- # name: surefire-unit-test-results
127- # path: |
128- # **/surefire-reports/TEST-*.xml
129- # **/surefire-reports/*.html
130- # **/surefire-reports/html/**
131- # retention-days: 1
132- # - name: Upload coverage reports to Codecov
133- # uses: codecov/codecov-action@v5.5.1
134- # with:
135- # token: ${{ secrets.CODECOV_TOKEN }}
136- # slug: GoogleCloudPlatform/DataflowTemplates
137- # files: 'target/site/jacoco-aggregate/jacoco.xml'
138- # - name: Cleanup Java Environment
139- # uses: ./.github/actions/cleanup-java-env
140-
141- # Temporarily disabled for faster debugging
142- # java_integration_smoke_tests_templates:
143- # name: Dataflow Templates Integration Smoke Tests
144- # needs: [spotless_check, checkstyle_check, java_build, java_unit_tests]
145- # timeout-minutes: 60
146- # runs-on: [self-hosted, it]
147- # steps:
148- # - name: Checkout Code
149- # uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
150- # - name: Setup Environment
151- # id: setup-env
152- # uses: ./.github/actions/setup-env
153- # - name: Run Integration Smoke Tests
154- # run: |
155- # ./cicd/run-it-smoke-tests \
156- # --modules-to-build="SPANNER" \
157- # --it-region="us-central1" \
158- # --it-project="cloud-teleport-testing" \
159- # --it-artifact-bucket="cloud-teleport-testing-it-gitactions" \
160- # --it-private-connectivity="datastream-connect-2"
161- # - name: Upload Smoke Tests Report
162- # uses: actions/upload-artifact@v4
163- # if: always()
164- # with:
165- # name: surefire-smoke-test-results
166- # path: |
167- # **/surefire-reports/TEST-*.xml
168- # **/surefire-reports/*.html
169- # **/surefire-reports/html/**
170- # retention-days: 1
171- # - name: Cleanup Java Environment
172- # uses: ./.github/actions/cleanup-java-env
173-
174- java_integration_tests_templates :
175- name : Dataflow Templates Integration Tests
176- # Updated dependencies to run directly after build
90+ - name : Checkout Code
91+ uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
92+ - name : Setup Environment
93+ id : setup-env
94+ uses : ./.github/actions/setup-env
95+ - name : Run Build
96+ run : |
97+ ./cicd/run-build \
98+ --modules-to-build="SPANNER"
99+ - name : Cleanup Java Environment
100+ uses : ./.github/actions/cleanup-java-env
101+ java_unit_tests :
102+ name : Unit Tests
177103 needs : [java_build]
178- timeout-minutes : 180
104+ timeout-minutes : 60
179105 runs-on : [self-hosted, it]
180106 steps :
181- - name : Checkout Code
182- uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
183- - name : Setup Environment
184- id : setup-env
185- uses : ./.github/actions/setup-env
186- - name : Run Integration Tests
187- run : |
188- ./cicd/run-it-tests \
189- --modules-to-build="SPANNER" \
190- --it-region="us-central1" \
191- --it-project="cloud-teleport-testing" \
192- --it-artifact-bucket="cloud-teleport-testing-it-gitactions" \
193- --it-private-connectivity="datastream-connect-2" \
194- --it-module-to-test="v2/spanner-to-sourcedb" \
195- --it-test-to-run="SpannerToSourceDbIT"
196- - name : Upload Integration Tests Report
197- uses : actions/upload-artifact@v4
198- if : always()
199- with :
200- name : surefire-integration-test-results
201- path : |
107+ - name : Checkout Code
108+ uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
109+ - name : Setup Environment
110+ id : setup-env
111+ uses : ./.github/actions/setup-env
112+ - name : Run Unit Tests
113+ run : |
114+ ./cicd/run-unit-tests \
115+ --modules-to-build="SPANNER"
116+ - name : Upload Unit Tests Report
117+ uses : actions/upload-artifact@v4
118+ if : always() # always run even if the previous step fails
119+ with :
120+ name : surefire-unit-test-results
121+ path : |
202122 **/surefire-reports/TEST-*.xml
203123 **/surefire-reports/*.html
204124 **/surefire-reports/html/**
205- retention-days : 10
206- - name : Integration Test report on GitHub
207- uses : dorny/test-reporter@v2
208- if : always()
209- with :
210- name : Integration Test report on GitHub
211- path : ' **/surefire-reports/TEST-*.xml'
212- reporter : java-junit
213- only-summary : ' true'
214- token : ${{ secrets.GITHUB_TOKEN }}
215- fail-on-error : ' false'
216- list-suites : ' failed'
217- list-tests : ' failed'
218- - name : Cleanup Java Environment
219- uses : ./.github/actions/cleanup-java-env
125+ retention-days : 1
126+ - name : Upload coverage reports to Codecov
127+ uses : codecov/codecov-action@v5.5.1
128+ with :
129+ token : ${{ secrets.CODECOV_TOKEN }}
130+ slug : GoogleCloudPlatform/DataflowTemplates
131+ files : ' target/site/jacoco-aggregate/jacoco.xml'
132+ - name : Cleanup Java Environment
133+ uses : ./.github/actions/cleanup-java-env
134+ java_integration_smoke_tests_templates :
135+ name : Dataflow Templates Integration Smoke Tests
136+ needs : [spotless_check, checkstyle_check, java_build, java_unit_tests]
137+ timeout-minutes : 60
138+ # Run on any runner that matches all the specified runs-on values.
139+ runs-on : [self-hosted, it]
140+ steps :
141+ - name : Checkout Code
142+ uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
143+ - name : Setup Environment
144+ id : setup-env
145+ uses : ./.github/actions/setup-env
146+ - name : Run Integration Smoke Tests
147+ run : |
148+ ./cicd/run-it-smoke-tests \
149+ --modules-to-build="SPANNER" \
150+ --it-region="us-central1" \
151+ --it-project="cloud-teleport-testing" \
152+ --it-artifact-bucket="cloud-teleport-testing-it-gitactions" \
153+ --it-private-connectivity="datastream-connect-2"
154+ - name : Upload Smoke Tests Report
155+ uses : actions/upload-artifact@v4
156+ if : always() # always run even if the previous step fails
157+ with :
158+ name : surefire-smoke-test-results
159+ path : |
160+ **/surefire-reports/TEST-*.xml
161+ **/surefire-reports/*.html
162+ **/surefire-reports/html/**
163+ retention-days : 1
164+ - name : Cleanup Java Environment
165+ uses : ./.github/actions/cleanup-java-env
166+ java_integration_tests_templates :
167+ name : Dataflow Templates Integration Tests
168+ needs : [java_integration_smoke_tests_templates]
169+ timeout-minutes : 180
170+ # Run on any runner that matches all the specified runs-on values.
171+ runs-on : [self-hosted, it]
172+ steps :
173+ - name : Checkout Code
174+ uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
175+ - name : Setup Environment
176+ id : setup-env
177+ uses : ./.github/actions/setup-env
178+ - name : Run Integration Tests
179+ run : |
180+ ./cicd/run-it-tests \
181+ --modules-to-build="SPANNER" \
182+ --it-region="us-central1" \
183+ --it-project="cloud-teleport-testing" \
184+ --it-artifact-bucket="cloud-teleport-testing-it-gitactions" \
185+ --it-private-connectivity="datastream-connect-2"
186+ - name : Upload Integration Tests Report
187+ uses : actions/upload-artifact@v4
188+ if : always() # always run even if the previous step fails
189+ with :
190+ name : surefire-integration-test-results
191+ path : |
192+ **/surefire-reports/TEST-*.xml
193+ **/surefire-reports/*.html
194+ **/surefire-reports/html/**
195+ retention-days : 10
196+ - name : Integration Test report on GitHub
197+ uses : dorny/test-reporter@v2
198+ if : always()
199+ with :
200+ name : Integration Test report on GitHub
201+ path : ' **/surefire-reports/TEST-*.xml'
202+ reporter : java-junit
203+ only-summary : ' true'
204+ token : ${{ secrets.GITHUB_TOKEN }}
205+ fail-on-error : ' false'
206+ list-suites : ' failed'
207+ list-tests : ' failed'
208+ - name : Cleanup Java Environment
209+ uses : ./.github/actions/cleanup-java-env
220210 java_load_tests_templates :
221211 if : contains(github.event.pull_request.labels.*.name, 'run-load-tests')
222212 name : Dataflow Templates Load Tests
223- # Updated dependencies
224- needs : [java_build, java_integration_tests_templates]
213+ needs : [spotless_check, checkstyle_check, java_build, java_unit_tests, java_integration_tests_templates]
225214 timeout-minutes : 600
215+ # Run on any runner that matches all the specified runs-on values.
226216 runs-on : [self-hosted, perf]
227217 steps :
228- - name : Checkout Code
229- uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
230- - name : Setup Environment
231- id : setup-env
232- uses : ./.github/actions/setup-env
233- - name : Run Load Tests
234- run : |
235- ./cicd/run-load-tests \
236- --modules-to-build="SPANNER" \
237- --it-region="us-central1" \
238- --it-project="cloud-teleport-testing" \
239- --it-artifact-bucket="cloud-teleport-testing-it-gitactions" \
240- --it-private-connectivity="datastream-connect-2"
241- - name : Cleanup Java Environment
242- uses : ./.github/actions/cleanup-java-env
218+ - name : Checkout Code
219+ uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
220+ - name : Setup Environment
221+ id : setup-env
222+ uses : ./.github/actions/setup-env
223+ - name : Run Load Tests
224+ run : |
225+ ./cicd/run-load-tests \
226+ --modules-to-build="SPANNER" \
227+ --it-region="us-central1" \
228+ --it-project="cloud-teleport-testing" \
229+ --it-artifact-bucket="cloud-teleport-testing-it-gitactions" \
230+ --it-private-connectivity="datastream-connect-2"
231+ - name : Cleanup Java Environment
232+ uses : ./.github/actions/cleanup-java-env
0 commit comments