-
Notifications
You must be signed in to change notification settings - Fork 29
148 lines (132 loc) · 4.68 KB
/
Copy pathe2e.yaml
File metadata and controls
148 lines (132 loc) · 4.68 KB
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
136
137
138
139
140
141
142
143
144
145
146
147
148
---
name: E2E
on:
pull_request:
types: [opened, synchronize, reopened, labeled, unlabeled]
env:
TOOLS_PATH: "/opt/tools/bin"
GONOPROXY: 'github.com/percona'
GONOSUMDB: 'github.com/percona'
GOPRIVATE: 'github.com/percona'
permissions:
contents: read
jobs:
e2e-core-flows:
name: Core tests
if: |
contains(github.event.pull_request.labels.*.name, 'test/e2e') ||
contains(github.event.pull_request.labels.*.name, 'test/e2e-core')
uses: ./.github/workflows/e2e-k3d.yaml
secrets: inherit
with:
make_target: test-e2e-core
e2e-operator-upgrade-flows:
name: DB operator upgrade tests
if: |
contains(github.event.pull_request.labels.*.name, 'test/e2e') ||
contains(github.event.pull_request.labels.*.name, 'test/e2e-operator-upgrade')
uses: ./.github/workflows/e2e-k3d.yaml
secrets: inherit
with:
make_target: test-e2e-operator-upgrade
e2e-db-upgrade-flows:
name: DB upgrade tests
if: |
contains(github.event.pull_request.labels.*.name, 'test/e2e') ||
contains(github.event.pull_request.labels.*.name, 'test/e2e-db-upgrade')
uses: ./.github/workflows/e2e-k3d.yaml
secrets: inherit
with:
make_target: test-e2e-db-upgrade
e2e-engine-features-flows:
name: DB engine features tests
if: |
contains(github.event.pull_request.labels.*.name, 'test/e2e') ||
contains(github.event.pull_request.labels.*.name, 'test/e2e-engine-features')
uses: ./.github/workflows/e2e-k3d.yaml
secrets: inherit
with:
make_target: test-e2e-engine-features
e2e-data-importer-flows:
name: Data importer tests
if: |
contains(github.event.pull_request.labels.*.name, 'test/e2e') ||
contains(github.event.pull_request.labels.*.name, 'test/e2e-data-importer')
strategy:
fail-fast: false
matrix:
make_target:
- test-e2e-data-importer-pg
- test-e2e-data-importer-psmdb
- test-e2e-data-importer-pxc
uses: ./.github/workflows/e2e-k3d.yaml
secrets: inherit
with:
make_target: ${{ matrix.make_target }}
e2e-eks-tests:
name: EKS tests
if: |
contains(github.event.pull_request.labels.*.name, 'test/e2e') ||
contains(github.event.pull_request.labels.*.name, 'test/e2e-resize-storage')
timeout-minutes: 80
concurrency: eks-e2e-tests
strategy:
fail-fast: true
runs-on: ubuntu-latest
env:
KUBECONFIG: "/home/runner/.kube/config"
steps:
- name: Check out code
uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5.1.0
- name: Set up Go release
uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0
with:
go-version-file: 'go.mod'
cache: true
- name: Install Kubernetes tools
uses: ./.github/actions/install-kubernetes-tools
with:
install-kubectl: true
install-kuttl: true
install-k3d: false
- name: Install EKS tools
run: |
# Install EKSCTL
ARCH=amd64
PLATFORM=$(uname -s)_${ARCH}
curl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_${PLATFORM}.tar.gz"
tar -xzf eksctl_${PLATFORM}.tar.gz -C "${TOOLS_PATH}"
chmod +x "${TOOLS_PATH}"/eksctl
- name: Configure AWS
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
with:
aws-access-key-id: ${{ secrets.EVEREST_EKS_E2E_IAM_USER_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.EVEREST_EKS_E2E_IAM_USER_ACCESS_KEY_SECRET }}
aws-region: us-east-2
- name: Update EKS kubeconfig
run: |
aws eks update-kubeconfig --name everest-e2e-dev-eks-cluster
- name: Scale up cluster
run: |
eksctl scale nodegroup --cluster="$CLUSTER_NAME" --nodes=5 "$NODEPOOL_NAME" --wait
env:
CLUSTER_NAME: "everest-e2e-dev-eks-cluster"
NODEPOOL_NAME: "everest-e2e-dev-eks-workers-glowworm"
- name: Resize DB storage
continue-on-error: true
if: |
contains(github.event.pull_request.labels.*.name, 'test/e2e') ||
contains(github.event.pull_request.labels.*.name, 'test/e2e-resize-storage')
run: |
make test-e2e-resize-storage
- name: Clean up resources and CRDs
if: always()
run: |
make cluster-cleanup
- name: Scale down cluster
if: always()
run: |
eksctl scale nodegroup --cluster="$CLUSTER_NAME" --nodes=0 "$NODEPOOL_NAME"
env:
CLUSTER_NAME: "everest-e2e-dev-eks-cluster"
NODEPOOL_NAME: "everest-e2e-dev-eks-workers-glowworm"