1515name : Build e2e tests
1616
1717on :
18- push :
19- branches : [ develop ]
20- pull_request :
21- branches : [ develop ]
22- types : [opened, synchronize, reopened, labeled]
23- workflow_dispatch :
18+ workflow_run :
19+ workflows :
20+ - Trigger build
21+ types :
22+ - completed
2423
2524jobs :
2625 build :
2726 runs-on : k8s-runner-e2e
28- # We allow builds:
29- # 1) When triggered manually
30- # 2) When it's a merge into a branch
31- # 3) For PRs that are labeled as build and
32- # - It's a code change
33- # - A build label was just added
34- # A bit complex, but prevents builds when other labels are manipulated
35- if : >
36- github.event_name == 'workflow_dispatch'
37- || github.event_name == 'push'
38- || (contains(github.event.pull_request.labels.*.name, 'build')
39- && (github.event.action != 'labeled' || github.event.label.name == 'build')
40- )
4127 strategy :
4228 matrix :
4329 module : [mysql-plugin, postgresql-plugin]
4834 with :
4935 path : plugin
5036 submodules : ' recursive'
37+ ref : ${{ github.event.workflow_run.head_sha }}
38+
5139 - uses : dorny/paths-filter@b2feaf19c27470162a626bd6fa8438ae5b263721
5240 if : github.event_name != 'workflow_dispatch' && github.event_name != 'push'
5341 id : filter
@@ -56,36 +44,43 @@ jobs:
5644 filters : |
5745 e2e-test:
5846 - '${{ matrix.module }}/**/e2e-test/**'
47+
5948 - name : Checkout e2e test repo
60496150 with :
6251 repository : cdapio/cdap-e2e-tests
6352 path : e2e
53+
6454 - name : Cache
65556656 with :
6757 path : ~/.m2/repository
6858 key : ${{ runner.os }}-maven-${{ github.workflow }}-${{ hashFiles('**/pom.xml') }}
6959 restore-keys : |
7060 ${{ runner.os }}-maven-${{ github.workflow }}
61+
7162 - name : Run required e2e tests
7263 if : github.event_name != 'workflow_dispatch' && github.event_name != 'push' && steps.filter.outputs.e2e-test == 'false'
7364 run : python3 e2e/src/main/scripts/run_e2e_test.py --module ${{ matrix.module }} --testRunner TestRunnerRequired.java
65+
7466 - name : Run all e2e tests
7567 if : github.event_name == 'workflow_dispatch' || github.event_name == 'push' || steps.filter.outputs.e2e-test == 'true'
7668 run : python3 e2e/src/main/scripts/run_e2e_test.py --module ${{ matrix.module }}
69+
7770 - name : Upload report
78717972 if : always()
8073 with :
8174 name : Cucumber report - ${{ matrix.module }}
8275 path : ./**/target/cucumber-reports
76+
8377 - name : Upload debug files
84788579 if : always()
8680 with :
8781 name : Debug files - ${{ matrix.module }}
8882 path : ./**/target/e2e-debug
83+
8984 - name : Upload files to GCS
9085 uses : google-github-actions/upload-cloud-storage@v0
9186 if : always()
0 commit comments