The image is for running jsonlint, jsonlint is installed in /app/ in case you need to customize the install before usage.
jsonlint:
stage: linting
image: registry.gitlab.com/pipeline-components/jsonlint:latest
script:
- |
find . -not -path './.git/*' -name '*.json' -type f -print0 |
parallel --will-cite -k -0 -n1 jsonlint -q
pipeline {
agent none
stages {
// Perform JSON linting against files in ./folder_containing_json_files
// FAIL the build if linting does not pass
stage('Linting'){
agent {
docker {
image 'pipelinecomponents/jsonlint:latest'
registryUrl 'REDACTED'
args '-v "/$(pwd)/folder_containing_json_files":/code'
}
}
steps {
// Emits complete command to be run on each invocation of xargs via -t option
// Exits with code '123' upon linting failure
sh "find . -name \'*.json\' -type f | xargs -t -n 1 jsonlint -q"
}
}
...
}
}
This project uses Semantic Versioning for its version numbering.
Got questions?
Check the discord channel
You could also open an issue here
This is an active open-source project. We are always open to people who want to use the code or contribute to it.
We've set up a separate document for our contribution guidelines.
Thank you for being involved! 😍
The original setup of this repository is by Robbert Müller.
The Build pipeline is large based on Community Hass.io Add-ons by Franck Nijhof.
For a full list of all authors and contributors, check the contributor's page.
This project is licensed under the MIT License by Robbert Müller.