chore: added e2e-test pipeline
This commit is contained in:
34
eventlistener/e2e-test-webhook-listener.yaml
Normal file
34
eventlistener/e2e-test-webhook-listener.yaml
Normal file
@@ -0,0 +1,34 @@
|
||||
apiVersion: triggers.tekton.dev/v1beta1
|
||||
kind: EventListener
|
||||
metadata:
|
||||
name: e2e-test-webhook-listener
|
||||
namespace: goghvideo-cicd-pipeline
|
||||
spec:
|
||||
serviceAccountName: pipeline
|
||||
triggers:
|
||||
- name: e2etest-greeter-webhook
|
||||
interceptors:
|
||||
- name: gitea
|
||||
ref:
|
||||
name: gitea
|
||||
kind: ClusterInterceptor
|
||||
apiVersion: triggers.tekton.dev
|
||||
params:
|
||||
- name: secretRef
|
||||
value:
|
||||
secretName: webhook-secret
|
||||
secretKey: sharedSecret
|
||||
- name: eventTypes
|
||||
value: ["pull_request", "pull_request_sync"]
|
||||
- name: allow-create-and-update-only
|
||||
ref:
|
||||
name: cel
|
||||
kind: ClusterInterceptor
|
||||
params:
|
||||
- name: filter
|
||||
value: >
|
||||
body.action in ['opened', 'synchronized']
|
||||
bindings:
|
||||
- ref: gitea-binding
|
||||
template:
|
||||
ref: e2etest-template
|
||||
225
pipeline/e2e-test.yaml
Normal file
225
pipeline/e2e-test.yaml
Normal file
@@ -0,0 +1,225 @@
|
||||
apiVersion: tekton.dev/v1beta1
|
||||
kind: Pipeline
|
||||
metadata:
|
||||
name: e2e-buildtest
|
||||
namespace: goghvideo-cicd-pipeline
|
||||
spec:
|
||||
workspaces:
|
||||
- name: source
|
||||
- name: gitauth
|
||||
- name: dockerconfig
|
||||
- name: helm
|
||||
- name: gitsshauth
|
||||
params:
|
||||
- name: git-repo-full-name
|
||||
type: string
|
||||
- name: git-token-secret-name
|
||||
type: string
|
||||
- name: git-token-secret-key
|
||||
type: string
|
||||
- name: git-commit-sha
|
||||
type: string
|
||||
- name: git-repo-url
|
||||
type: string
|
||||
description: Git URL to retrieve
|
||||
- name: git-branch
|
||||
type: string
|
||||
description: branch to checkout
|
||||
- name: git-pr-index
|
||||
description: PR number to merge
|
||||
- name: git-merge-type
|
||||
description: What type of merge to do
|
||||
- name: git-merge-delete-branch
|
||||
description: delete the branch after merge
|
||||
- name: verbose
|
||||
type: string
|
||||
default: "false"
|
||||
- name: lint-package
|
||||
type: string
|
||||
- name: lint-context
|
||||
type: string
|
||||
description: Path to where the modules are stored
|
||||
- name: lint-version
|
||||
type: string
|
||||
default: latest
|
||||
- name: image
|
||||
type: string
|
||||
- name: s2i-builder-image
|
||||
type: string
|
||||
- name: git-helm-url
|
||||
type: string
|
||||
tasks:
|
||||
- name: set-check-pending
|
||||
taskRef:
|
||||
name: gitea-set-status
|
||||
params:
|
||||
- name: SHA
|
||||
value: $(params.git-commit-sha)
|
||||
- name: GITEA_HOST_URL
|
||||
value: git.endofday.com
|
||||
- name: REPO_FULL_NAME
|
||||
value: $(params.git-repo-full-name)
|
||||
- name: GITEA_TOKEN_SECRET_NAME
|
||||
value: $(params.git-token-secret-name)
|
||||
- name: GITEA_TOKEN_SECRET_KEY
|
||||
value: $(params.git-token-secret-key)
|
||||
- name: DESCRIPTION
|
||||
value: Build started
|
||||
- name: STATE
|
||||
value: pending
|
||||
- name: TARGET_URL
|
||||
value: https://console-openshift-console.apps.ocp.endofday.com/pipelines/all-namespaces
|
||||
- name: git-semver
|
||||
runAfter:
|
||||
- set-check-pending
|
||||
taskRef:
|
||||
name: git-semver
|
||||
params:
|
||||
- name: gitrepositoryurl
|
||||
value: $(params.git-repo-url)
|
||||
- name: gitbranch
|
||||
value: $(params.git-branch)
|
||||
workspaces:
|
||||
- name: repo
|
||||
workspace: source
|
||||
- name: gitauth
|
||||
workspace: gitauth
|
||||
- name: golangci-lint
|
||||
runAfter:
|
||||
- git-semver
|
||||
taskRef:
|
||||
name: golangci-lint
|
||||
params:
|
||||
- name: package
|
||||
value: $(params.lint-package)
|
||||
- name: context
|
||||
value: $(params.lint-context)
|
||||
- name: version
|
||||
value: $(params.lint-version)
|
||||
workspaces:
|
||||
- name: source
|
||||
workspace: source
|
||||
- name: generate-imagetag
|
||||
runAfter:
|
||||
- golangci-lint
|
||||
taskRef:
|
||||
name: generate-image-tag
|
||||
params:
|
||||
- name: version
|
||||
value: $(tasks.git-semver.results.version)
|
||||
- name: image
|
||||
value: $(params.image)
|
||||
- name: s2i-build
|
||||
runAfter:
|
||||
- generate-imagetag
|
||||
taskRef:
|
||||
name: s2i-go-debug
|
||||
kind: Task
|
||||
params:
|
||||
- name: TLSVERIFY
|
||||
value: false
|
||||
- name: BUILDER_IMAGE
|
||||
value: $(params.s2i-builder-image)
|
||||
- name: PATH_CONTEXT
|
||||
value: $(params.lint-context)
|
||||
- name: verbose
|
||||
value: true
|
||||
- name: IMAGE
|
||||
value: $(tasks.generate-imagetag.results.imagetag)
|
||||
- name: ENV_VARS
|
||||
value:
|
||||
- semver=$(tasks.git-semver.results.version)
|
||||
workspaces:
|
||||
- name: source
|
||||
workspace: source
|
||||
- name: dockerconfig
|
||||
workspace: dockerconfig
|
||||
- name: pass-pr-check
|
||||
runAfter: ["generate-imagetag"]
|
||||
taskRef:
|
||||
name: gitea-set-status
|
||||
params:
|
||||
- name: SHA
|
||||
value: $(params.git-commit-sha)
|
||||
- name: GITEA_HOST_URL
|
||||
value: git.endofday.com
|
||||
- name: REPO_FULL_NAME
|
||||
value: $(params.git-repo-full-name)
|
||||
- name: GITEA_TOKEN_SECRET_NAME
|
||||
value: $(params.git-token-secret-name)
|
||||
- name: GITEA_TOKEN_SECRET_KEY
|
||||
value: $(params.git-token-secret-key)
|
||||
- name: DESCRIPTION
|
||||
value: Tekton CI Pipeline
|
||||
- name: STATE
|
||||
value: success
|
||||
- name: TARGET_URL
|
||||
value: https://console-openshift-console.apps.ocp.endofday.com/pipelines
|
||||
- name: create-git-release
|
||||
runAfter: ["pass-pr-check"]
|
||||
taskRef:
|
||||
name: gitea-create-release
|
||||
params:
|
||||
- name: SHA
|
||||
value: $(params.git-commit-sha)
|
||||
- name: GITEA_HOST_URL
|
||||
value: git.endofday.com
|
||||
- name: REPO_FULL_NAME
|
||||
value: $(params.git-repo-full-name)
|
||||
- name: GITEA_TOKEN_SECRET_NAME
|
||||
value: $(params.git-token-secret-name)
|
||||
- name: GITEA_TOKEN_SECRET_KEY
|
||||
value: $(params.git-token-secret-key)
|
||||
- name: TAG
|
||||
value: $(tasks.git-semver.results.version)
|
||||
- name: TITLE
|
||||
value: $(params.git-repo-full-name)-$(tasks.git-semver.results.version)
|
||||
- name: perform-merge
|
||||
runAfter: ["create-git-release"]
|
||||
taskRef:
|
||||
name: gitea-merge-pr
|
||||
params:
|
||||
- name: GITEA_HOST_URL
|
||||
value: git.endofday.com
|
||||
- name: REPO_FULL_NAME
|
||||
value: $(params.git-repo-full-name)
|
||||
- name: GITEA_TOKEN_SECRET_NAME
|
||||
value: $(params.git-token-secret-name)
|
||||
- name: GITEA_TOKEN_SECRET_KEY
|
||||
value: $(params.git-token-secret-key)
|
||||
- name: DESCRIPTION
|
||||
value: Automatically merged by CI pipeline
|
||||
- name: INDEX
|
||||
value: $(params.git-pr-index)
|
||||
- name: MERGETYPE
|
||||
value: $(params.git-merge-type)
|
||||
- name: DELETEBRANCH
|
||||
value: $(params.git-merge-delete-branch)
|
||||
- name: TARGET_URL
|
||||
value: https://console-openshift-console.apps.ocp.endofday.com/pipelines
|
||||
finally:
|
||||
- name: fail-pr-check
|
||||
when:
|
||||
- input: $(tasks.status)
|
||||
operator: in
|
||||
values:
|
||||
- Failed
|
||||
taskRef:
|
||||
name: gitea-set-status
|
||||
params:
|
||||
- name: SHA
|
||||
value: $(params.git-commit-sha)
|
||||
- name: GITEA_HOST_URL
|
||||
value: git.endofday.com
|
||||
- name: REPO_FULL_NAME
|
||||
value: $(params.git-repo-full-name)
|
||||
- name: GITEA_TOKEN_SECRET_NAME
|
||||
value: $(params.git-token-secret-name)
|
||||
- name: GITEA_TOKEN_SECRET_KEY
|
||||
value: $(params.git-token-secret-key)
|
||||
- name: DESCRIPTION
|
||||
value: Tekton CI Pipeline
|
||||
- name: STATE
|
||||
value: failure
|
||||
- name: TARGET_URL
|
||||
value: https://console-openshift-console.apps.ocp.endofday.com/pipelines
|
||||
88
triggertemplate/e2e-test.yaml
Normal file
88
triggertemplate/e2e-test.yaml
Normal file
@@ -0,0 +1,88 @@
|
||||
apiVersion: triggers.tekton.dev/v1beta1
|
||||
kind: TriggerTemplate
|
||||
metadata:
|
||||
name: 2e2test-template
|
||||
namespace: goghvideo-cicd-pipeline
|
||||
spec:
|
||||
params:
|
||||
- name: gitrepositoryurl
|
||||
description: The git repository url
|
||||
- name: gitfullreponame
|
||||
description: The org and repo name
|
||||
- name: gitreponame
|
||||
description: The name of the repo
|
||||
- name: gitbranch
|
||||
description: Branch to act on
|
||||
- name: gitcommitsha
|
||||
description: The SHA head
|
||||
- name: gitprindex
|
||||
description: The pull request reference
|
||||
resourcetemplates:
|
||||
- apiVersion: tekton.dev/v1beta1
|
||||
kind: PipelineRun
|
||||
metadata:
|
||||
generateName: goghvideo-e2etest-
|
||||
spec:
|
||||
pipelineRef:
|
||||
name: e2etest-buildtest
|
||||
serviceAccountName: pipeline
|
||||
params:
|
||||
- name: git-repo-url
|
||||
value: $(tt.params.gitrepositoryurl)
|
||||
- name: git-repo-full-name
|
||||
value: $(tt.params.gitfullreponame)
|
||||
- name: git-branch
|
||||
value: $(tt.params.gitbranch)
|
||||
- name: git-commit-sha
|
||||
value: $(tt.params.gitcommitsha)
|
||||
- name: git-pr-index
|
||||
value: $(tt.params.gitprindex)
|
||||
- name: verbose
|
||||
value: true
|
||||
- name: lint-package
|
||||
value: git.endofday.com/goghvideo/e2e-test
|
||||
- name: lint-context
|
||||
value: $(tt.params.gitreponame)/src
|
||||
- name: image
|
||||
value: quay01.ipa.endofday.com/goghvideo/e2e-test
|
||||
- name: s2i-builder-image
|
||||
value: quay01.ipa.endofday.com/goghvideo/golang-s2i-buildah:v1
|
||||
- name: git-token-secret-name
|
||||
value: git-http-credentials
|
||||
- name: git-token-secret-key
|
||||
value: password
|
||||
- name: git-merge-type
|
||||
value: merge
|
||||
- name: git-merge-delete-branch
|
||||
value: True
|
||||
- name: git-helm-url
|
||||
value: git@git-ssh.ipa.endofday.com:goghvideo/helm.git
|
||||
workspaces:
|
||||
- name: source
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
storageClassName: nfs-client
|
||||
- name: gitauth
|
||||
secret:
|
||||
secretName: git-http-credentials
|
||||
- name: gitsshauth
|
||||
secret:
|
||||
secretName: git-credentials
|
||||
- name: dockerconfig
|
||||
secret:
|
||||
secretName: goghvideo-container-registry-push
|
||||
- name: helm
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
storageClassName: nfs-client
|
||||
|
||||
Reference in New Issue
Block a user