Skip to content

Demo 3 - Jobs and Chaining #38

Demo 3 - Jobs and Chaining

Demo 3 - Jobs and Chaining #38

# I am a workflow that demonstrates multiple jobs and chaining them together
# Display name of workflow
name: Demo 3 - Jobs and Chaining
# Controls when the action will run. Workflow runs when manually triggered using the UI or API.
on:
workflow_dispatch:
# Inputs the workflow accepts.
inputs:
name:
# Friendly description to be shown in the UI instead of 'name'
description: 'Person to greet'
# Default value if no value is explicitly provided
default: 'World'
# Input has to be provided for the workflow to run
required: true
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
job1:
name: My Job 1
# The type of runner that the job will run on
runs-on: ubuntu-latest
steps:
# Runs a single command using the runners shell
- name: Send greeting
run: |
echo "Job 1 - Hello ${{ github.event.inputs.name }}"
sleep 20
job2:
# The type of runner that the job will run on
runs-on: ubuntu-latest
needs: job1
steps:
# Runs a single command using the runners shell
- name: Send greeting
run: |
echo "Job 2 - Hello ${{ github.event.inputs.name }}"
sleep 20
job3:
# The type of runner that the job will run on
runs-on: ubuntu-latest
needs: job1
steps:
# Runs a single command using the runners shell
- name: Send greeting
run: |
echo "Job 3 - Hello ${{ github.event.inputs.name }}"
sleep 20
job4:
# The type of runner that the job will run on
runs-on: ubuntu-latest
needs: [job2, job3]
steps:
# Runs a single command using the runners shell
- name: Send greeting
run: |
echo "Job 4 - Hello ${{ github.event.inputs.name }}"
sleep 20