chore: migrate release process to Ship.js#1210
Conversation
|
You may want to address in |
|
@eunjae-lee thanks for the review buddy and for your help with Ship.js! I've addressed your comments.
Good point, just added it to the CONTRIBUTING.md file 👍 |
33d861b to
6c1f8e0
Compare
eunjae-lee
left a comment
There was a problem hiding this comment.
The change looks good to me, but I see a circleci job failing and some other jobs are not triggered yet.
This commit introduces a new release process by: - removing the need for the scripts/release.sh bash script in favor of https://github.com/algolia/shipjs. - automating the release in CircleCI Notable changes are: - `version` attribute added to the `package.json` file: this is a bit redundant with the `version` attribute available in the `lerna.json` but it is required by `conventional-changelog-cli`, which is used by Ship.js, to generate new Changelog entries, and can only identify versions based on the `package.json` file. - `CHANGELOG.md` text header has been removed because `conventional-changelog-ci` is not aware of headers in Changelog files. - `GITHUB_TOKEN` environment variable is now added to the CircleCI configuration. It grants CircleCI with the appropriate rights to run `shipjs trigger`, effectively publishing to NPM. The value is set to the Github account `algolia-api-client-bot` which can be retrieved from our Vault cluster, like other credentials. - `CONTRIBUTING.md` file updated to reflect the updated release process.
6c1f8e0 to
02f2a4c
Compare
|
@Haroenv @eunjae-lee The I've updated the Confluence documentation and updated the CONTRIBUTING.md to reflect this, added our credentials to Vault. Could you have a last review before I merge this? Thanks! |
.circleci/config.yml
Outdated
| - test_browser | ||
| filters: | ||
| tags: | ||
| only: /^[1-9]+.[0-9]+.[0-9]+.*/ |
There was a problem hiding this comment.
doesn't it this way still only run for tags?
There was a problem hiding this comment.
Yes my bad, I've left the filters we are using on all other API clients but in your case, you only need to build on master, since shipjs trigger already filters based on the commit message.
Perhaps the other filters are not needed anymore in that case (in all dependent jobs).
.circleci/config.yml
Outdated
| - test_unit: | ||
| version: '8' | ||
| name: 'test_unit_8' | ||
| filters: |
There was a problem hiding this comment.
I think most of these filters can also be removed
…algoliasearch-client-javascript into chore/migrate-release-to-shipjs
|
@Haroenv Do you know what's going on here? The job names seem to be messed up. |
|
the names of the tests have changed, so it's expected the "required" ones aren't ran. After we merge this PR we need to change which ones are required |
Ah I didn't know the names have changed in this PR. |

chore: migrate release process to Ship.js
This commit introduces a new release process by:
https://github.com/algolia/shipjs.
Notable changes are:
versionattribute added to thepackage.jsonfile: this is a bitredundant with the
versionattribute available in thelerna.jsonbut it is required by
conventional-changelog-cli, which is used by Ship.js,to generate new Changelog entries, and can only identify versions based
on the
package.jsonfile.CHANGELOG.mdtext header has been removed becauseconventional-changelog-ciis not aware of headers in Changelogfiles.
GITHUB_TOKENenvironment variable is now added to the CircleCIconfiguration. It grants CircleCI with the appropriate rights to run
shipjs trigger, effectively publishing to NPM. The value is set tothe Github account
algolia-api-client-botwhich can be retrievedfrom our Vault cluster, like other credentials.
CONTRIBUTING.mdfile updated to reflect the updated release process.