Deployment Manager

A single GitHub action to create and automatically update deployment status based on workflow outcomes

Key Features

Streamline deployment tracking with intelligent status management

🚀

Automatic Status Updates

Creates deployments with in_progress status and automatically updates to success or failure based on workflow results

📊

Simple Integration

Single action call handles the entire deployment lifecycle - no need to manage status updates manually

🔗

Environment URLs

Support for custom environment URLs to link directly to your deployed applications

Quick Start

Get started in minutes

Basic Usage

- name: Manage Deployment id: deployment uses: starburst997/deployment-actions@v1 with: environment: production environment-url: https://your-app.example.com

Complete Workflow Example

name: Deploy to Production on: push: branches: [main] jobs: deploy: runs-on: ubuntu-latest permissions: write-all steps: - uses: actions/checkout@v4 - name: Manage Deployment id: deployment uses: starburst997/deployment-actions@v1 with: environment: production environment-url: https://your-app.example.com - name: Build and Deploy run: | # Your deployment steps here npm run build npm run deploy - name: Use Deployment Outputs run: | echo "Deployment ID: ${{ steps.deployment.outputs.deployment-id }}" echo "Environment: ${{ steps.deployment.outputs.environment }}" echo "URL: ${{ steps.deployment.outputs.url }}" echo "Domain: ${{ steps.deployment.outputs.domain }}"

Documentation

Complete reference for all inputs and outputs

Inputs

Input Description Required Default
token GitHub token with deployment permissions No ${{ github.token }}
ref Git reference for the deployment No ${{ github.sha }}
environment Deployment environment name (e.g., production, staging) No production
environment-url URL where the deployment will be accessible No (none)

Outputs

Output Description
deployment-id The ID of the created deployment
environment The deployment environment name
url The URL where the deployment is accessible
domain The domain (with subdomains) extracted from the URL, without protocol

How It Works

  1. Creates a GitHub deployment with in_progress status
  2. Your workflow steps execute normally
  3. Post-action cleanup automatically updates the deployment status:
    • success if all steps completed successfully
    • failure if any step failed