83 lines
2.6 KiB
YAML
83 lines
2.6 KiB
YAML
name: Workflow Dispatch Example
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
environment:
|
|
description: 'The environment to deploy to'
|
|
required: true
|
|
default: 'production'
|
|
type: string
|
|
branch:
|
|
description: 'The branch to deploy'
|
|
required: true
|
|
type: string
|
|
tag:
|
|
description: 'The tag to deploy'
|
|
required: true
|
|
type: string
|
|
force_deploy:
|
|
description: 'Force deployment'
|
|
required: false
|
|
type: boolean
|
|
notify:
|
|
description: 'Notify users'
|
|
required: false
|
|
type: boolean
|
|
slack_channel:
|
|
description: 'Slack channel to notify'
|
|
required: false
|
|
type: string
|
|
parallel_jobs:
|
|
description: 'Number of parallel jobs'
|
|
required: false
|
|
type: number
|
|
timeout:
|
|
description: 'Timeout duration in minutes'
|
|
required: false
|
|
type: integer
|
|
config_file:
|
|
description: 'Path to custom configuration file'
|
|
required: false
|
|
type: path
|
|
matrix:
|
|
description: 'Matrix configuration'
|
|
required: false
|
|
type: array
|
|
image:
|
|
description: 'Docker image to use for the job'
|
|
required: false
|
|
type: object
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check out repository
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Deploy to ${{ github.event.inputs.environment }}
|
|
run: |
|
|
echo "Deploying branch: ${{ github.event.inputs.branch }}"
|
|
echo "Deploying tag: ${{ github.event.inputs.tag }}"
|
|
if [ "${{ github.event.inputs.force_deploy }}" = "true" ]; then
|
|
echo "Forcing deployment"
|
|
fi
|
|
if [ "${{ github.event.inputs.notify }}" = "true" ]; then
|
|
echo "Notifying users"
|
|
fi
|
|
if [ "${{ github.event.inputs.slack_channel }}" ]; then
|
|
echo "Notifying Slack channel: ${{ github.event.inputs.slack_channel }}"
|
|
fi
|
|
echo "Number of parallel jobs: ${{ github.event.inputs.parallel_jobs }}"
|
|
echo "Timeout duration: ${{ github.event.inputs.timeout }} minutes"
|
|
if [ "${{ github.event.inputs.config_file }}" ]; then
|
|
echo "Using custom config file: ${{ github.event.inputs.config_file }}"
|
|
fi
|
|
if [ "${{ github.event.inputs.matrix }}" ]; then
|
|
echo "Matrix configuration: ${{ github.event.inputs.matrix }}"
|
|
fi
|
|
if [ "${{ github.event.inputs.image }}" ]; then
|
|
echo "Docker image to use: ${{ github.event.inputs.image }}"
|
|
fi
|