Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
3e2af52
feat: add consolidated TF module check workflow
chris11-taylor-nttd Apr 6, 2026
0ae0413
feat: add action to update status checks, unify status checks across …
chris11-taylor-nttd Apr 7, 2026
cb5acb8
feat: create consolidated terragrunt workflows with composable auth
chris11-taylor-nttd Apr 7, 2026
21a4365
fix: tweak reusable terraform with improvements from terragrunt
chris11-taylor-nttd Apr 7, 2026
b13ecdf
fix: pass owner to create-github-app-token
chris11-taylor-nttd Apr 7, 2026
7b0fe7b
fix: write legacy status checks
chris11-taylor-nttd Apr 8, 2026
9187216
fix: repo name detection
chris11-taylor-nttd Apr 8, 2026
12517d7
feat: parallelize lint and tests
chris11-taylor-nttd Apr 8, 2026
4601aa9
fix: aws auth, cleanup
chris11-taylor-nttd Apr 8, 2026
fe3af0a
test: no profile handling
chris11-taylor-nttd Apr 8, 2026
10d9bcb
test: env vars instead
chris11-taylor-nttd Apr 8, 2026
2a7237a
fix: provider version, status
chris11-taylor-nttd Apr 9, 2026
d2a1550
test: dump provider details to debug azure
chris11-taylor-nttd Apr 9, 2026
c0f428d
test: create providers first
chris11-taylor-nttd Apr 9, 2026
a892e40
fix: creating providers ahead of time fixes it, bug in makefile somew…
chris11-taylor-nttd Apr 9, 2026
8754225
fix: drop wip from conventional commit defaults; we don't want work i…
chris11-taylor-nttd Apr 10, 2026
1da984e
fix: support legacy PR validation with conventional commit workflow
chris11-taylor-nttd Apr 10, 2026
a6ae1cc
fix: status permissions
chris11-taylor-nttd Apr 10, 2026
8047d78
fix: one status check is not legacy
chris11-taylor-nttd Apr 13, 2026
bd797f8
feat: workflows from nttdtest poc
chris11-taylor-nttd Apr 14, 2026
c744e07
fix: prereleases
chris11-taylor-nttd Apr 14, 2026
f1420da
fix: grab PR head SHA if available before falling back to event SHA
chris11-taylor-nttd Apr 22, 2026
6b62168
fix: SHA detection through API for PRs
chris11-taylor-nttd Apr 22, 2026
950d45c
fix: all status check calls on this branch
chris11-taylor-nttd Apr 22, 2026
7d1e332
fix: needs to be able to read the PR
chris11-taylor-nttd Apr 22, 2026
ca4220b
fix: toml command
chris11-taylor-nttd Apr 23, 2026
e5bb7fe
fix: repoint to current tag
chris11-taylor-nttd Apr 23, 2026
0330f9c
fix: only clear labels on certain event types
chris11-taylor-nttd Apr 24, 2026
266540b
fix: add PR read permissions to plan-only TG workflow
chris11-taylor-nttd Apr 24, 2026
9f5ad03
fix: newline for better output
chris11-taylor-nttd Apr 24, 2026
24478cb
feat: auto-update writes summary info
chris11-taylor-nttd Apr 27, 2026
6e29f18
fix: no need for GH token, drop script
chris11-taylor-nttd Apr 28, 2026
ac559e0
fix: normalize versions, tags
chris11-taylor-nttd Apr 28, 2026
e4bdd1d
fix: shell expansion issues
chris11-taylor-nttd Apr 28, 2026
90e54a5
fix: input validation, secrets refs for caller
chris11-taylor-nttd Apr 28, 2026
10fa46f
fix: add-only detection, sha
chris11-taylor-nttd Apr 28, 2026
f0cd43c
fix: branch refs, heredocs, folding
chris11-taylor-nttd Apr 28, 2026
eb80f35
fix: redundant
chris11-taylor-nttd Apr 28, 2026
1a852f7
fix: unstage scripts
chris11-taylor-nttd Apr 28, 2026
9618870
revert: repoint tags for now, will PR off a clone of this branch
chris11-taylor-nttd Apr 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/terragrunt-configure-mise/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:

# Ensure mise.toml contains terraform and terragrunt at our desired versions
- name: Configure Mise
uses: launchbynttdata/launch-workflows/.github/actions/terragrunt-configure-mise@0.14.0 # or later
uses: launchbynttdata/launch-workflows/.github/actions/terragrunt-configure-misefeat/unify-provider-auth
with:
tf_version: '1.5.5'
tg_version: '0.54.11'
Expand Down
7 changes: 4 additions & 3 deletions .github/actions/terragrunt-configure-mise/action.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
name: "Configure Mise for Terragrunt"
description: "Configure Mise to install specific versions of Terraform and Terragrunt for use with terragrunt-action"
description: "Configure Mise to install specific versions of Terraform and
Terragrunt for use with terragrunt-action"
inputs:
tf_version:
description: "Version of Terraform to install"
Expand Down Expand Up @@ -34,8 +35,8 @@ runs:

# https://github.com/mrijken/toml-cli
# `toml set` will add if necessary or update if the entry already exists
toml set mise.toml tools.terragrunt "${{ inputs.tg_version }}"
toml set mise.toml tools.terraform "${{ inputs.tf_version }}"
toml set --toml-path mise.toml tools.terragrunt "${{ inputs.tg_version }}"
toml set --toml-path mise.toml tools.terraform "${{ inputs.tf_version }}"
fi
echo "Final mise.toml configuration:"
cat mise.toml
111 changes: 111 additions & 0 deletions .github/actions/update-status-check/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
# Update Status Check Action

GitHub's [Commit Status API](https://docs.github.com/en/rest/commits/statuses) allows workflows to report the state of a check back to a specific commit SHA. This is useful for surfacing the outcome of external processes, gating merges, or providing richer context in pull requests beyond what a workflow run alone provides.

This action wraps the Commit Status API with a simple interface: provide a check name and a status, and we handle the API call.

## Behavior

This action will:
1. Validate that the provided `status` is one of the accepted values (`error`, `failure`, `pending`, `success`)
2. Call the GitHub Commit Status API to create or update the named status check on the specified commit SHA
3. Optionally attach a human-readable description and a target URL to the status

## Inputs

| Input | Description | Required | Default |
|-------|-------------|----------|---------|
| `check_name` | The name (context) of the status check to create or update | Yes | — |
| `status` | The state to set. One of: `error`, `failure`, `pending`, `success` | Yes | — |
| `sha` | The commit SHA to attach the status check to | No | `${{ github.sha }}` |
| `description` | A short human-readable description of the status | No | `""` |
| `target_url` | A URL to associate with the status (e.g. a link to a build log) | No | `""` |
| `github_token` | GitHub token for API access | No | `${{ github.token }}` |

## Usage

### Basic Usage

Mark a status check as successful on the current commit (replacing `ref` with a tag or commit SHA from this repository):

```yaml
jobs:
your-job:
runs-on: ubuntu-latest
permissions:
statuses: write
steps:
- name: Set status check to success
uses: launchbynttdata/launch-workflows/.github/actions/update-status-check@ref
with:
check_name: "my-check"
status: "success"
```

### With Description and Target URL

Provide additional context visible in the GitHub UI:

```yaml
- name: Set status check to failure
uses: launchbynttdata/launch-workflows/.github/actions/update-status-check@ref
with:
check_name: "security-scan"
status: "failure"
description: "Vulnerabilities were detected."
target_url: "https://example.com/scan-results/123"
```

### Marking a Check as Pending Before a Long-Running Step

Use `pending` to signal that a check is in progress, then update it on completion:

```yaml
- name: Mark check as pending
uses: launchbynttdata/launch-workflows/.github/actions/update-status-check@ref
with:
check_name: "integration-tests"
status: "pending"
description: "Integration tests are running..."

- name: Run integration tests
run: make test-integration

- name: Mark check as success
if: success()
uses: launchbynttdata/launch-workflows/.github/actions/update-status-check@ref
with:
check_name: "integration-tests"
status: "success"
description: "All integration tests passed."

- name: Mark check as failure
if: failure()
uses: launchbynttdata/launch-workflows/.github/actions/update-status-check@ref
with:
check_name: "integration-tests"
status: "failure"
description: "One or more integration tests failed."
```

### Targeting a Specific Commit SHA

Override the default SHA to set a status on a commit other than the one that triggered the workflow:

```yaml
- name: Set status on a specific commit
uses: launchbynttdata/launch-workflows/.github/actions/update-status-check@ref
with:
check_name: "my-check"
status: "success"
sha: "abc1234def5678"
```

## Required Permissions

This action requires the following permission on the workflow job:

```yaml
permissions:
statuses: write
```
81 changes: 81 additions & 0 deletions .github/actions/update-status-check/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: "Update Status Check"
description: "Use the GitHub Commit Status API to create or update a status
check on a commit."
inputs:
check_name:
description: "The name (context) of the status check to create or update."
required: true
status:
description: "The state to set on the status check. Must be one of: error,
failure, pending, success."
required: true
sha:
description: "The commit SHA to attach the status check to. Defaults to the PR
head SHA if available, otherwise the SHA that triggered the workflow."
required: false
default: ${{ github.event.pull_request.head.sha || github.sha }}
description:
description: "A short human-readable description of the status check."
required: false
default: ""
target_url:
description: "A URL to associate with the status check, typically a link to
relevant build or run output."
required: false
default: ""
github_token:
description: "GitHub token for API access. Defaults to the automatic GITHUB_TOKEN."
required: false
default: ${{ github.token }}
runs:
using: "composite"
steps:
- name: Update Status Check
shell: bash
env:
GITHUB_TOKEN: ${{ inputs.github_token }}
CHECK_NAME: ${{ inputs.check_name }}
STATUS: ${{ inputs.status }}
SHA: ${{ inputs.sha }}
DESCRIPTION: ${{ inputs.description }}
TARGET_URL: ${{ inputs.target_url }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
# For pull request events, resolve the actual head SHA via the API.
# github.sha on PR events points to a temporary merge commit that
# doesn't appear on the PR, so status checks set on it are invisible.
if [[ -n "$PR_NUMBER" ]]; then
PR_HEAD_SHA=$(gh api "repos/${{ github.repository }}/pulls/${PR_NUMBER}" --jq '.head.sha' 2>/dev/null || true)
if [[ -n "$PR_HEAD_SHA" ]]; then
echo "Resolved PR #${PR_NUMBER} head SHA: ${PR_HEAD_SHA} (input was: ${SHA})"
SHA="$PR_HEAD_SHA"
fi
fi

VALID_STATES=("error" "failure" "pending" "success")
VALID=false
for state in "${VALID_STATES[@]}"; do
if [[ "$STATUS" == "$state" ]]; then
VALID=true
break
fi
done

if [[ "$VALID" != "true" ]]; then
echo "Error: Invalid status '${STATUS}'. Must be one of: error, failure, pending, success."
exit 1
fi

echo "Setting status check '${CHECK_NAME}' to '${STATUS}' on commit ${SHA}..."

PAYLOAD=$(jq -n \
--arg state "$STATUS" \
--arg context "$CHECK_NAME" \
--arg description "$DESCRIPTION" \
--arg target_url "$TARGET_URL" \
'{state: $state, context: $context, description: $description, target_url: $target_url}')

gh api -X POST "repos/${{ github.repository }}/statuses/${SHA}" \
--input - <<< "$PAYLOAD"

echo "\nStatus check '${CHECK_NAME}' successfully set to '${STATUS}'."
4 changes: 0 additions & 4 deletions .github/configs/release-drafter-conventional-commits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,6 @@ categories:
collapse-after: 3
labels:
- "revert"
- title: "🚧 WIP"
collapse-after: 3
labels:
- "WIP"

change-template: "- $TITLE @$AUTHOR (#$NUMBER)"

Expand Down
Loading
Loading