Skip to content

Automate the release process #42

@romainmenke

Description

@romainmenke

An automated setup removes some friction and makes it easier to gain some momentum.
Currently specific people need to pull the project and run the release locally.

Ideally releases happen any time tests are green and specific other conditions are true. (like an increment in the package version)


I am not really a fan of most automatic release workflows.

Typical workflow:

  1. make feature changes
  2. increment version in package.json
  3. CI tests run
  4. review those changes (optionally requiring approval)
  5. merge to main

independent from the above:

  1. make a GitHub release
  2. this triggers the workflow
  3. workflow pushes to NPM

Flaws with that (imho):

  • GitHub release has enforced relation to the version in package.json
  • there is no review/approval process for creating a release on GitHub

My preferred setup:

  1. make feature changes
  2. CI tests run
  3. review those changes (optionally requiring approval)
  4. merge to main
  5. optionally go back to 1

independent from the above:

  1. increment version in package.json
  2. review those changes (optionally requiring approval)
  3. merge to main
  4. the change to package.json triggers the workflow
  5. workflow creates a GitHub release and pushes to NPM

thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions