diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8e150b7..ab53151 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,7 +25,7 @@ jobs: "https://github.com/GoCodeAlone/workflow/releases/download/v0.63.2/wfctl-linux-amd64" chmod +x "${RUNNER_TEMP}/wfctl-bin/wfctl" - name: Validate plugin contract for publish (pre-build) - run: "${{ runner.temp }}/wfctl-bin/wfctl plugin validate-contract --for-publish --tag ${{ github.ref_name }} ." + run: "${{ runner.temp }}/wfctl-bin/wfctl plugin validate-contract --for-publish --tag "${{ github.ref_name }}" ." - uses: goreleaser/goreleaser-action@v7 with: version: '~> v2' @@ -45,6 +45,9 @@ jobs: exit 0 fi "${{ runner.temp }}/wfctl-bin/wfctl" plugin verify-capabilities --binary "$BIN" . + - name: Verify shipped plugin.json carries tag (post-build) + run: | + "${{ runner.temp }}/wfctl-bin/wfctl" plugin validate-contract --for-publish --tag "${{ github.ref_name }}" --release-dir . . - name: Publish GitHub release uses: actions/github-script@v7 with: diff --git a/.github/workflows/sync-plugin-version.yml b/.github/workflows/sync-plugin-version.yml deleted file mode 100644 index f74f8a9..0000000 --- a/.github/workflows/sync-plugin-version.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: Sync plugin.json version -on: - push: - tags: ['v*'] -permissions: - contents: write - pull-requests: write -jobs: - sync: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - ref: main - fetch-depth: 0 - token: ${{ secrets.GITHUB_TOKEN }} - - name: Compute target version from tag - id: ver - run: | - TAG="${GITHUB_REF_NAME}" - VERSION="${TAG#v}" - echo "version=$VERSION" >> $GITHUB_OUTPUT - echo "tag=$TAG" >> $GITHUB_OUTPUT - - name: Update plugin.json - run: | - if [ ! -f plugin.json ]; then echo "no plugin.json; skipping"; exit 0; fi - CURRENT=$(python3 -c "import json; print(json.load(open('plugin.json')).get('version',''))") - TARGET="${{ steps.ver.outputs.version }}" - if [ "$CURRENT" = "$TARGET" ]; then - echo "plugin.json already at $TARGET; no action" - exit 0 - fi - python3 -c " - import json - p = json.load(open('plugin.json')) - p['version'] = '$TARGET' - json.dump(p, open('plugin.json', 'w'), indent=2) - open('plugin.json', 'a').write('\n') - " - - name: Open sync PR if plugin.json changed - run: | - if git diff --quiet plugin.json; then - echo "no changes" - exit 0 - fi - BRANCH="chore/sync-plugin-version-${{ steps.ver.outputs.tag }}" - git config user.email "github-actions[bot]@users.noreply.github.com" - git config user.name "github-actions[bot]" - git checkout -b "$BRANCH" - git add plugin.json - git commit -m "chore: sync plugin.json version to ${{ steps.ver.outputs.tag }}" - git push origin "$BRANCH" - gh pr create \ - --base main \ - --head "$BRANCH" \ - --title "chore: sync plugin.json version to ${{ steps.ver.outputs.tag }}" \ - --body "Triggered by release ${{ steps.ver.outputs.tag }}. Auto-sync to prevent drift. Closes workflow-registry#37." - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/plugin.json b/plugin.json index 1c97a6d..a6534d9 100644 --- a/plugin.json +++ b/plugin.json @@ -1,6 +1,6 @@ { "name": "workflow-plugin-websocket", - "version": "0.5.6", + "version": "0.0.0", "author": "GoCodeAlone", "description": "General-purpose WebSocket support for workflow applications", "type": "external",