← Workflows

阅读中文版本

Release Checklist Automation Workflow

Turn a manual release checklist into pipeline checks so steps cannot be skipped under time pressure.

beginner~60 minreleaseciautomation

Objective

Encode release prerequisites as automated gates rather than human memory.

Environment

  • A CI pipeline
  • A written checklist
  • Issue tracker access

Steps

1. Map checklist items to checks

Translate each manual checklist item into a scriptable verification.

Expected state: Every checklist item has an automated equivalent or a justified manual one.

2. Implement gates in the pipeline

Add the checks as required jobs that block release on failure.

Expected state: The pipeline refuses to release when a gate fails.

3. Record gate results

Publish the gate results with the release so reviewers can see evidence.

Expected state: Each release has a visible pass/fail record.

4. Review and prune regularly

Remove checks that no longer prevent real failures and add ones for new risks.

Expected state: The checklist stays relevant instead of bloating.

Decision points

Fail the release or warn?

  • Fail on the gate
  • Warn only

Fail on gates that protect users; warn for advisory checks.

Replace all human steps?

  • Automate what is verifiable
  • Automate everything

Automate verifiable steps and keep human judgement for subjective items.

Expected outcome

Release prerequisites are enforced automatically, so essential steps are never skipped under deadline pressure.

Verification

Attempt a release with a failing gate to confirm it blocks, and confirm the pass record is attached to a good release.

Cleanup

Archive gate outputs per release and review the checklist quarterly.

Overview

Encode release prerequisites as automated gates rather than human memory.

This workflow is reusable across teams and environments; adapt the commands to your tooling while keeping the sequence and checkpoints intact.

Environment and prerequisites

  • A CI pipeline
  • A written checklist
  • Issue tracker access

Procedure

1. Map checklist items to checks

Translate each manual checklist item into a scriptable verification.

Expected state: Every checklist item has an automated equivalent or a justified manual one.

2. Implement gates in the pipeline

Add the checks as required jobs that block release on failure.

Expected state: The pipeline refuses to release when a gate fails.

3. Record gate results

Publish the gate results with the release so reviewers can see evidence.

Expected state: Each release has a visible pass/fail record.

4. Review and prune regularly

Remove checks that no longer prevent real failures and add ones for new risks.

Expected state: The checklist stays relevant instead of bloating.

- name: Release gates
  run: |
    node scripts/check-content-quality.mjs --rule R1 --rule R2
    node scripts/check-budget.mjs

Verification

Attempt a release with a failing gate to confirm it blocks, and confirm the pass record is attached to a good release.

Decision points

Fail the release or warn?

  • Fail on the gate
  • Warn only

Recommendation: Fail on gates that protect users; warn for advisory checks.

Replace all human steps?

  • Automate what is verifiable
  • Automate everything

Recommendation: Automate verifiable steps and keep human judgement for subjective items.

Common failures

  • Checklist items that cannot be verified are skipped silently.
  • Gates that always pass provide false assurance.
  • Stale checks add friction without value.