-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Make examples runnable with kubectl 🐇 #3564
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
187 changes: 187 additions & 0 deletions
187
test/yamls/v1beta1/pipelineruns/pipelinerun-with-final-tasks.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,187 @@ | ||
# Copied from https://github.com/tektoncd/catalog/blob/v1beta1/git/git-clone.yaml :( | ||
# This can be deleted after we add support to refer to the remote Task in a registry (Issue #1839) or | ||
# add support for referencing task in git directly (issue #2298) | ||
apiVersion: tekton.dev/v1beta1 | ||
kind: Task | ||
metadata: | ||
name: git-clone-from-catalog | ||
spec: | ||
workspaces: | ||
- name: output | ||
description: The git repo will be cloned onto the volume backing this workspace | ||
params: | ||
- name: url | ||
description: git url to clone | ||
type: string | ||
- name: revision | ||
description: git revision to checkout (branch, tag, sha, ref…) | ||
type: string | ||
default: master | ||
- name: refspec | ||
description: (optional) git refspec to fetch before checking out revision | ||
default: "" | ||
- name: submodules | ||
description: defines if the resource should initialize and fetch the submodules | ||
type: string | ||
default: "true" | ||
- name: depth | ||
description: performs a shallow clone where only the most recent commit(s) will be fetched | ||
type: string | ||
default: "1" | ||
- name: sslVerify | ||
description: defines if http.sslVerify should be set to true or false in the global git config | ||
type: string | ||
default: "true" | ||
- name: subdirectory | ||
description: subdirectory inside the "output" workspace to clone the git repo into | ||
type: string | ||
default: "" | ||
- name: deleteExisting | ||
description: clean out the contents of the repo's destination directory (if it already exists) before trying to clone the repo there | ||
type: string | ||
default: "false" | ||
- name: httpProxy | ||
description: git HTTP proxy server for non-SSL requests | ||
type: string | ||
default: "" | ||
- name: httpsProxy | ||
description: git HTTPS proxy server for SSL requests | ||
type: string | ||
default: "" | ||
- name: noProxy | ||
description: git no proxy - opt out of proxying HTTP/HTTPS requests | ||
type: string | ||
default: "" | ||
results: | ||
- name: commit | ||
description: The precise commit SHA that was fetched by this Task | ||
steps: | ||
- name: clone | ||
image: ko://github.com/tektoncd/pipeline/cmd/git-init | ||
script: | | ||
CHECKOUT_DIR="$(workspaces.output.path)/$(params.subdirectory)" | ||
|
||
cleandir() { | ||
# Delete any existing contents of the repo directory if it exists. | ||
# | ||
# We don't just "rm -rf $CHECKOUT_DIR" because $CHECKOUT_DIR might be "/" | ||
# or the root of a mounted volume. | ||
if [[ -d "$CHECKOUT_DIR" ]] ; then | ||
# Delete non-hidden files and directories | ||
rm -rf "$CHECKOUT_DIR"/* | ||
# Delete files and directories starting with . but excluding .. | ||
rm -rf "$CHECKOUT_DIR"/.[!.]* | ||
# Delete files and directories starting with .. plus any other character | ||
rm -rf "$CHECKOUT_DIR"/..?* | ||
fi | ||
} | ||
|
||
if [[ "$(params.deleteExisting)" == "true" ]] ; then | ||
cleandir | ||
fi | ||
|
||
test -z "$(params.httpProxy)" || export HTTP_PROXY=$(params.httpProxy) | ||
test -z "$(params.httpsProxy)" || export HTTPS_PROXY=$(params.httpsProxy) | ||
test -z "$(params.noProxy)" || export NO_PROXY=$(params.noProxy) | ||
|
||
/ko-app/git-init \ | ||
-url "$(params.url)" \ | ||
-revision "$(params.revision)" \ | ||
-refspec "$(params.refspec)" \ | ||
-path "$CHECKOUT_DIR" \ | ||
-sslVerify="$(params.sslVerify)" \ | ||
-submodules="$(params.submodules)" \ | ||
-depth "$(params.depth)" | ||
cd "$CHECKOUT_DIR" | ||
RESULT_SHA="$(git rev-parse HEAD | tr -d '\n')" | ||
EXIT_CODE="$?" | ||
if [ "$EXIT_CODE" != 0 ] | ||
then | ||
exit $EXIT_CODE | ||
fi | ||
# Make sure we don't add a trailing newline to the result! | ||
echo -n "$RESULT_SHA" > $(results.commit.path) | ||
|
||
--- | ||
|
||
# Task to cleanup shared workspace | ||
apiVersion: tekton.dev/v1beta1 | ||
kind: Task | ||
metadata: | ||
name: cleanup-workspace | ||
spec: | ||
workspaces: | ||
# Shared workspace where git repo is cloned | ||
- name: source | ||
steps: | ||
- name: check-application-dir-has-source | ||
image: ubuntu | ||
script: | | ||
if [ ! -d "$(workspaces.source.path)/application/" ]; then | ||
echo "Something went wrong and could not find application source under $(workspaces.source.path)/application/" | ||
exit 1 | ||
fi | ||
- name: cleanup-workspace | ||
image: ubuntu | ||
script: | | ||
rm -rf $(workspaces.source.path)/application/ | ||
- name: verify-application-dir-has-gone | ||
image: ubuntu | ||
script: | | ||
if [ -d "$(workspaces.source.path)/application/" ]; then | ||
echo "Something went wrong cleaning up and the application source still exists under $(workspaces.source.path)/application/" | ||
exit 1 | ||
fi | ||
--- | ||
|
||
# Pipeline to clone repo into shared workspace and cleanup the workspace after done | ||
apiVersion: tekton.dev/v1beta1 | ||
kind: Pipeline | ||
metadata: | ||
name: clone-cleanup-workspace | ||
spec: | ||
workspaces: | ||
# common workspace where git repo is cloned and needs to be cleanup after done | ||
- name: git-source | ||
tasks: | ||
# Clone app repo to workspace | ||
- name: clone-app-repo | ||
taskRef: | ||
name: git-clone-from-catalog | ||
params: | ||
- name: url | ||
value: https://github.com/tektoncd/community.git | ||
- name: subdirectory | ||
value: application | ||
workspaces: | ||
- name: output | ||
workspace: git-source | ||
finally: | ||
# Cleanup workspace | ||
- name: cleanup | ||
taskRef: | ||
name: cleanup-workspace | ||
workspaces: | ||
- name: source | ||
workspace: git-source | ||
--- | ||
|
||
# PipelineRun to execute pipeline - clone-into-workspace-and-cleanup-workspace | ||
apiVersion: tekton.dev/v1beta1 | ||
kind: PipelineRun | ||
metadata: | ||
name: write-and-cleanup-workspace | ||
spec: | ||
pipelineRef: | ||
name: clone-cleanup-workspace | ||
serviceAccountName: 'default' | ||
workspaces: | ||
- name: git-source | ||
volumeClaimTemplate: | ||
spec: | ||
accessModes: | ||
- ReadWriteOnce | ||
resources: | ||
requests: | ||
storage: 1Gi | ||
--- |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Super tiny nit: there's a comment on line 151,
// Parse from koCreate for now
that I think is no longer right with this change? Maybe// Parse from createFunc for now
?