1 | # For maintainers only
|
2 | MinIO JS SDK uses [npm4+](https://www.npmjs.org/) build system.
|
3 |
|
4 | ## Responsibilities
|
5 | Go through [Maintainer Responsibility Guide](https://gist.github.com/abperiasamy/f4d9b31d3186bbd26522).
|
6 |
|
7 | ## Setup your minio-js Github Repository
|
8 | Clone [minio-js](https://github.com/minio/minio-js/) source repository locally.
|
9 | ```sh
|
10 | $ git clone git@github.com:minio/minio-js
|
11 | $ cd minio-js
|
12 | ```
|
13 |
|
14 | ### Build and verify
|
15 | Run `install` gulp task to build and verify the SDK.
|
16 | ```sh
|
17 | $ npm install
|
18 | ```
|
19 |
|
20 | ## Publishing new release
|
21 | Edit `package.json` version and all other files to the latest version as shown below.
|
22 | ```sh
|
23 | $ git grep 3.2.0 | cut -f1 -d: | xargs sed s/3.2.0/3.2.1/g -i
|
24 | $ grep version package.json
|
25 | "version": "3.2.1",
|
26 | $ git commit -a -m "Bump to 3.2.1 release"
|
27 | ```
|
28 |
|
29 | ### Publish to NPM
|
30 | Login to your npm account.
|
31 | ```sh
|
32 | $ npm login
|
33 | ...
|
34 | Logged in as minio on https://registry.npmjs.org/.
|
35 | ```
|
36 |
|
37 | Publish the new release to npm repository.
|
38 | ```
|
39 | $ npm publish
|
40 | ```
|
41 |
|
42 | ### Tag
|
43 | Tag and sign your release commit, additionally this step requires you to have access to MinIO's trusted private key.
|
44 | ```
|
45 | $ export GNUPGHOME=/media/${USER}/minio/trusted
|
46 | $ git tag -s 3.2.1
|
47 | $ git push
|
48 | $ git push --tags
|
49 | ```
|
50 |
|
51 | ### Announce
|
52 | 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.
|
53 |
|
54 | To generate `changelog`
|
55 | ```sh
|
56 | git log --no-color --pretty=format:'-%d %s (%cr) <%an>' <last_release_tag>..<latest_release_tag>
|
57 | ```
|