Skip to content

About

A Github Action to build and promote and app to Convox

Resources

Stars

12 stars

Watchers

7 watching

Forks

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Latest commit

 

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Convox Deploy Action

If you Install a Convox Rack using the cloud provider of your choice and create a convox.yml to describe your application and its dependencies you can use this action to automatically deploy your app. The Deploy action performs the functions of combining the Build and Promote actions but in a single step. If you want to create more advanced workflows you can do so by using our individual actions.

Inputs

rack

Required The name of the Convox Rack you wish to deploy to.

app

Required The name of the app you wish to deploy to.

password

Optional The value of your Convox Deploy Key. Only needed if you are not using a separate Login step.

host

Optional The host name of your Convox Console. This defaults to console.convox.com and only needs to be overwritten if you have a self-hosted console. With a self-hosted console, set host on this step even when a separate Login step already sets it, because this input replaces the host from the Login step.

description

Optional A description for the build.

cached

Optional Whether to utilise the docker cache during the build. Defaults to true.

manifest

Optional Use a custom path for your convox.yml

buildargs

Optional Pass docker build arguments to the build process. Build args are key-value pairs separated by a newline:

  buildargs: |
    BASEIMAGE=myimage
    MYARG=hello

Lines with an empty value are skipped. Values cannot contain spaces or tabs, and a value containing a comma is split into separate build args.

Example Usage

uses: convox/action-deploy@v2
with:
  rack: staging
  app: myapp
  password: ${{ secrets.CONVOX_DEPLOY_KEY }}

Creating More Advanced Workflows

Convox provides a full set of Actions to enable a wide variety of deployment workflows. The following actions are available:

Authenticates your Convox account You should run this action as the first step in your workflow

Builds an app and creates a release which can be promoted later

Runs a command (such as a migration) using a previously built release before or after it is promoted

Promotes a release

Example workflow building a Rails app and running migrations before deploying:

name: CD

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: checkout
      id: checkout
      uses: actions/checkout@v4
    - name: login
      id: login
      uses: convox/action-login@v2
      with:
        password: ${{ secrets.CONVOX_DEPLOY_KEY }}
    - name: build
      id: build
      uses: convox/action-build@v2
      with:
        rack: staging
        app: myrailsapp
    - name: migrate
      id: migrate
      uses: convox/action-run@v1
      with:
        rack: staging
        app: myrailsapp
        service: web
        command: rake db:migrate
        release: ${{ steps.build.outputs.release }}
    - name: promote
      id: promote
      uses: convox/action-promote@v1
      with:
        rack: staging
        app: myrailsapp
        release: ${{ steps.build.outputs.release }}

Convox CLI version

This action installs the latest Convox CLI release when its image is built, so the action's version tag does not pin the CLI. On GitHub-hosted runners that happens on every run. On a self-hosted runner with a persistent Docker daemon, the CLI stays at the version cached in that daemon until its build cache is pruned.

About

A Github Action to build and promote and app to Convox

Resources

Stars

12 stars

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages