Skip to main content

CI/CD

Dinghy is designed to integrate seamlessly into Continuous Integration and Continuous Delivery (CI/CD) workflows.

Github Action

To easily set up the Dinghy CLI in your GitHub Actions workflows, use the dinghydev/setup-dinghy action.

If your .dinghyrc file defines a DINGHY_ENGINE_VERSION, this action will automatically install the corresponding Dinghy CLI version to ensure a consistent runtime environment.

Default Github Action

- uses: dinghydev/setup-dinghy@v1

By default, this action installs the Dinghy CLI and prepares the default engine image for use.

For TF Operations Action

- uses: dinghydev/setup-dinghy@v1
with:
prepare-images: tf

If your job will use tf operations, it's recommended to prepare the image beforehand. This allows you to obtain more accurate timing information for the tf operations themselves.

CI/CD Demo Project

You can view a practical example of a CI/CD pipeline using Dinghy in the dinghydev/dinghy-showcases-cloudfrontsites demo project.

Manual Approval Changes

Set GITHUB_CREATE_DEPLOY_ISSUE=true in your workflow to automatically open a deployment issue when changes are detected. This allows you to review and approve the proposed changes before they are applied. To proceed with the deployment, simply add the approved-deployment label to the deployment issue. This will trigger the Drift Correction workflow to apply the changes.

Avaliable images

  1. engine - the engine image, always pulled
  2. tf - for Terraform/OpenTofu operations
  3. drawio - draw.io image to convert .drawio file to .png file
  4. site - to render docusaurus.io based site
  5. awscli - for operations rely on awscli