apiVersion: tekton.dev/v1 kind: Pipeline metadata: name: auto-ci-push spec: workspaces: - name: source - name: dockerconfig - name: ssh - name: sslcertdir params: - name: artifactory-url default: docker.io description: The url of the current artifactory type: string - name: okd-url default: https://okd.media.rennes.home type: string - name: project-name description: The name of the current project type: string - name: project-path description: The path of the current project type: string - name: git-default-branch description: The git revision default: main - name: git-url type: string - name: git-revision type: string - name: branch-name type: string finally: - name: cleanup taskRef: name: auto-ci-cleanup workspaces: - name: source - name: inform-gitea-success when: - cel: "'$(tasks.status)' in ['Succeeded','Completed']" params: - name: REPO_FULL_NAME value: $(params.project-path) - name: SHA value: $(params.git-revision) - name: TARGET_URL value: "$(params.okd-url)/k8s/ns/$(context.pipelineRun.namespace)/tekton.dev~v1~PipelineRun/$(context.pipelineRun.name)" - name: DESCRIPTION value: "auto-ci-push" - name: STATE value: "success" taskRef: name: gitea-set-status - name: inform-gitea-warning when: - cel: "'$(tasks.status)' == 'None'" params: - name: REPO_FULL_NAME value: $(params.project-path) - name: SHA value: $(params.git-revision) - name: TARGET_URL value: "$(params.okd-url)/k8s/ns/$(context.pipelineRun.namespace)/tekton.dev~v1~PipelineRun/$(context.pipelineRun.name)" - name: DESCRIPTION value: "auto-ci-push" - name: STATE value: "warning" taskRef: name: gitea-set-status - name: inform-gitea-error when: - cel: "'$(tasks.status)' == 'Failed'" params: - name: REPO_FULL_NAME value: $(params.project-path) - name: SHA value: $(params.git-revision) - name: TARGET_URL value: "$(params.okd-url)/k8s/ns/$(context.pipelineRun.namespace)/tekton.dev~v1~PipelineRun/$(context.pipelineRun.name)" - name: DESCRIPTION value: "auto-ci-push" - name: STATE value: "error" taskRef: name: gitea-set-status tasks: - name: inform-gitea-start onError: continue params: - name: REPO_FULL_NAME value: $(params.project-path) - name: SHA value: $(params.git-revision) - name: TARGET_URL value: "$(params.okd-url)/k8s/ns/$(context.pipelineRun.namespace)/tekton.dev~v1~PipelineRun/$(context.pipelineRun.name)" - name: DESCRIPTION value: "auto-ci-push" - name: STATE value: "pending" taskRef: name: gitea-set-status - name: git-clone params: - name: url value: $(params.git-url) - name: revision value: $(params.git-revision) - name: branch value: $(params.branch-name) - name: depth value: 0 taskRef: name: git-clone workspaces: - name: output workspace: source - name: ssh-directory workspace: ssh - name: git-version runAfter: [git-clone] params: - name: branch value: $(params.branch-name) taskRef: name: git-version workspaces: - name: source - name: detect-stages runAfter: [git-version] params: - name: artifactory-url value: $(params.artifactory-url) - name: project-name value: $(params.project-name) - name: project-path value: $(params.project-path) - name: image-version value: "$(params.branch-name)-$(tasks.git-version.results.packageVersion)" taskRef: name: auto-ci-detector workspaces: - name: source - name: lint-shell runAfter: [detect-stages] onError: continue when: - input: "lint-shell" operator: in values: ["$(tasks.detect-stages.results.stages-lint[*])"] params: - name: args value: $(tasks.detect-stages.results.file-shell) taskRef: name: shellcheck workspaces: - name: shared-workspace workspace: source - name: lint-docker runAfter: [detect-stages] onError: continue when: - input: "lint-docker" operator: in values: ["$(tasks.detect-stages.results.stages-lint[*])"] taskRef: name: hadolint matrix: params: - name: dockerfile-path value: $(tasks.detect-stages.results.file-docker) workspaces: - name: source - name: lint-yaml runAfter: [detect-stages] onError: continue when: - input: "lint-yaml" operator: in values: ["$(tasks.detect-stages.results.stages-lint[*])"] params: - name: args value: ["."] taskRef: name: yaml-lint workspaces: - name: shared-workspace workspace: source - name: lint-black runAfter: [detect-stages] onError: continue when: - input: "lint-black" operator: in values: ["$(tasks.detect-stages.results.stages-lint[*])"] params: - name: args value: ["--check", "--diff", "$(tasks.detect-stages.results.file-python[*])"] taskRef: name: black workspaces: - name: shared-workspace workspace: source - name: lint-python runAfter: [detect-stages] onError: continue when: - input: "lint-python" operator: in values: ["$(tasks.detect-stages.results.stages-lint[*])"] params: - name: args value: ["$(tasks.detect-stages.results.file-python[*])"] taskRef: name: pylint workspaces: - name: shared-workspace workspace: source - name: publish-docker runAfter: ["lint-docker"] when: - input: "publish-docker" operator: in values: ["$(tasks.detect-stages.results.stages-publish[*])"] - cel: "'$(params.branch-name)' == '$(params.git-default-branch)'" taskRef: name: buildah matrix: params: - name: DOCKERFILE value: $(tasks.detect-stages.results.file-docker) - name: IMAGE value: $(tasks.detect-stages.results.images-name) workspaces: - name: source - name: sslcertdir - name: dockerconfig