buildkite-plugins / plugin-linter-buildkite-plugin

✨ A Buildkite plugin for linting your Buildkite plugins
MIT License
7 stars 3 forks source link

Pinning the plugin version doesn't pin the linter version #2

Closed tessereth closed 6 years ago

tessereth commented 6 years ago

While you can pin the version of the plugin in pipeline.yml, the plugin just pulls the latest version of the plugin-linter docker image. This can cause builds to fail under your feet if something changes in https://github.com/buildkite-plugins/buildkite-plugin-linter.

toolmantim commented 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… 🤔

tessereth commented 6 years ago

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.

toolmantim commented 6 years ago

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?

tessereth commented 6 years ago

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

toolmantim commented 6 years ago

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.

tessereth commented 5 years ago

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?

toolmantim commented 5 years ago

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?