1414
1515# Checks that are intended to run on PRs containing Java code.
1616
17- name : Spanner PR (Debug - Isolated IT Test)
17+ name : Spanner PR
1818
1919on :
2020 pull_request :
4040 - ' v2/spanner-to-sourcedb/**'
4141 # Git action files
4242 - ' .github/workflows/spanner-pr.yml'
43- # schedule:
44- # - cron: "3 */12 * * *"
43+ schedule :
44+ - cron : " 3 */12 * * *"
4545 workflow_dispatch :
4646
4747concurrency :
5454permissions : write-all
5555
5656jobs :
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"
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"
8585 java_build :
8686 name : Build
8787 timeout-minutes : 60
@@ -98,73 +98,74 @@ jobs:
9898 --modules-to-build="SPANNER"
9999 - name : Cleanup Java Environment
100100 uses : ./.github/actions/cleanup-java-env
101- # java_unit_tests:
102- # name: Unit Tests
103- # needs: [java_build]
104- # timeout-minutes: 60
105- # runs-on: [self-hosted, it]
106- # steps:
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: |
122- # **/surefire-reports/TEST-*.xml
123- # **/surefire-reports/*.html
124- # **/surefire-reports/html/**
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: [java_build] # Note: original needs were more complex
137- # timeout-minutes: 60
138- # runs-on: [self-hosted, it]
139- # steps:
140- # - name: Checkout Code
141- # uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
142- # - name: Setup Environment
143- # id: setup-env
144- # uses: ./.github/actions/setup-env
145- # - name: Run Integration Smoke Tests
146- # run: |
147- # ./cicd/run-it-smoke-tests \
148- # --modules-to-build="SPANNER" \
149- # --it-region="us-central1" \
150- # --it-project="cloud-teleport-testing" \
151- # --it-artifact-bucket="cloud-teleport-testing-it-gitactions" \
152- # --it-private-connectivity="datastream-connect-2"
153- # - name: Upload Smoke Tests Report
154- # uses: actions/upload-artifact@v4
155- # if: always()
156- # with:
157- # name: surefire-smoke-test-results
158- # path: |
159- # **/surefire-reports/TEST-*.xml
160- # **/surefire-reports/*.html
161- # **/surefire-reports/html/**
162- # retention-days: 1
163- # - name: Cleanup Java Environment
164- # uses: ./.github/actions/cleanup-java-env
165- java_integration_tests_templates :
166- name : Dataflow Templates Integration Tests (SpannerToSourceDbIT ONLY)
101+ java_unit_tests :
102+ name : Unit Tests
167103 needs : [java_build]
104+ timeout-minutes : 60
105+ runs-on : [self-hosted, it]
106+ steps :
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 : |
122+ **/surefire-reports/TEST-*.xml
123+ **/surefire-reports/*.html
124+ **/surefire-reports/html/**
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]
168169 timeout-minutes : 180
169170 # Run on any runner that matches all the specified runs-on values.
170171 runs-on : [self-hosted, it]
@@ -182,7 +183,7 @@ jobs:
182183 --it-project="cloud-teleport-testing" \
183184 --it-artifact-bucket="cloud-teleport-testing-it-gitactions" \
184185 --it-private-connectivity="datastream-connect-2" \
185- -Dtest=SpannerToSourceDbIT
186+ -Dtest=SpannerToSourceDbIT # THIS IS THE ADDED LINE TO ISOLATE THE TEST
186187 - name : Upload Integration Tests Report
187188 uses : actions/upload-artifact@v4
188189 if : always() # always run even if the previous step fails
@@ -207,12 +208,26 @@ jobs:
207208 list-tests : ' failed'
208209 - name : Cleanup Java Environment
209210 uses : ./.github/actions/cleanup-java-env
210- # java_load_tests_templates:
211- # if: contains(github.event.pull_request.labels.*.name, 'run-load-tests')
212- # name: Dataflow Templates Load Tests
213- # needs: [java_integration_tests_templates]
214- # timeout-minutes: 600
215- # runs-on: [self-hosted, perf]
216- # steps:
217- # - name: Checkout Code
218- # uses: actions/checkout@08c6903cd8c0fde910a37f8
211+ java_load_tests_templates :
212+ if : contains(github.event.pull_request.labels.*.name, 'run-load-tests')
213+ name : Dataflow Templates Load Tests
214+ needs : [spotless_check, checkstyle_check, java_build, java_unit_tests, java_integration_tests_templates]
215+ timeout-minutes : 600
216+ # Run on any runner that matches all the specified runs-on values.
217+ runs-on : [self-hosted, perf]
218+ steps :
219+ - name : Checkout Code
220+ uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
221+ - name : Setup Environment
222+ id : setup-env
223+ uses : ./.github/actions/setup-env
224+ - name : Run Load Tests
225+ run : |
226+ ./cicd/run-load-tests \
227+ --modules-to-build="SPANNER" \
228+ --it-region="us-central1" \
229+ --it-project="cloud-teleport-testing" \
230+ --it-artifact-bucket="cloud-teleport-testing-it-gitactions" \
231+ --it-private-connectivity="datastream-connect-2"
232+ - name : Cleanup Java Environment
233+ uses : ./.github/actions/cleanup-java-env
0 commit comments