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.
- Skip for a dependency update: Product owner prepares release notes.
- Updates
NewsItem.js
component. - Sinopia Wiki
- 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).
- If changes since last release: Create Sinopia Indexing Pipeline release.
- Publish a new release with a version like
v1.0.2
.
- If changes since last release: Create Sinopia Exporter release.
- Publish a new release with a version like
v1.0.2
.
- If changes since last release: Create Sinopia API release.
- Publish a new release with a version like
v1.0.2
.
- If changes since last release: Create RDF2MARC release.
- Publish a new release with a version like
v1.0.2
.
- If
package-lock.json
has links to unsecuredhttp://
registries, try deletingpackage-lock.json
, remove the node modulesrm -rf ./node_modules
, runnpm cache clean --force
, and then runnpm i --prefer-online
. - When naming a version, make sure to include the v:
v1.0.2
, NOT1.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.
- Get the commit hash for the beta release.
- From the commandline, create a new tag:
git tag v3.2.0 ba99a63
- Push the tag,
git push origin v3.2.0
. - Publish a new release, selecting the newly created tag.
To deploy to stage only, append -beta
to the version. For example, v1.0.2-beta
.
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.