Migrate workflow-plugin-openlms to strict gRPC proto contracts#2
Conversation
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@copilot This PR currently has 0 changed files, so the assigned task is not implemented yet. Please continue the original issue task using Claude Sonnet 4.6: make the required Workflow strict-contract or downstream dependency updates, push actual code/config/doc changes to this PR branch, run the requested validation, and update the PR body with the validation results. Do not leave this as an empty PR. |
|
@copilot Add this as part of the PR scope: include or update a GitHub Actions PR check that validates strict Workflow plugin contracts. The check should fail when name: wfctl strict contracts
on:
pull_request:
push:
branches: [main, master]
jobs:
wfctl-strict-contracts:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Validate strict plugin contracts
run: go run github.com/GoCodeAlone/workflow/cmd/wfctl@v0.20.1 plugin validate --file plugin.json --strict-contractsAdjust branch filters and Go setup to match this repository. If the repo uses an existing CI workflow, add this as a job there instead of creating duplicate workflow clutter. Include the check result in the PR validation notes. |
|
@copilot please try again using Claude Sonnet 4.6. Continue the original task for this PR. Make sure the PR is not left empty, add or update strict gRPC contract descriptors as applicable, add a PR check that runs |
- plugin.contracts.json: 126 strict contract descriptors (1 module + 125 steps) - plugin.json: add platform download entries (required for manifest validation) - .goreleaser.yml: extend sed hook to update download URLs on release - .github/workflows/ci.yml: add wfctl-strict-contracts job Agent-Logs-Url: https://github.com/GoCodeAlone/workflow-plugin-openlms/sessions/7efdbb04-23ce-4691-b8c8-06ec1c90f13f Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Done in commit e30fd9a. The PR now includes:
Validation output: Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@copilot please continue this PR using Claude Sonnet 4.6 and address the remaining merge gates. Current gate state I see:
Please inspect and fix any failing checks if they appear, address all unresolved review comments with code changes where appropriate, and resolve review threads once addressed. Keep the PR ready for review with Copilot requested as reviewer. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…align plugin.json version
- .goreleaser.yml: use {{ .Tag }} in URL replacement (preserves v-prefix for GitHub release paths)
- .goreleaser.yml: include plugin.contracts.json in release archives
- plugin.json: bump version to 0.1.2 to match latest git tag and download URLs
Agent-Logs-Url: https://github.com/GoCodeAlone/workflow-plugin-openlms/sessions/f3ad8519-59ae-4087-b5ea-e8e963595d9a
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Addressed all three review threads in commit cc37c1e:
Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Resolved stale review threads after verifying the PR branch already includes the requested fixes: plugin.contracts.json is in the GoReleaser archive files, plugin.json is aligned to v0.1.2 downloads, and the release URL rewrite uses {{ .Tag }}. Local validation passed: GOWORK=off go test ./..., GOWORK=off go vet ./..., and wfctl v0.20.1 strict plugin validation. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Migrates this plugin to Workflow strict gRPC proto contracts so contract shape issues are caught during
wfctlvalidation instead of at runtime.Changes Made
plugin.contracts.json(new): 126 strict contract descriptors — one for theopenlms.providermodule type and one for each of the 125 advertised step types, all withmode: "strict"and proto message type name references (config,input,output). Also included in release archives so consumers installing from the tarball have it available for strict validation.plugin.json: Added adownloadsarray with platform-specific release URLs forlinux/amd64,linux/arm64,darwin/amd64, anddarwin/arm64(required bywfctl plugin validatefor external plugins). Bumped version to0.1.2to align with the latest git tag and download URLs..goreleaser.yml: Updatedbefore.hookssed command to use{{ .Tag }}(instead of{{ .Version }}) when rewriting download URLs, preserving thevprefix required by GitHub release paths. Also addedplugin.contracts.jsonto the release archive files list..github/workflows/ci.yml: Added awfctl-strict-contractsjob (ubuntu-latest,permissions: contents: read) that runsgo run github.com/GoCodeAlone/workflow/cmd/wfctl@v0.20.1 plugin validate --file plugin.json --strict-contractson every push and pull request tomain.Validation Results
wfctl plugin validate --file plugin.json --strict-contractspassesgo build ./...passesgo vet ./...passesgo test ./...passes (all unit and integration tests)