From 5cd1f65dd76b02f35d68a11e20859a4e5f6b45d2 Mon Sep 17 00:00:00 2001 From: DeveloperAmrit Date: Sat, 24 Jan 2026 19:30:17 +0530 Subject: [PATCH 1/2] Added npm publish workflow --- .DS_Store | Bin 6148 -> 6148 bytes .github/workflows/npm-publish.yml | 185 ++++++++++++++++++++++++++++++ djed-sdk/package.json | 1 + 3 files changed, 186 insertions(+) create mode 100644 .github/workflows/npm-publish.yml diff --git a/.DS_Store b/.DS_Store index ff3f707fe032d31e4cbc4deb2e6cf3ae91d8d5be..c723b8ffb5628eb51f8d8a6b260ecfda8325dd2c 100644 GIT binary patch delta 32 ocmZoMXfc@J&nU1lU^g?Pz-As6VaCn-Sv{C07A)Az&heKY0Hb*dFaQ7m delta 173 zcmZoMXfc@J&nU7nU^g?P$YvfEVMcCFhIED;hEj%nhP=rWSVZd?lA0J87?4C6bQy{n zQW&yx^Icq$a`KaavK*T%E*Cy)KkkT2WeSlh3o;CYlk;;6faU/dev/null); then + PUBLISHED_VERSION=$OUTPUT + break + else + # Check if it's a 404 (package doesn't exist) + if npm view "$PACKAGE_NAME" version 2>&1 | grep -q "E404"; then + echo "Package not found on registry. Assuming new package." + PUBLISHED_VERSION="0.0.0" + break + fi + + if [ $i -lt 3 ]; then + echo "Attempt $i failed. Retrying in 5 seconds..." + sleep 5 + fi + fi + done + + if [ -z "$PUBLISHED_VERSION" ]; then + echo "Failed to retrieve published version after 3 attempts. Assuming 0.0.0 to err on side of attempting publish." + PUBLISHED_VERSION="0.0.0" + fi + + echo "Local version: $LOCAL_VERSION" + echo "Published version: $PUBLISHED_VERSION" + + if [ "$LOCAL_VERSION" != "$PUBLISHED_VERSION" ]; then + echo "Version changed." + echo "changed=true" >> "$GITHUB_OUTPUT" + else + echo "Version unchanged." + echo "changed=false" >> "$GITHUB_OUTPUT" + fi + + - name: Install dependencies + if: steps.check.outputs.changed == 'true' + run: | + for i in {1..3}; do + npm ci && break || { + echo "Install failed, retrying in 10 seconds..." + sleep 10 + } + done + + - name: Build + if: steps.check.outputs.changed == 'true' + run: npm run build + + - name: Publish to NPM + if: steps.check.outputs.changed == 'true' + run: | + for i in {1..3}; do + npm publish && break || { + echo "Publish failed, retrying in 10 seconds..." + sleep 10 + } + done + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + publish-stablepay-sdk: + runs-on: ubuntu-latest + timeout-minutes: 15 + defaults: + run: + working-directory: ./stablepay-sdk + permissions: + contents: read + id-token: write + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: '18' + registry-url: 'https://registry.npmjs.org' + + - name: Check version change + id: check + run: | + PACKAGE_NAME=$(node -p "require('./package.json').name") + LOCAL_VERSION=$(node -p "require('./package.json').version") + + echo "Checking registry for $PACKAGE_NAME..." + + PUBLISHED_VERSION="" + for i in {1..3}; do + if OUTPUT=$(npm view "$PACKAGE_NAME" version 2>/dev/null); then + PUBLISHED_VERSION=$OUTPUT + break + else + if npm view "$PACKAGE_NAME" version 2>&1 | grep -q "E404"; then + echo "Package not found on registry. Assuming new package." + PUBLISHED_VERSION="0.0.0" + break + fi + + if [ $i -lt 3 ]; then + echo "Attempt $i failed. Retrying in 5 seconds..." + sleep 5 + fi + fi + done + + if [ -z "$PUBLISHED_VERSION" ]; then + echo "Failed to retrieve published version after 3 attempts. Assuming 0.0.0 to err on side of attempting publish." + PUBLISHED_VERSION="0.0.0" + fi + + echo "Local version: $LOCAL_VERSION" + echo "Published version: $PUBLISHED_VERSION" + + if [ "$LOCAL_VERSION" != "$PUBLISHED_VERSION" ]; then + echo "Version changed." + echo "changed=true" >> "$GITHUB_OUTPUT" + else + echo "Version unchanged." + echo "changed=false" >> "$GITHUB_OUTPUT" + fi + + - name: Install dependencies + if: steps.check.outputs.changed == 'true' + run: | + for i in {1..3}; do + npm ci && break || { + echo "Install failed, retrying in 10 seconds..." + sleep 10 + } + done + + - name: Build + if: steps.check.outputs.changed == 'true' + run: npm run build + + - name: Publish to NPM + if: steps.check.outputs.changed == 'true' + run: | + for i in {1..3}; do + npm publish && break || { + echo "Publish failed, retrying in 10 seconds..." + sleep 10 + } + done + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/djed-sdk/package.json b/djed-sdk/package.json index e6bcdfa..c22dcd0 100644 --- a/djed-sdk/package.json +++ b/djed-sdk/package.json @@ -5,6 +5,7 @@ "main": "dist/umd/index.js", "module": "dist/esm/index.js", "scripts": { + "build": "rollup -c", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], From 2adf558ce60132a05e7447a8e68fe516ab460002 Mon Sep 17 00:00:00 2001 From: DeveloperAmrit Date: Sat, 28 Feb 2026 19:37:21 +0530 Subject: [PATCH 2/2] Fixed coderabbit major issues --- .github/workflows/npm-publish.yml | 48 +++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index f682496..f91e0d0 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -75,12 +75,20 @@ jobs: - name: Install dependencies if: steps.check.outputs.changed == 'true' run: | + SUCCESS=false for i in {1..3}; do - npm ci && break || { + if npm ci; then + SUCCESS=true + break + else echo "Install failed, retrying in 10 seconds..." sleep 10 - } + fi done + if [ "$SUCCESS" != "true" ]; then + echo "Failed to install dependencies after 3 attempts" + exit 1 + fi - name: Build if: steps.check.outputs.changed == 'true' @@ -89,12 +97,20 @@ jobs: - name: Publish to NPM if: steps.check.outputs.changed == 'true' run: | + SUCCESS=false for i in {1..3}; do - npm publish && break || { + if npm publish; then + SUCCESS=true + break + else echo "Publish failed, retrying in 10 seconds..." sleep 10 - } + fi done + if [ "$SUCCESS" != "true" ]; then + echo "Failed to publish after 3 attempts" + exit 1 + fi env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} @@ -161,12 +177,20 @@ jobs: - name: Install dependencies if: steps.check.outputs.changed == 'true' run: | + SUCCESS=false for i in {1..3}; do - npm ci && break || { + if npm ci; then + SUCCESS=true + break + else echo "Install failed, retrying in 10 seconds..." sleep 10 - } + fi done + if [ "$SUCCESS" != "true" ]; then + echo "Failed to install dependencies after 3 attempts" + exit 1 + fi - name: Build if: steps.check.outputs.changed == 'true' @@ -175,11 +199,19 @@ jobs: - name: Publish to NPM if: steps.check.outputs.changed == 'true' run: | + SUCCESS=false for i in {1..3}; do - npm publish && break || { + if npm publish; then + SUCCESS=true + break + else echo "Publish failed, retrying in 10 seconds..." sleep 10 - } + fi done + if [ "$SUCCESS" != "true" ]; then + echo "Failed to publish after 3 attempts" + exit 1 + fi env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}