Problem
wfctl plugin conformance --artifact currently expects the executable inside the extracted archive to be named after normalizePluginName(manifest.Name). That works for some fixtures, but mature GoReleaser plugins can ship binaries named after the full project, for example workflow-plugin-digitalocean.
Observed while wiring workflow-plugin-digitalocean conformance CI:
- source mode passes with
--build-package ./cmd/plugin
- artifact mode against a release-shaped tarball fails with only
error: exit status 1
- no
conformance-evidence.json is written because the failure occurs before useful evidence is returned
Desired behavior
- Artifact mode should discover a valid executable from the extracted archive when the manifest name, normalized install name, and packaged binary name differ.
- Failure evidence should still be emitted when the manifest is loadable but plugin launch/conformance fails.
- Diagnostics should name the executable candidates considered and the selected path.
Why
Plugin compatibility evidence is strongest when it is bound to release artifacts. Until artifact mode handles real GoReleaser archive shapes, plugin CI must use source-mode conformance for trusted pushes.
Related
Problem
wfctl plugin conformance --artifactcurrently expects the executable inside the extracted archive to be named afternormalizePluginName(manifest.Name). That works for some fixtures, but mature GoReleaser plugins can ship binaries named after the full project, for exampleworkflow-plugin-digitalocean.Observed while wiring
workflow-plugin-digitaloceanconformance CI:--build-package ./cmd/pluginerror: exit status 1conformance-evidence.jsonis written because the failure occurs before useful evidence is returnedDesired behavior
Why
Plugin compatibility evidence is strongest when it is bound to release artifacts. Until artifact mode handles real GoReleaser archive shapes, plugin CI must use source-mode conformance for trusted pushes.
Related
--build-packagesupport.