[ https://issues.apache.org/jira/browse/ARROW-1577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16262065#comment-16262065 ]
ASF GitHub Bot commented on ARROW-1577: --------------------------------------- trxcllnt commented on issue #1346: ARROW-1577: [JS] add ASF release scripts URL: https://github.com/apache/arrow/pull/1346#issuecomment-346261217 @wesm ok, I added `dev/release/js-source-release.sh` and `js/npm-release.sh` scripts: ```sh cd $ARROW_HOME # create a release branch (assuming patch release 0.1.2 -> 0.1.3) git co -b release-js-0_1_3 # create a new v0.1.3 tag git tag -a apache-arrow-js-0.1.3 -m "v0.1.3" ./dev/release/js-source-release.sh # > Usage: ./dev/release/js-source-release.sh <js-version> <arrow-version> <rc-num> # - runs `npm version 0.1.3 --no-git-tag-version` # - git-commits the new package.json@0.1.3 # - creates a tarball at dev/release/js-tmp/apache-arrow-js-0.1.3.tar.gz # - copies signed tarballs to dev/release/js-tmp/js-rc-tmp/apache-arrow-js-0.1.3-rc0 # - svn commits the dev/release/js-tmp/js-rc-tmp/apache-arrow-js-0.1.3-rc0 directory # js-version 0.1.3, arrow-version 0.8.0, rc 0 ./dev/release/js-source-release.sh 0.1.3 0.8.0 0 ``` And when we're ready to publish the modules to npm, we can run: ```sh cd apache-arrow-js-0.1.3-rc0 tar -xzf *.tar.gz cd apache-arrow-js-0.1.3 # provide the same arrow-version as `js-source-release.sh`, # so we can add an npm dist-tag that indicates which Arrow # release each npm version is compatible with npm run release -- 0.8.0 # available at either npm install apache-arrow@0.1.3 # or npm install apache-arrow@v0.8.0 ``` At the moment the `npm-release.sh` script [executes the integration tests](https://github.com/apache/arrow/pull/1346/commits/c9cb2e04ec4a85fe1e49d1c023b15fceb3598952#diff-a8aff12ce8d320cec92901f4a8129ed3R27) before publishing. If the `npm run release` step is run with the [integration test envars](https://github.com/trxcllnt/arrow/blob/js-asf-release-scripts/js/gulp/test-task.js#L66) available (or at the same directory level as the `arrow/js`), it should work fine. If thats's too much of a hassle, feel free to comment them out: ```sh # validate the targets pass all tests before publishing npm install # npx run-s clean:all lint create:testdata build # npm run test -- -t ts -u --integration # npm run test -- --integration npx run-s clean:all lint build npm run test # ... ``` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > [JS] Package release script for NPM modules > ------------------------------------------- > > Key: ARROW-1577 > URL: https://issues.apache.org/jira/browse/ARROW-1577 > Project: Apache Arrow > Issue Type: New Feature > Components: JavaScript > Affects Versions: 0.8.0 > Reporter: Wes McKinney > Assignee: Paul Taylor > Labels: pull-request-available > Fix For: 0.8.0 > > > Since the NPM JavaScript module may wish to release more frequently than the > main Arrow "monorepo", we should create a script to produce signed NPM > artifacts to use for voting: > * Update metadata for new version > * Run unit tests > * Create package tarballs with NPM > * GPG sign and create md5 and sha512 checksum files > * Upload to Apache dev SVN > i.e. like > https://github.com/apache/arrow/blob/master/dev/release/02-source.sh, but > only for JavaScript. > We will also want to write instructions for Arrow developers to verify the > tarballs to streamline the release votes -- This message was sent by Atlassian JIRA (v6.4.14#64029)