Skip to content

Commit d439fdc

Browse files
authored
Merge pull request #3799 from telepresenceio/thallgren/compatibility-testing
Backward and forward compatibility testing
2 parents 793958e + b5a57fd commit d439fdc

36 files changed

+984
-769
lines changed

.github/workflows/dev.yaml

+43-7
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,29 @@ on:
66

77
env:
88
TELEPRESENCE_REGISTRY: ghcr.io/telepresenceio
9-
DTEST_REGISTRY: ghcr.io/telepresenceio
109

1110
jobs:
1211
build_images:
13-
if: github.event.label.name == 'ok to test'
12+
if: github.event.label.name == 'ok to test' || github.event.label.name == 'compatibility test'
1413
runs-on: ubuntu-latest
1514
outputs:
1615
telepresenceVersion: ${{ steps.version.outputs.version }}
1716
telepresenceSemver: ${{ steps.version.outputs.semver }}
1817
steps:
19-
- name: Remove label
18+
- name: Remove ok to test label
19+
if: github.event.label.name == 'ok to test'
2020
uses: buildsville/[email protected]
2121
with:
2222
token: ${{ secrets.GITHUB_TOKEN }}
2323
labels: ok to test
2424
type: remove
25+
- name: Remove compatibility test label
26+
if: github.event.label.name == 'compatibility test'
27+
uses: buildsville/[email protected]
28+
with:
29+
token: ${{ secrets.GITHUB_TOKEN }}
30+
labels: compatibility test
31+
type: remove
2532
- uses: actions/checkout@v4
2633
with:
2734
fetch-depth: 0
@@ -55,7 +62,7 @@ jobs:
5562
run: docker logout
5663

5764
run_tests:
58-
if: github.event.label.name == 'ok to test'
65+
if: github.event.label.name == 'ok to test' || github.event.label.name == 'compatibility test'
5966
strategy:
6067
fail-fast: false
6168
matrix:
@@ -81,8 +88,37 @@ jobs:
8188
- name: Build client
8289
run: make build
8390
- name: Run integration tests
91+
if: github.event.label.name == 'ok to test'
92+
uses: nick-fields/retry/@v3
93+
with:
94+
max_attempts: 3
95+
shell: bash
96+
timeout_minutes: 90
97+
command: |
98+
set -ex
99+
if [[ ${RUNNER_OS} == "Windows" ]]; then
100+
export PATH="$PATH:/C/Program Files/SSHFS-Win/bin:$HOME/kubectl-plugins"
101+
fi
102+
make check-integration
103+
- name: Compatibility with older manager and agent
104+
if: github.event.label.name == 'compatibility test'
105+
env:
106+
DEV_MANAGER_VERSION: "2.21.3"
107+
uses: nick-fields/retry/@v3
108+
with:
109+
max_attempts: 3
110+
shell: bash
111+
timeout_minutes: 90
112+
command: |
113+
set -ex
114+
if [[ ${RUNNER_OS} == "Windows" ]]; then
115+
export PATH="$PATH:/C/Program Files/SSHFS-Win/bin:$HOME/kubectl-plugins"
116+
fi
117+
make check-integration
118+
- name: Compatibility with older client
119+
if: github.event.label.name == 'compatibility test'
84120
env:
85-
SCOUT_DISABLE: "1"
121+
DEV_CLIENT_VERSION: "2.21.3"
86122
uses: nick-fields/retry/@v3
87123
with:
88124
max_attempts: 3
@@ -93,13 +129,13 @@ jobs:
93129
if [[ ${RUNNER_OS} == "Windows" ]]; then
94130
export PATH="$PATH:/C/Program Files/SSHFS-Win/bin:$HOME/kubectl-plugins"
95131
fi
96-
DEV_TELEPRESENCE_VERSION=${TELEPRESENCE_VERSION} DTEST_KUBECONFIG="${HOME}/.kube/config" make check-integration
132+
make check-integration
97133
- uses: ./.github/actions/upload-logs
98134
env:
99135
LOG_SUFFIX: "${{ runner.os }}-${{ runner.arch }}-${{ matrix.clusters.distribution }}-${{ matrix.clusters.version }}"
100136
if: always()
101137
purge_images:
102-
if: github.event.label.name == 'ok to test'
138+
if: github.event.label.name == 'ok to test' || github.event.label.name == 'compatibility test'
103139
runs-on: ubuntu-latest
104140
permissions:
105141
packages: write

0 commit comments

Comments
 (0)