Skip to main content

Release process

Production releases for libraries within va-mobile-library are currently triggered manually by engineers after each merge into the main branch. We have a Publish Workflow in GitHub Actions which automatically increments the specified package's version, creates a git tag, and publishes a new version to NPM.

Alpha and beta releases are also released using the same workflow, but are typically triggered from a development branch. See the Versioning Policy for an explanation on how we handle versioning.

Git tags

Upon each release, a git tag is created for the release with a format of [package]-v[X.X.X] which allows for historical snapshots of each version. For example:

  • components-v0.19.0
  • assets-v0.10.0
  • tokens-v0.12.0
  • linting-v0.19.0

Alpha and beta builds have -[alpha/beta].[number] appended to the tag. For example:

  • components-v0.19.0-alpha.1

Sign-off process

There is currently no sign-off process for releases. After work has been reviewed and tested, engineers create releases as needed upon merges to the main branch. As our team gets larger and other apps start to consume the library, we may explore adding a sign-off process and extending our release cadence.

Release notes

A changelog is automatically generated upon each release which notes the merged pulled requests and closed issues since the last release. A slack notification is also sent to the #va-mobile-library-alerts channel in DSVA slack.