Skip to content

Latest commit

 

History

History
51 lines (36 loc) · 1.64 KB

quickstart.md

File metadata and controls

51 lines (36 loc) · 1.64 KB

Quick Start

1. Copy The Templates

./sync.sh --bootstrap /path/to/project

This installs four workflows, two common Git helpers, and missing project Action stubs.

2. Implement Five Project Actions

  • project-quality: run project checks
  • project-build: produce one local deployable artifact
  • project-artifact: implement get|put, checksum storage, and the two-line note
  • project-deploy: retrieve, verify checksum, deploy, and validate success
  • project-notify: send the lifecycle event or succeed as a no-op

Use the declared inputs and outputs in each stub.

3. Pass Project Credentials

Edit the copied workflows and map the project's existing GitHub Secrets or Variables through env or additional Action inputs. The kit intentionally does not define credential names.

PR quality should remain secret-free unless the project deliberately accepts that trust boundary.

4. Validate

ruby -e 'require "yaml"; ARGV.each { |f| YAML.load_file(f) }' \
  $(find .github -type f -name '*.yml' -print)
actionlint .github/workflows/*.yml

Run the project build and a non-production deployment dry-run. Confirm Artifact put writes ${release-id}.txt and a later get returns the same artifact and checksum.

5. Enable Labels And Environments

  • create the feature-build label and restrict label management to maintainers
  • configure GitHub Environments test and production
  • add production reviewers if required
  • make the PR quality check required on test and master

Use ./sync.sh --dry-run to review future template changes. Normal sync preserves local edits; --force overwrites only workflows and common helpers.