Closed tessereth closed 6 years ago
Oh no, what broke? Any break should be considered a bug at this point… things should have stayed semver compatible. The plan was that if the plugin linter cli image changed in API, we'd bump it's semver and start using a buildkite/plugin-linter:2
tag from this plugin.
I know what you're saying though about not pinning. It was by design, because it forces plugins to update to the latest version of the plugin "spec".
Hrmm… 🤔
The linter now requires a plugin example in the README. That possibly came in when you changed to TAP output, I didn't look that far. But it used to just log and continue if it didn't find one. I can see an argument for requiring it, but I'm just the special snowflake that it doesn't work for.
Thanks for being patient zero for these problems! It looks like you have an example in the README though?
- label: annotate
plugins:
bugcrowd/test-summary#v1.1.0:
inputs:
- label: rspec
artifact_path: artifacts/rspec*
type: junit
- label: ava
artifact_path: artifacts/ava.tap
type: tap
- label: rubocop
artifact_path: artifacts/rubocop.txt
type: oneline
formatter:
type: details
context: test-summary
Would you mind opening an issue on https://github.com/buildkite/buildkite-plugin-linter and I'll get that fixed for you?
Eh, debugging is fun. At least it's all open source so I can find out what's actually going on. Issue filed: https://github.com/buildkite-plugins/buildkite-plugin-linter/issues/10
I'm going to close this, as for now it's expected behaviour. But if it causes more heartache we can look at pinning it instead.
Hey, so this happened to me again due to https://github.com/buildkite-plugins/buildkite-plugin-linter/pull/155. Perhaps at the very least you could add a changelog so I don't have to look through commit history to figure out why something breaks?
Sorry @tessereth! The linter is meant to help keep plugins (including our own) up-to-date, but it should have have had a changelog and we should have posted our own Buildkite changelog about it too. We've plans to send out pull requests to all third-party PRs, but we haven't done it yet.
I wonder if we should if we should encourage pinning of the linter? How would you ever know to update your plugin?
While you can pin the version of the plugin in
pipeline.yml
, the plugin just pulls the latest version of theplugin-linter
docker image. This can cause builds to fail under your feet if something changes in https://github.com/buildkite-plugins/buildkite-plugin-linter.