diff --git a/.github/workflows/publish-tools.yml b/.github/workflows/publish-tools.yml index f83ddece..c75b5f7e 100644 --- a/.github/workflows/publish-tools.yml +++ b/.github/workflows/publish-tools.yml @@ -35,8 +35,24 @@ jobs: - name: Install dependencies run: bun install + - name: Check if version changed + id: version-check + run: | + PACKAGE_NAME=$(jq -r '.name' package.json) + LOCAL_VERSION=$(jq -r '.version' package.json) + NPM_VERSION=$(npm view "$PACKAGE_NAME" version 2>/dev/null || echo "0.0.0") + if [ "$LOCAL_VERSION" = "$NPM_VERSION" ]; then + echo "Version $LOCAL_VERSION already published, skipping." + echo "changed=false" >> "$GITHUB_OUTPUT" + else + echo "Publishing $LOCAL_VERSION (npm has $NPM_VERSION)" + echo "changed=true" >> "$GITHUB_OUTPUT" + fi + - name: Build + if: steps.version-check.outputs.changed == 'true' run: bun run build - name: Publish + if: steps.version-check.outputs.changed == 'true' run: npm publish --access public --provenance