diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index 5be2e12f5..ae948a2e2 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -47,7 +47,16 @@ jobs: if: inputs.is-prerelease != 'true' run: | for package in packages/@postgrestools/*; do - npm publish "$package" --tag latest --access public --provenance + package_basename=$(basename "$package") + package_name="@postgrestools/$package_basename" + package_version="${{ inputs.release-tag }}" + + if npm view "$package_name@$package_version" version 2>/dev/null; then + echo "Package $package_name@$package_version already exists, skipping..." + else + echo "Publishing $package_name@$package_version..." + npm publish "$package" --tag latest --access public --provenance + fi done env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}