Skip to content

Latest commit

 

History

History
44 lines (36 loc) · 3.03 KB

release_process.md

File metadata and controls

44 lines (36 loc) · 3.03 KB

Sinopia Release Process

This is meant to be a guide to DLSS Infrastructure Team on how to release Sinopia to stage and production. This includes the Sinopia Editor and related components (e.g., Sinopia API).

These instructions apply for major releases and dependency updates.

Checklist

  1. Skip for a dependency update: Product owner prepares release notes.
  • Updates NewsItem.js component.
  • Sinopia Wiki
  1. Create Sinopia Editor release.
  • Pull latest main.
  • Check out a branch.
  • Update the version in package.json
  • npm i to regenerate package-lock.json (see note below)
  • Commit changes to branch, push to github and create PR for this version bump. (You can't push directly to main, since it's a protected branch).
  • Once PR is merged: Publish a new release with a version like v1.0.2 (release number matching what you put in package.json).
  1. If changes since last release: Create Sinopia Indexing Pipeline release.
  1. If changes since last release: Create Sinopia Exporter release.
  1. If changes since last release: Create Sinopia API release.
  1. If changes since last release: Create RDF2MARC release.

Notes

  • If package-lock.json has links to unsecured http:// registries, try deleting package-lock.json, remove the node modules rm -rf ./node_modules, run npm cache clean --force, and then run npm i --prefer-online.
  • When naming a version, make sure to include the v: v1.0.2, NOT 1.0.2.
  • Creating a new release will trigger CircleCI to build a docker image, push it to DockerHub, and update AWS for stage and production.

Create a release from a beta release

  1. Get the commit hash for the beta release.
  2. From the commandline, create a new tag: git tag v3.2.0 ba99a63
  3. Push the tag, git push origin v3.2.0.
  4. Publish a new release, selecting the newly created tag.

Staging environment

To deploy to stage only, append -beta to the version. For example, v1.0.2-beta.

Development environment

For every change to main for each of the repositories, CircleCI will automatically build a docker image, push it to DockerHub, and update AWS. This will also be triggered when dependency update PRs are merged.

See https://github.com/sul-dlss/DevOpsDocs/blob/master/projects/sinopia/operations-concerns.md#development