GithubHelp home page GithubHelp logo

eosc-synergy / jpl-validator Goto Github PK

View Code? Open in Web Editor NEW
0.0 4.0 2.0 195 KB

YAML validator (based on JSON schema draft 7) for the configuration of jenkins-pipeline-library (v2)

License: GNU General Public License v3.0

Groovy 100.00%

jpl-validator's Introduction

jpl-validator

Application that validates the main YAML-based configuration file from the v2 series of the indigo-dc/jenkins-pipeline-library.

Institutions owning the result

The validation uses a JSON schema (Draft 7).

Usage

Directly with gradlew

$ ./gradlew run --args='.sqa/config.yml'

Building & running (fat)JAR

$ ./gradlew fatJar
$ java -jar ./build/libs/jpl-validator-2.0.0.jar .sqa/config.yml

Through Docker (via Google's Jib)

$ ./gradlew jibDockerBuild
$ docker run --rm -v $PWD:/jpl eoscsynergy/jpl-validator:2.0.0 /jpl/.sqa/config.yml

jpl-validator's People

Contributors

orviz avatar samuelbernardolip avatar davrodgon avatar isabel-campos-plasencia avatar

Watchers

James Cloos avatar  avatar Mario David avatar  avatar

jpl-validator's Issues

Fix SLF4J warnings

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

config_repo name pattern must comply to defined code style

Schema must be updated to only allow the characters expected in the defined code style syntax (removed dash):

"config_repo": {
            "type": "object",
            "minProperties": 1,
            "patternProperties": {
                "[a-z0-9_]*": { "$ref": "#/definitions/config_repo_settings" }
            }
        },

Add support for QC.Met

As part of the bronze badge issuing, the validator needs to allow a new criterion: QC.Met

Container required for Tox?

While the JSON schema allows for a tox property to exist without a container (unlike the command one), it seems that the current executor implementation (docker-compose) relies on having such container.
Error message:
"docker-compose -f .sqa/docker-compose.yml --project-directory /var/lib/jenkins/workspace/Dispel4py/ exec -T tox tox -c /dispel4py-testing/tox.ini -e stylecheck
No such service: tox"

tox is used as name of the service, that is not defined in the docker-compose.yml.

Dependency on "container" should be added to "tox".

PS: I understand from the documentation that this is the expected behaviour on the executor part, just saying that this should be enforced in the schema.

Gradle build: documentation incomplete

Missing the following details on the README.md file that are important for current gradle build implementation:

  • to push jpl-validator image is required to run with argument jib and is required to define the variables JPL_USERNAME and JPL_PASSWORD
  • the image tag is defined by the following criteria with strict order:
    • master if on master branch
    • lastest tag belonging to current branch if there is any
    • the branch name

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.