Automation

A small CI guardrail before deployment

ARTICLE2026

This sample note exists to test the reading experience: normal prose, inline shell commands, a callout, and multi-line code blocks.

Start with a small CI guardrail

Before a deployment reaches production, fail early on a missing variable or an invalid configuration. The command below keeps the check small and explicit.

#!/usr/bin/env bash
set -euo pipefail

: "${IMAGE_TAG:?IMAGE_TAG must be set}"
: "${DEPLOY_ENV:?DEPLOY_ENV must be set}"

./scripts/validate-config --environment "$DEPLOY_ENV"
echo "Ready to deploy: $IMAGE_TAG"

Guardrails should make the safe path the easy path—not add ceremony for its own sake.

Use it in GitHub Actions

Keep the workflow readable. Sensitive values stay in repository secrets and the job only receives the values it needs.

name: Validate deployment

on:
  pull_request:
  workflow_dispatch:

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Validate configuration
        env:
          DEPLOY_ENV: staging
          IMAGE_TAG: ${{ github.sha }}
        run: ./scripts/check-deployment.sh

That is enough for the test: readable prose around code, predictable spacing, and no extra plugin required.