Preevy is a powerful CLI tool designed to simplify the process of creating ephemeral preview environments. Using Preevy, you can easily provision any Docker Compose application using any Kubernetes server or affordable VMs on AWS Lightsail, Google Cloud or Azure VM.
Visit The full documentation here: https://preevy.dev/
Use this action to delete a preview environment using the Preevy CLI whenever a PR is merged or closed. More information about running Preevy from CI over here.
Preevy's GitHub plugin will automatically update the comment generated by the "up" workflow to indicate the environment was deleted.
See the preevy-up action for more information and examples.
Preevy requires the following GitHub Actions permissions:
contents: read
: used by Preevy to read the Docker Compose file(s)pull-requests: write
: used by the Preevy GitHub plugin to write or update a comment on the PR
In addition, if you're using GitHub's OIDC Token endpoint to authenticate to your cloud provider (as in the below examples), id-token: write
: is also needed.
required: true
The profile url created by the CLI, as detailed in the docs.
required: false
Optional additional args to the preevy down
command. Full reference.
required: false
The preevy CLI version to use. Defaults to latest
.
Note Since v1.3.0
, this action requires Preevy CLI version v0.0.58
or newer. To use an older version of the CLI, use livecycle/[email protected]
.
required: false
Optional path to the docker-compose.yaml
file. If not provided, uses the working directory. If you have multiple docker compose files, you can add them as a comma seperated string like so 'docker-compose.yml,docker-compose.dev.yml'
required: false
EXPERIMENTAL. Installation method for the Preevy CLI. Specify gh-release
to install Preevy from a binary file, which is much faster than using NPM. Specify none
to skip the installation steps. The default is npm
which will install from NPM.
If gh-release
is specified, version
can be either latest
or one of the released versions. Canary versions are not supported.
required: false
Node package manager used for caching. Supported values: npm
, yarn
, pnpm
, or ''. Details. Default: npm
.
name: Teardown Preevy environment
on:
pull_request:
types:
- closed
permissions:
id-token: write
contents: read
# needed to update the PR comment with the environment URLs
pull-requests: write
jobs:
teardown:
runs-on: ubuntu-latest
steps:
- uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: arn:aws:iam::12345678:role/my-role
aws-region: eu-west-1
- uses: actions/checkout@v3
- uses: livecycle/[email protected]
id: preevy
with:
# Create the profile using the `preevy init` command, see https://preevy.dev/ci
profile-url: "s3://preevy-12345678-my-profile?region=eu-west-1"
docker-compose-yaml-paths: "./docker/docker-compose.yaml"