Skip to content

feat: GitHub Actions release pipeline (docs + gh release automation) #372

@OneStepAt4time

Description

@OneStepAt4time

Feature Request — Automated Release Pipeline via GitHub Actions

Context

Currently releases require manual steps: tag, build, deploy, create GitHub Release, post to Telegram. This should all be automated via a release.yml GitHub Action triggered on tag push.

Depends on: #370 (TypeDoc), #371 (commit-and-tag-version)

What to build

A .github/workflows/release.yml that on push: tags: ['v*']:

  1. Buildnpm ci && npm run build && npm run build:dashboard
  2. Test — full test suite (backend + dashboard)
  3. TypeDoc — generate docs/api/ and deploy to GitHub Pages
  4. GitHub Release — extract release notes from CHANGELOG.md between current and previous tag → create gh release create
  5. Notify — optional: post to Telegram topic 6 (Aegis channel)

Acceptance criteria

  • Pushing v1.4.0 tag triggers the pipeline automatically
  • GitHub Release created with correct notes from CHANGELOG.md
  • GitHub Pages updated with latest TypeDoc
  • No manual step required for Hep after npm run release
  • CI regression tests still pass

How to approach

⚠️ Use plan mode + brainstorming skill before writing any code.

  1. Invoke brainstorming skill to explore: how to extract changelog section per tag, GitHub Pages deploy action options (peaceiris/actions-gh-pages vs built-in), secrets needed (GITHUB_TOKEN, NPM_TOKEN placeholder for future), Telegram notification approach
  2. Invoke writing-plans skill for full YAML design
  3. Implement via executing-plans after plan approval

Notes

  • npm publish step intentionally excluded — add as commented-out step for future use
  • CHANGELOG extraction: awk '/^## \[1\.4\.0\]/,/^## \[1\.3/' pattern or use conventional-changelog-cli

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions