hyperledger / hyperledger/fabric-chaincode-node

Publish unstable / snapshot packages on every change

Open
#426 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
262
Forks
149
Avg merge
8h 32m
Merged PRs (30d)
2

Description

**As a** smart contract developer
**I want** snapshot versions of fabric-chaincode-shim to be published on every change
**So that** I can use development fixes or features before a formal release is published

The [push.yml](https://github.com/hyperledger/fabric-chaincode-node/blob/main/.github/workflows/push.yaml) workflow should be extended to publish an "unstable" version of the chaincode packages on every merged pull request. Publishing might be better to GitHub Packages rather than the public NPM registry to avoid any risk of publishing an unintended release version and to avoid too much clutter in the public NPM registry, but either acceptable solutions.

"Unstable" builds should:
- Have `-unstable` (or some other qualifier) appended to their version.
- Be tagged as `unstable`.
- Have dependencies rewritten by the publishing process to point to similarly versioned chaincode packages.

The logic for rewriting dependency versions would be similar (or reuse directly) the [updateversions.sh](https://github.com/hyperledger/fabric-chaincode-node/blob/main/tools/scripts/updateversions.sh) script.

The fabric-gateway publishing process might be useful as a reference:
- [push.yml](https://github.com/hyperledger/fabric-gateway/blob/1b1f950aee20467bd5e2dd5682fd9e9d5c3de62e/.github/workflows/push.yml#L52-L68) workflow.
- [npm_publish.sh](https://github.com/hyperledger/fabric-gateway/blob/1b1f950aee20467bd5e2dd5682fd9e9d5c3de62e/.github/scripts/npm_publish.sh) script.

The GitHub Actions documentation on [publishing Node packages](https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages) is also a useful reference.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.