Skip to main content

deploy report

Print or publish CloudFormation stack outputs after deployment.

Overview

carlin deploy report [--channel <channel>]

Without --channel, outputs are printed to stdout. With --channel=github-pr, a single consolidated comment is posted (or updated) on the open pull request with all deploy outputs found in the workspace.

Channels

stdout (default)

Prints the outputs of the current package's CloudFormation stack:

carlin deploy report

github-pr

Scans all .carlin/*.json files across the workspace, builds a markdown table, and posts or updates a single PR comment:

carlin deploy report --channel=github-pr

Run this once after all packages have deployed — typically as the last step in your CI workflow:

# .cicd/commands/pr.sh
pnpm turbo run deploy --filter=[main]
pnpm carlin deploy report --channel=github-pr

Required environment variables:

VariableDescription
GH_TOKENGitHub personal access token with repo scope
GITHUB_REPOSITORYRepository in owner/repo format (set automatically by GitHub Actions)
CARLIN_BRANCHThe PR branch name (set automatically in pr.yml)

The comment is identified by a hidden marker so it is updated in place on every push — the PR never accumulates duplicate comments.

Example PR comment:

PackageStackOutput KeyOutput Value
@my/apiMyApi-PR-42ApiUrlhttps://api.example.com
@my/appMyApp-PR-42Alias0URLhttps://app.example.com
@my/appMyApp-PR-42CloudFrontURLhttps://d1234.cloudfront.net

GitHub Actions Setup

Add GH_TOKEN and GITHUB_REPOSITORY to your PR workflow step:

.github/workflows/pr.yml
- name: Run pr command
run: sh -e ./.cicd/commands/pr.sh
env:
CARLIN_BRANCH: ${{ github.event.pull_request.head.ref }}
GH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}

Options

--channel

Where to publish the report.

ValueDescription
(none)Print to stdout
github-prPost/update a PR comment with all workspace deploy outputs