1515 - " @requestnetwork/add-stakeholder"
1616 - " @requestnetwork/create-invoice-form"
1717 - " @requestnetwork/invoice-dashboard"
18- - " @requestnetwork/shared"
1918 steps :
2019 - name : Checkout repository 🛎️
2120 uses : actions/checkout@v4
@@ -29,65 +28,22 @@ jobs:
2928 - name : Install dependencies 📥
3029 run : npm ci
3130
32- - name : Check for shared package updates and update dependencies 🔄
33- if : ${{ matrix.package == 'packages/shared' }}
34- run : |
35- SHARED_PACKAGE_NAME="@requestnetwork/shared"
36- CURRENT_VERSION=$(node -p "require('./packages/shared/package.json').version")
37- LATEST_VERSION=$(npm show $SHARED_PACKAGE_NAME version)
38-
39- echo "Current version of $SHARED_PACKAGE_NAME: $CURRENT_VERSION"
40- echo "Latest version of $SHARED_PACKAGE_NAME: $LATEST_VERSION"
41-
42- if [ "$CURRENT_VERSION" != "$LATEST_VERSION" ]; then
43- echo "Updating $SHARED_PACKAGE_NAME from $CURRENT_VERSION to $LATEST_VERSION"
44-
45- # List of dependent packages
46- DEPENDENT_PACKAGES=(
47- "packages/create-invoice-form"
48- "packages/invoice-dashboard"
49- )
50-
51- for package in "${DEPENDENT_PACKAGES[@]}"; do
52- echo "Updating $package to use $SHARED_PACKAGE_NAME@$LATEST_VERSION"
53- cd "$package"
54- npm install "$SHARED_PACKAGE_NAME@$LATEST_VERSION"
55-
56- # Update package version (minor version increment)
57- npm version minor
58-
59- cd -
60- done
61-
62- # Install updated dependencies
63- npm install
64-
65- # Commit and push changes
66- git config --global user.name 'github-actions[bot]'
67- git config --global user.email 'github-actions[bot]@users.noreply.github.com'
68- git add .
69- git commit -m "Update $SHARED_PACKAGE_NAME to version $LATEST_VERSION in dependent packages"
70- git push
71- else
72- echo "$SHARED_PACKAGE_NAME is already at the latest version ($CURRENT_VERSION)"
73- fi
74-
7531 - name : Make is-release-needed.sh executable
7632 run : chmod +x ./scripts/is-release-needed.sh
7733
78- - name : Check if version number has already been released 🕵️♀️
79- id : is-release-needed
80- run : echo "is-release-needed-${{ matrix.package }}=(npm run ./scripts/is-release-needed.sh --workspace=${{ matrix.package }} --silent)" >> $GITHUB_OUTPUT
81-
82- - name : Setup .npmrc file to publish to npm 📝
83- run : echo "//registry.npmjs.org/:_authToken=${{ secrets.REQUEST_BOT_NPM_TOKEN }}" > ~/.npmrc
84-
8534 - name : Print package info for debugging 🐛
8635 run : |
8736 PACKAGE_NAME=$(node -p "require('./${{ matrix.package }}/package.json').name")
8837 echo "Package Name: $PACKAGE_NAME"
8938 npm info $PACKAGE_NAME
9039
40+ - name : Check if version number has already been released 🕵️♀️
41+ id : is-release-needed
42+ run : echo "is-release-needed-${{ matrix.package }}=(npm run is-release-needed -- --workspace=${{ matrix.package }} --silent)" >> $GITHUB_OUTPUT
43+
44+ - name : Setup .npmrc file to publish to npm 📝
45+ run : echo "//registry.npmjs.org/:_authToken=${{ secrets.REQUEST_BOT_NPM_TOKEN }}" > ~/.npmrc
46+
9147 - name : Publish package on NPM 📦
92- if : ${{ steps.is-release-needed.outputs.is-release-needed == 'true' }}
48+ if : ${{ steps.is-release-needed.outputs.is-release-needed-${{ matrix.package }} == 'true' }}
9349 run : npm publish --workspace=${{ matrix.package }}
0 commit comments