Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restore Upgrade Test Scenario2 by creating simple Task and Pipeline resources #6855

Merged
merged 1 commit into from
Jul 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions test/e2e-tests-upgrade.sh
Original file line number Diff line number Diff line change
Expand Up @@ -66,17 +66,31 @@ uninstall_pipeline_crd_version $PREVIOUS_PIPELINE_VERSION
header "Install the previous release of Tekton pipeline $PREVIOUS_PIPELINE_VERSION"
install_pipeline_crd_version $PREVIOUS_PIPELINE_VERSION

header "Create resources at previous release version"
kubectl create namespace upgrade
trap "kubectl delete namespace upgrade" EXIT
kubectl create -f ./test/upgrade/simpleResources.yaml || fail_test

# Upgrade to the current release.
header "Upgrade to the current release of Tekton pipeline"
install_pipeline_crd

# Run the integration tests.
go_test_e2e -timeout=20m ./test || failed=1
# Create runs from the Task and Pipeline resources created at the previous release version
header "Creating TaskRuns and PipelineRuns referencing existing Tasks and Pipelines"
kubectl create -f ./test/upgrade/simpleRuns.yaml || fail_test

# Run the post-integration tests. We do not need to install the resources again, since
# they are installed before the upgrade. We verify if they still work, after going through
# the upgrade.
go_test_e2e -tags=examples -timeout=20m ./test/ || failed=1
for test in taskrun pipelinerun; do
header "Running YAML e2e tests for ${test}s"
if ! run_tests ${test}; then
echo "ERROR: one or more YAML tests failed"
output_yaml_test_results ${test}
output_pods_logs ${test}
failed=1
fi
done

(( failed )) && fail_test

Expand Down
67 changes: 67 additions & 0 deletions test/upgrade/simpleResources.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
apiVersion: tekton.dev/v1
kind: Task
JeromeJu marked this conversation as resolved.
Show resolved Hide resolved
metadata:
name: simple-task
namespace: upgrade
spec:
params:
- name: rsp
type: string
default: "response"
steps:
- name: echo-param
image: alpine
script: |
echo "$(params.rsp)"
- name: check-workspace
image: alpine
script: |
if [ "$(workspaces.workspace.bound)" == "true" ]; then
echo "Workspace provided"
fi
sidecars:
- name: server
image: alpine:3.12.0
command: ['/bin/bash']
workingDir: /foo
script: echo server
workspaces:
- name: workspace
mountPath: /foo
---
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: simple-pipeline
namespace: upgrade
spec:
description: foo
tasks:
- name: check-workspace
taskSpec:
params:
- name: task1-param
type: string
default: "1"
steps:
- image: alpine
name: check-workspace
script: |
if [ "$(workspaces.workspace.bound)" == "true" ]; then
echo "Workspace provided \n"
echo $(params.task1-param)
fi
timeout: 180s
lbernick marked this conversation as resolved.
Show resolved Hide resolved
workspaces:
- name: workspace
finally:
- name: echo-status
taskSpec:
params:
- name: echoStatus
type: string
default: "Succeeded"
steps:
- name: verify-status
image: ubuntu
script: echo $(params.echoStatus)
23 changes: 23 additions & 0 deletions test/upgrade/simpleRuns.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
name: simple-pipelinerun
namespace: upgrade
spec:
pipelineRef:
name: simple-pipeline
workspaces:
- name: workspace
emptyDir: {}
---
apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
name: simple-taskrun
namespace: upgrade
spec:
taskRef:
name: simple-task
workspaces:
- name: workspace
emptyDir: {}