This directory contains GitHub-specific configuration for project management, issue tracking, and automation.
.github/
├── ISSUE_TEMPLATE/ # Issue templates for bugs, features, tech debt
│ ├── config.yml # Template configuration
│ ├── bug_report.yml # Bug report template
│ ├── feature_request.yml # Feature request template
│ └── technical_debt.yml # Technical debt template
├── workflows/ # GitHub Actions workflows
│ ├── docs.yml # Documentation build and deployment
│ ├── labels.yml # Label synchronization
│ └── project-automation.yml # Auto-add issues/PRs to project board
├── pull_request_template.md # PR template
├── labels.yml # Label definitions
└── README.md # This file
For reporting bugs and unexpected behavior. Collects:
- Affected area (platform, application, infrastructure, etc.)
- Application name (if applicable)
- Component (job submission, container build, etc.)
- Version information
- OS and AWS region
- Processor architecture (if relevant)
- Reproduction steps
- Expected vs actual behavior
- Logs and configuration (sanitized)
For suggesting new features. Collects:
- Target persona (scientist, engineer, admin, etc.)
- Affected areas
- Computational use case
- Problem statement
- Proposed solution
- Alternatives considered
- Workflow impact
- Priority level
- Architecture preferences
For code improvements and refactoring. Collects:
- Code area (pkg/, applications/, infrastructure/, etc.)
- Type of improvement (refactoring, performance, security, etc.)
- Current state and issues
- Proposed improvement
- Impact assessment
- Testing strategy
- Breaking change status
- Application impact
- Disables blank issues
- Provides links to:
- Q&A Discussions
- Ideas & Feature Brainstorming
- Documentation (GitHub Pages)
- Security reporting
Comprehensive label system organized hierarchically:
bug,enhancement,documentation,technical-debt,question
priority: critical/high/medium/low
area: platform,area: applications,area: base-images,area: infrastructurearea: cli,area: web,area: containers,area: job-managementarea: cost,area: license,area: tests,area: build,area: docs
app: geos-chem,app: gaussian,app: wrf,app: vasp,app: template
persona: computational-scientist,persona: research-lab,persona: hpc-engineerpersona: graduate-student,persona: it-admin,persona: devops-engineer,persona: data-scientist
use-case: atmospheric-modeling,use-case: molecular-dynamics,use-case: quantum-chemistryuse-case: machine-learning,use-case: genomics,use-case: cfduse-case: materials-science,use-case: parallel-computinguse-case: cost-optimization,use-case: benchmarking
triage,needs-info,blocked,ready,in-progress,in-review,awaiting-merge
duplicate,wontfix,invalid,works-as-designed
good first issue,help wanted,breaking-change,security,performance,dependencies
phase: 0.1-foundation,phase: 0.2-multi-app,phase: 0.3-optimizationphase: 0.4-enterprise,phase: 1.0-production
aws: batch,aws: ec2,aws: ecr,aws: s3,aws: efs,aws: fsxaws: vpc,aws: parallelcluster,aws: spot,aws: iam,aws: gpu
arch: graviton,arch: amd,arch: intel,arch: multi-arch
- Trigger: Push to main or PR changing docs/ or mkdocs.yml
- Check job (PRs): Validates documentation builds successfully
- Deploy job (main): Builds and deploys to GitHub Pages
- Uses MkDocs with Material theme
- Trigger: Push to main changing labels.yml, or manual dispatch
- Action: Syncs labels from
.github/labels.ymlto repository - Uses
micnncim/action-label-syncer
- Trigger: Issue or PR opened/reopened
- Action: Automatically adds to GitHub Project board
- Requires project URL to be updated with your project number
Comprehensive PR template with sections for:
- Description and related issues
- Type of change (bug, feature, tech debt, docs, breaking, security)
- Computational use case impact
- Testing checklist (manual, unit, integration, e2e, architecture-specific)
- Code review checklist
- Documentation updates
- Performance impact
- Cost impact
- Breaking changes and migration path
- Components affected
- Architecture impact
- Go to repository Settings → Pages
- Source: GitHub Actions
- Workflow will deploy automatically on push to main
- Go to your profile → Projects → New project
- Note the project number from URL
- Update
project-automation.ymlwith your project URL
- Go to repository Settings → Features
- Check "Discussions"
- Create categories: Q&A, Ideas, General
After first push to main:
# Labels will sync automatically via workflow
# Or manually trigger:
gh workflow run labels.yml- Go to Issues → New issue
- Verify templates appear correctly
- Submit a test issue to verify all fields work
Replace scttfrdmn/aws-hpc in:
config.yml(issue template links)mkdocs.yml(documentation site URL)project-automation.yml(project URL)
Edit .github/labels.yml and push to main. Workflow will sync automatically.
Edit YAML files in ISSUE_TEMPLATE/ directory. Changes take effect immediately.
Edit workflow files in workflows/ directory. Test in a feature branch before merging.
- Triage regularly: Review new issues and add appropriate labels
- Use milestones: Link issues to release milestones (v0.1.0, v0.2.0)
- Reference roadmap: Tag issues with phase labels (phase: 0.1-foundation)
- Close with context: Always explain why when closing issues
- Search first: Check if issue already exists before creating
- Use templates: Fill out all required fields
- Be specific: Provide clear reproduction steps and examples
- Sanitize data: Remove account IDs, credentials, and sensitive info
- Link PRs: Reference related issues with
Closes #123in PR description
- ROADMAP.md - Product roadmap aligned with phase labels
- PERSONAS.md - User personas referenced in issue templates
- CONTRIBUTING.md - Contribution guidelines
- GitHub Pages Site - Published documentation
- Setup issues: Open a discussion
- Template improvements: Feature request
- Workflow problems: Bug report