Skip to content

Commit

Permalink
Merge branch 'main' into feat/move-ledger-icp-features
Browse files Browse the repository at this point in the history
  • Loading branch information
peterpeterparker authored Oct 2, 2023
2 parents b3a7955 + 16a3ea4 commit 384a550
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 30 deletions.
32 changes: 2 additions & 30 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,35 +20,7 @@ jobs:
run: npm run build --workspaces
- name: Set up npm
run: printf '%s\n' '//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}' registry=https://registry.npmjs.org/ always-auth=true >> .npmrc
- name: Publish utils
run: npm publish --workspace=packages/utils --provenance --access public
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
- name: Publish Ledger
run: npm publish --workspace=packages/ledger --provenance --access public
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
- name: Publish NNS-proto
run: npm publish --workspace=packages/nns-proto --provenance --access public
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
- name: Publish NNS
run: npm publish --workspace=packages/nns --provenance --access public
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
- name: Publish SNS
run: npm publish --workspace=packages/sns --provenance --access public
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
- name: Publish CMC
run: npm publish --workspace=packages/cmc --provenance --access public
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
- name: Publish ckBTC
run: npm publish --workspace=packages/ckbtc --provenance --access public
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
- name: Publish ic-management
run: npm publish --workspace=packages/ic-management --provenance --access public
- name: Publish
run: ./scripts/publish-npm.sh
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
25 changes: 25 additions & 0 deletions scripts/publish-npm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/usr/bin/env bash

# Reference: NPM RRFC --if-needed https://github.com/npm/rfcs/issues/466

function publish_npm() {
local lib=$1

LOCAL_SHASUM=$(npm pack -w packages/"$lib" --json | jq '.[] | .shasum' | sed -r 's/^"|"$//g')

NPM_TARBALL=$(npm show @dfinity/"$lib" dist.tarball)
NPM_SHASUM=$(curl -s "$NPM_TARBALL" 2>&1 | shasum | cut -f1 -d' ')

if [ "$LOCAL_SHASUM" == "$NPM_SHASUM" ]; then
echo "No changes in @dfinity/$lib need to be published to NPM."
else
npm publish --workspace=packages/"$lib" --provenance --access public
fi
}

# Tips: libs use by other libs first
LIBS=utils,ledger,nns-proto,nns,sns,cmc,ckbtc,ic-management

for lib in $(echo $LIBS | sed "s/,/ /g"); do
publish_npm "$lib"
done

0 comments on commit 384a550

Please sign in to comment.