Skip to content

Automate release #1737

@unjust

Description

@unjust

Introduce a workflow to automate our release steps
https://github.com/Laboratoria/curriculum/blob/main/DEPLOYMENT.md

Tentative plan:

When a PR is opened in this repo to be merged into next (with a certain naming convention like release/name_of_release)

  1. remove and reconstruct dist npm run build:content
  2. generate release notes based on changelog (action?)
  3. analyze changelog commits to see if version is major or minor or patch (this requires use of conventional commits at least on merge commits)
  4. version and tag commit on branch with npm version ( based on fix feat, breaking keywords syntax use npm version patch|minor|major and a message -m for the commit message "chore(release): Bumps version to vX.X.X and updates dist files`)
  5. generate a draft release with gh release the changelog notes and a determined version

This draft and PR allow us to analyze if everything looks good.
When the PR is merged, the tag and version commit will be merged into next. And an action will complete the following

  1. Determine which release draft to finalize (using the API or the version to figure it out)
  2. Finalize the draft (run gh release edit)

Inspiration
https://birtony.medium.com/setting-up-automated-release-workflow-with-github-actions-628dbca2446e

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestideaIdeas, sugerencias, comentarios generales y feedback

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions