-
Notifications
You must be signed in to change notification settings - Fork 36
132 lines (116 loc) · 4.2 KB
/
e2e.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
---
name: End to End
on:
pull_request:
types: [labeled, opened, synchronize, reopened]
permissions: {}
jobs:
images:
name: Images
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Build the images if necessary
uses: submariner-io/shipyard/gh-actions/cache-images@devel
# Both E2E jobs have the same name; the default job is un-suffixed, the full jobs are suffixed with their matrix combination
e2e-default:
name: E2E
needs: images
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Run E2E deployment and tests
uses: submariner-io/shipyard/gh-actions/e2e@devel
- name: Post mortem
if: failure()
uses: submariner-io/shipyard/gh-actions/post-mortem@devel
e2e-full:
name: E2E
needs: images
if: contains(github.event.pull_request.labels.*.name, 'ready-to-test')
timeout-minutes: 60
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
deploytool: ['operator']
globalnet: ['', 'globalnet']
# Run most tests against the latest K8s version
k8s_version: ['1.29']
include:
# Oldest Kubernetes version thought to work with SubM's Service Discovery.
# If this breaks, we may advance the oldest-working K8s version instead of fixing it. See:
# https://submariner.io/development/building-testing/ci-maintenance/
- k8s_version: '1.21'
# Bottom of supported K8s version range
- k8s_version: '1.26'
steps:
- name: Check out the repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Run E2E deployment and tests
uses: submariner-io/shipyard/gh-actions/e2e@devel
with:
k8s_version: ${{ matrix.k8s_version }}
using: ${{ matrix.deploytool }} ${{ matrix.globalnet }}
- name: Post mortem
if: failure()
uses: submariner-io/shipyard/gh-actions/post-mortem@devel
conformance-test:
name: MCS Conformance
needs: images
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
- name: Check out the mcs-api repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
with:
ref: 3c4ee071514345f07ae2a9846a09e1a9563bcd55
repository: tpantelis/mcs-api
path: mcs-api
# - name: Deploy Submariner with clusterset IP enabled
# shell: bash
# run: |
# make deploy using="clusterset-ip"
#
# - name: Run conformance tests without Connectivity
# shell: bash
# run: |
# export KUBECONFIG=$(find $(git rev-parse --show-toplevel)/output/kubeconfigs/ -type f -printf %p:)
# cd mcs-api/conformance
# go test -v -timeout 30m -contexts cluster1,cluster2 -args -test.timeout 15m \
# --ginkgo.v --ginkgo.trace --ginkgo.label-filter "Required || EndpointSlice || DNS"
#
# - name: Print report.html
# if: always()
# shell: bash
# run: |
# cat mcs-api/conformance/report.html
#
# - name: Clean up Submariner deployment
# shell: bash
# run: |
# make clean-clusters
- name: Deploy Submariner without clusterset IP enabled
shell: bash
run: |
make deploy
- name: Run conformance tests with Connectivity
shell: bash
run: |
export KUBECONFIG=$(find $(git rev-parse --show-toplevel)/output/kubeconfigs/ -type f -printf %p:)
cd mcs-api/conformance
go test -v -timeout 30m -contexts cluster1,cluster2 -args -test.timeout 15m \
--ginkgo.v --ginkgo.trace --ginkgo.label-filter "Connectivity"
- name: Print report.html
if: always()
shell: bash
run: |
cat mcs-api/conformance/report.html
- name: Post mortem
if: failure()
uses: submariner-io/shipyard/gh-actions/post-mortem@devel