Skip to content
A linter for your Buildkite plugins
Shell JavaScript Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.buildkite
bin Support plugins examples for git URLs Feb 25, 2019
lib Standard fixes Sep 2, 2019
test Fix standard formatting Jul 12, 2019
.dockerignore Fix testing and pushing Apr 9, 2018
.gitignore
Dockerfile
Dockerfile.dev Fix testing and pushing Apr 9, 2018
LICENSE Switch to Node and add Readme Apr 8, 2018
README.md Add releasing notes Mar 13, 2019
docker-compose.prod.yml Fix testing and pushing Apr 9, 2018
docker-compose.yml Fix testing and pushing Apr 9, 2018
package-lock.json Fix vulnerable dep Sep 10, 2019
package.json Update dependency isomorphic-git to v0.67.0 Sep 9, 2019
renovate.json Just use default limits now that Renovate is done May 3, 2018

README.md

Buildkite Plugin Linter Build status

A linter for your Buildkite plugins, used by the plugin-linter Buildkite plugin

Features:

  • Checks for a plugin.yml file (and validates it against the plugin.yml JSON schema)
  • Checks that all readme examples match the plugin’s schema
  • Check the readme version numbers are up-to-date with the latest plugin version
  • Machine-parseable TAP output

Further reading and tools:

Usage

You can use this tool via the Linter Plugin or you can add it to your docker-compose.yml file and then use docker-compose run --rm lint:

services:
  lint:
    image: buildkite/plugin-linter
    command: ['--id', 'my-org/my-plugin']
    volumes:
      - ".:/plugin"

or you can run it locally on the command line:

docker run \
  -it \
  --rm \
  -v "$(pwd):/plugin" \
  buildkite/plugin-linter \
    --id my-org/my-plugin

If your plugin examples use a full git URL, such as ssh://git@github.com/my-org/example-buildkite-plugin, then you should specify the full git URL in the id argument.

Roadmap / TODO

  • Check that all the config options in the readme exist in the configuration schema
  • Check that all the options in the configuration schema exist in the readme
  • Warn about undocumented config options found in source code

Contributions welcome! ❤️

Developing/testing

If you have Node installed:

npm install
npm test
bin/lint --help

Code style is validated using JavaScript Standard Style.

To run the tests using Docker Compose:

# Run the tests
docker-compose run --rm linter
# Run the lint command
docker-compose run --rm linter lint --help

Releasing

License

MIT (see LICENSE)

You can’t perform that action at this time.