A GitHub Action for a creation and status update of a GitHub Deployment during CD flow
- Easily create GitHub Deployments
- Update status of an existing deployments
- Custom GitHub Environments supported
- Incredibly fast! About 2MB docker image
Just to add an action to your CD flow
- name: Create Deployment
uses: docker://reasonsoftware/action-github-deployment:v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ℹ️ Create a deployment and later update its status
- name: Create Deployment
id: deployment
uses: docker://reasonsoftware/action-github-deployment:v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
[...]
- name: Update Status
uses: docker://reasonsoftware/action-github-deployment:v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DEPLOYMENT: ${{steps.deployment.outputs.id}}
STATUS: success
You may also update the deployment to either success
or failure
in one step by providing an overall status as FAIL
environmental variable:
[...]
- name: Update Status
uses: docker://reasonsoftware/action-github-deployment:v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DEPLOYMENT: ${{steps.deployment.outputs.id}}
STATUS: success
FAIL: "${{ failure() }}"
ℹ️ Create a deployment with non-default status
- name: Create Deployment
uses: docker://reasonsoftware/action-github-deployment:v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
STATUS: in_progress
DEPLOYMENT
- existing deployment ID, required when updating statusSTATUS
- status of a deployment, must be one of the following:[ error, failure, inactive, in_progress, queued, pending, success ]
ENVIRONMENT
- GitHub Environment, defaultproduction
FAIL
: failure trap which will tweak the status to be failure on value"true"
. Used to reduce overal workflow code by configuring one action for both successful or failed deployments withFAIL: "${{ failure() }}"
- This action is automatically built at Docker Hub, and tagged with
latest / v1 / v1.2 / v1.2.3
allowing to lock against a certain version It's recommended to lock against a major version, for examplev1
- Docker image is published both to Docker Hub and GitHub Packages. If you don't want to rely on Docker Hub but still want to use the dockerized action, you may switch from
uses: docker://reasonsoftware/action-github-deployment:v1
touses: docker://docker.pkg.github.com/reasonsoftware/action-github-deployment/action-github-deployment:v1