1Password / onepassword-sdk-js

The official JavaScript SDK for 1Password
https://developer.1password.com/docs/sdks/
MIT License
37 stars 3 forks source link

Automate JS SDK Release Process #51

Closed MOmarMiraj closed 1 month ago

MOmarMiraj commented 2 months ago

This MR will create a two step release process that you can run on any branch and release the JS SDK.

This requires GitLab CLI installed and NPM CLI installed.

Also, a PAT will have to be created and exported to GITHUB_CLI_TOKEN environment variable to run the gitlab CLI. The minimum required scopes for the token are: repo, read:org, and gist.

The first script prep-release.sh will update the version/build numbers based off if the core has changed or not and create a new changelog for the release

The second script release.sh will run the required steps for the JS release process (with and without core changes), create the release branch, add all necessary files, and create the release with the correct changelog and version

This process will ensure that the developer can verify the files before pushing a release.

A README is in the internal/changelogs folder on step by step process on how to push a release.

To Test Go into the test go sdk repo (https://github.com/MOmarMiraj/onepassword-sdk-js). I sent you three all invites to access the repo which should give you the correct permissions. There are 4 commands to test:

    npm run prep-release-no-core
    npm run prep-release
    npm run no-core-release
    npm run release

If you are testing a no core release, run the no-core commands and if your running a core modified release, then run the other commands.

Tested the flow through with an already released version as it didn't error when trying to publish and tag for both non-core and core changes. So the entire flow was tested just, couldn't test actually publishing the newest version and tagging it to latest, if someone could pair with me to fully test would improve the confidence of the code.