Github Action for trigger a workflow from another workflow. The action then waits for a response.
When would you use it?
When deploying an app you may need to deploy additional services, this Github Action helps with that.
- uses: convictional/trigger-workflow-and-wait@v1.6.1
with:
owner: keithconvictional
repo: myrepo
github_token: ${{ secrets.GITHUB_PERSONAL_ACCESS_TOKEN }}- uses: convictional/trigger-workflow-and-wait@v1.6.1
with:
owner: keithconvictional
repo: myrepo
github_token: ${{ secrets.GITHUB_PERSONAL_ACCESS_TOKEN }}
github_user: github-user
workflow_file_name: main.yml
ref: release-branch
wait_interval: 10
client_payload: '{}'
propagate_failure: false
trigger_workflow: true
wait_workflow: true- uses: convictional/trigger-workflow-and-wait@v1.6.1
with:
owner: keithconvictional
repo: myrepo
github_token: ${{ secrets.GITHUB_PERSONAL_ACCESS_TOKEN }}
comment_downstream_url: ${{ github.event.pull_request.comments_url }}You can test out the action locally by cloning the repository to your computer. You can run:
INPUT_OWNER="keithconvictional" \
INPUT_REPO="myrepo" \
INPUT_GITHUB_TOKEN="<REDACTED>" \
INPUT_GITHUB_USER="github-user" \
INPUT_WORKFLOW_FILE_NAME="main.yml" \
INPUT_REF="release-branch" \
INPUT_WAIT_INTERVAL=10 \
INPUT_CLIENT_PAYLOAD='{}' \
INPUT_PROPAGATE_FAILURE=false \
INPUT_TRIGGER_WORKFLOW=true \
INPUT_WAIT_WORKFLOW=true \
busybox sh entrypoint.shYou will have to create a Github Personal access token. You can create a test workflow to be executed. In a repository, add a new main.yml to .github/workflows/. The workflow will be:
name: Main
on:
workflow_dispatch
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Pause for 25 seconds
run: |
sleep 25You can see the example here. For testing a failure case, just add this line after the sleep:
...
- name: Pause for 25 seconds
run: |
sleep 25
echo "For testing failure"
exit 1If you do not want the latest build all of the time, please use a versioned copy of the Github Action. You specify the version after the @ sign.
- uses: convictional/trigger-workflow-and-wait@v1.6.1
with:
owner: keithconvictional
repo: myrepo
github_token: ${{ secrets.GITHUB_PERSONAL_ACCESS_TOKEN }}