67 lines
1.7 KiB
Markdown
67 lines
1.7 KiB
Markdown
# For maintainers only
|
|
Development of MinIO JS SDK require nodejs14+ and [npm7+](https://www.npmjs.org/).
|
|
|
|
## Responsibilities
|
|
Go through [Maintainer Responsibility Guide](https://gist.github.com/abperiasamy/f4d9b31d3186bbd26522).
|
|
|
|
## Setup your minio-js Github Repository
|
|
Clone [minio-js](https://github.com/minio/minio-js/) source repository locally.
|
|
```sh
|
|
$ git clone git@github.com:minio/minio-js
|
|
$ cd minio-js
|
|
```
|
|
|
|
### Install deps
|
|
```shell
|
|
$ npm install
|
|
```
|
|
|
|
### Testing
|
|
```shell
|
|
$ npm test
|
|
```
|
|
|
|
## Publishing new release
|
|
Edit `package.json` version and all other files to the latest version as shown below.
|
|
```sh
|
|
$ git grep 3.2.0 | cut -f1 -d: | xargs sed s/3.2.0/3.2.1/g -i
|
|
$ grep version package.json
|
|
"version": "3.2.1",
|
|
$ git commit -a -m "Bump to 3.2.1 release"
|
|
```
|
|
|
|
### Publish to NPM
|
|
Login to your npm account.
|
|
```sh
|
|
$ npm login
|
|
...
|
|
Logged in as minio on https://registry.npmjs.org/.
|
|
```
|
|
|
|
Build for release
|
|
```sh
|
|
$ npm run build
|
|
```
|
|
|
|
Publish the new release to npm repository.
|
|
```
|
|
$ npm publish
|
|
```
|
|
|
|
### Tag
|
|
Tag and sign your release commit, additionally this step requires you to have access to MinIO's trusted private key.
|
|
```
|
|
$ export GNUPGHOME=/media/${USER}/minio/trusted
|
|
$ git tag -s 3.2.1
|
|
$ git push
|
|
$ git push --tags
|
|
```
|
|
|
|
### Announce
|
|
Announce new release by adding release notes at https://github.com/minio/minio-js/releases from `trusted@minio.io` account. Release notes requires two sections `highlights` and `changelog`. Highlights is a bulleted list of salient features in this release and Changelog contains list of all commits since the last release.
|
|
|
|
To generate `changelog`
|
|
```sh
|
|
git log --no-color --pretty=format:'-%d %s (%cr) <%an>' <last_release_tag>..<latest_release_tag>
|
|
```
|