-
Notifications
You must be signed in to change notification settings - Fork 5.4k
135 lines (131 loc) · 5.85 KB
/
product-tests-specific-environment.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: ci
on:
pull_request:
env:
# An envar that signals to tests we are executing in the CI environment
CONTINUOUS_INTEGRATION: true
MAVEN_OPTS: "-Xmx1024M -XX:+ExitOnOutOfMemoryError"
MAVEN_INSTALL_OPTS: "-Xmx2G -XX:+ExitOnOutOfMemoryError"
MAVEN_FAST_INSTALL: "-B -V --quiet -T 1C -DskipTests -Dair.check.skip-all --no-transfer-progress -Dmaven.javadoc.skip=true"
RETRY: .github/bin/retry
jobs:
changes:
runs-on: ubuntu-latest
# Required permissions
permissions:
pull-requests: read
# Set job outputs to values from filter step
outputs:
codechange: ${{ steps.filter.outputs.codechange }}
steps:
# For pull requests it's not necessary to checkout the code
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
codechange:
- '!presto-docs/**'
product-tests-specific-environment1:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.codechange == 'true'
timeout-minutes: 60
concurrency:
group: ${{ github.workflow }}-product-tests-specific-environment1-${{ github.event.pull_request.number }}
cancel-in-progress: true
steps:
- name: Free Disk Space
run: |
df -h
sudo apt-get clean
rm -rf /opt/hostedtoolcache
df -h
- uses: actions/checkout@v4
with:
show-progress: false
- uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 8
- name: Cache local Maven repository
id: cache-maven
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-2-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-2-
- name: Populate maven cache
if: steps.cache-maven.outputs.cache-hit != 'true'
run: ./mvnw de.qaware.maven:go-offline-maven-plugin:resolve-dependencies --no-transfer-progress && .github/bin/download_nodejs
- name: Maven install
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
./mvnw install ${MAVEN_FAST_INSTALL} -am -pl '!presto-docs,!presto-spark-package,!presto-spark-launcher,!presto-spark-testing,!presto-test-coverage'
- name: Product Tests Specific 1.1
run: presto-product-tests/bin/run_on_docker.sh singlenode -g hdfs_no_impersonation,avro
- name: Product Tests Specific 1.2
run: presto-product-tests/bin/run_on_docker.sh singlenode-kerberos-hdfs-no-impersonation -g hdfs_no_impersonation
# temporarily disable this flaky run. see issue #20388 for details
# - name: Product Tests Specific 1.3
# run: presto-product-tests/bin/run_on_docker.sh singlenode-hdfs-impersonation -g storage_formats,cli,hdfs_impersonation
- name: Product Tests Specific 1.4
run: presto-product-tests/bin/run_on_docker.sh singlenode-kerberos-hdfs-impersonation -g storage_formats,cli,hdfs_impersonation,authorization,hive_file_header
- name: Product Tests Specific 1.5
run: presto-product-tests/bin/run_on_docker.sh singlenode-kerberos-hdfs-impersonation-cross-realm -g storage_formats,cli,hdfs_impersonation
- name: Product Tests Specific 1.6
run: presto-product-tests/bin/run_on_docker.sh multinode-tls-kerberos -g cli,group-by,join,tls
product-tests-specific-environment2:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.codechange == 'true'
timeout-minutes: 60
concurrency:
group: ${{ github.workflow }}-product-tests-specific-environment2-${{ github.event.pull_request.number }}
cancel-in-progress: true
steps:
- name: Free Disk Space
run: |
df -h
sudo apt-get clean
rm -rf /opt/hostedtoolcache
df -h
- uses: actions/checkout@v4
with:
show-progress: false
- uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 8
- name: Cache local Maven repository
id: cache-maven
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-2-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-2-
- name: Populate maven cache
if: steps.cache-maven.outputs.cache-hit != 'true'
run: ./mvnw de.qaware.maven:go-offline-maven-plugin:resolve-dependencies && .github/bin/download_nodejs
- name: Maven install
run: |
export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}"
./mvnw install ${MAVEN_FAST_INSTALL} -am -pl '!presto-docs,!presto-spark-package,!presto-spark-launcher,!presto-spark-testing,!presto-test-coverage'
- name: Product Tests Specific 2.1
run: presto-product-tests/bin/run_on_docker.sh singlenode-ldap -g ldap -x simba_jdbc
- name: Product Tests Specific 2.2
run: presto-product-tests/bin/run_on_docker.sh multinode-tls -g smoke,cli,group-by,join,tls
- name: Product Tests Specific 2.3
run: presto-product-tests/bin/run_on_docker.sh singlenode-mysql -g mysql_connector,mysql
- name: Product Tests Specific 2.4
run: presto-product-tests/bin/run_on_docker.sh singlenode-postgresql -g postgresql_connector
- name: Product Tests Specific 2.5
run: presto-product-tests/bin/run_on_docker.sh singlenode-cassandra -g cassandra
# temporarily disable this flaky run. see issue #20388 for details
# - name: Product Tests Specific 2.6
# run: presto-product-tests/bin/run_on_docker.sh singlenode-kerberos-hdfs-impersonation-with-wire-encryption -g storage_formats,cli,hdfs_impersonation,authorization
- name: Product Tests Specific 2.7
run: presto-product-tests/bin/run_on_docker.sh singlenode-kafka -g kafka
- name: Product Tests Specific 2.8
run: presto-product-tests/bin/run_on_docker.sh singlenode-sqlserver -g sqlserver