Skip to content

Instantly share code, notes, and snippets.

@kenazk
Last active June 15, 2020 17:03
Show Gist options
  • Save kenazk/7485f024d6bf77f566eed06d3a07b966 to your computer and use it in GitHub Desktop.
Save kenazk/7485f024d6bf77f566eed06d3a07b966 to your computer and use it in GitHub Desktop.
Updating Relay workflow on Github PR merge
apiVersion: v1
description: Update a Relay workflow when a GitHub PR is merged
parameters:
branch:
default: master
repository:
default: "kenazk/testing"
triggers:
- name: github-pr-merge
source:
type: webhook
image: relaysh/github-trigger-pull-request-merged
binding:
parameters:
repository: !Data repository
branch: !Data branch
steps:
- name: replace-workflow
image: projectnebula/core
when:
- !Fn.equals [!Parameter branch, "master"]
spec:
workflowName: "test"
git:
branch: !Parameter branch
repository: !Parameter repository
pathToWorkflowFile: "./workflow.yaml"
relay:
username: demo@puppet.com
password: !Secret password
input:
- |
curl -L https://github.com/puppetlabs/relay/releases/download/v4.0.4/relay-v4.0.4-linux-amd64 --output relay && chmod +x relay
password=$(ni get -p {.relay.password})
username=$(ni get -p {.relay.username})
repo=$(ni get -p {.git.repository}) && echo $repo
base=$(echo $repo | awk '{p=index($1,"/");print substr($1,p+1)}') && echo $base
git clone "https://github.com/${repo}" && cd ./${base} && ls -la
echo $password | ../relay auth login $username -p
echo "Updating Workflow file"
../relay workflow replace $(ni get -p {.workflowName}) -f $(ni get -p {.git.pathToWorkflowFile})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment