Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Screwdriver.yaml Configuration Parser

Version Downloads Build Status Open Issues Dependency Status License

Node module for validating and parsing screwdriver.yaml configurations

  • Validates a screwdriver.yaml for structural and functional specification
  • Outputs the pipeline's workflowGraph configuration
  • Generates a list of jobs to execute, including:
    • build permutations
    • environment variables to set
    • steps to execute
    • container image to use

YAML

shared:
    environment:
        NODE_ENV: test
    settings:
        email: foo@bar.com

jobs:
    main:
        image: node:6
        steps:
            - init: npm install
            - test: npm test
        requires:
            - ~pr
            - ~commit

    publish:
        environment:
            NODE_TAG: latest
        image: node:4
        steps:
            - bump: npm run bump
            - publish: npm publish --tag $NODE_TAG
            - tag: git push origin --tags
        secrets:
            - NPM_TOKEN
            - GIT_KEY
        requires:
            - main

Usage

npm install screwdriver-config-parser

Parse in Node.js:

const parser = require('screwdriver-config-parser');

// Configuration (in YAML form)
parser(fs.readFileSync('screwdriver.yaml')).then((pipeline) => {
    // Workflow for the pipeline
    // pipeline.workflowGraph

    // All the main jobs with the steps to execute and environment variables to set
    // pipeline.jobs.main[].commands
    // pipeline.jobs.main[].environment
    // pipeline.jobs.main[].image

    // All the publish jobs with the steps to execute and environment variables to set
    // pipeline.jobs.publish[].commands
    // pipeline.jobs.publish[].environment
    // pipeline.jobs.publish[].image
});

Testing

npm test

License

Code licensed under the BSD 3-Clause license. See LICENSE file for terms.

You can’t perform that action at this time.