From c7677b48f21f653ae92b10ff39b9e04086ff3ace Mon Sep 17 00:00:00 2001 From: Jerry Zhang Date: Thu, 23 Feb 2017 11:06:16 -0800 Subject: [PATCH] feat: Add settings to job config --- config/job.js | 7 +++++-- test/config/job.test.js | 6 ++++++ test/data/config.job.settings.yaml | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 test/data/config.job.settings.yaml diff --git a/config/job.js b/config/job.js index 37c2a628..fdec59f0 100644 --- a/config/job.js +++ b/config/job.js @@ -60,13 +60,15 @@ const SCHEMA_STEP_OBJECT = Joi.object() const SCHEMA_STEP = Joi.alternatives().try(SCHEMA_STEP_STRING, SCHEMA_STEP_OBJECT); const SCHEMA_STEPS = Joi.array().items(SCHEMA_STEP).min(1); const SCHEMA_IMAGE = Joi.string(); +const SCHEMA_SETTINGS = Joi.object().optional(); const SCHEMA_JOB = Joi.object() .keys({ steps: SCHEMA_STEPS, environment: SCHEMA_ENVIRONMENT, matrix: SCHEMA_MATRIX, image: SCHEMA_IMAGE, - secrets: SCHEMA_SECRETS + secrets: SCHEMA_SECRETS, + settings: SCHEMA_SETTINGS }) .default({}); @@ -82,5 +84,6 @@ module.exports = { step: SCHEMA_STEP, environment: SCHEMA_ENVIRONMENT, image: SCHEMA_IMAGE, - job: SCHEMA_JOB + job: SCHEMA_JOB, + settings: SCHEMA_SETTINGS }; diff --git a/test/config/job.test.js b/test/config/job.test.js index 774e5f1d..5e7d9604 100644 --- a/test/config/job.test.js +++ b/test/config/job.test.js @@ -40,4 +40,10 @@ describe('config job', () => { assert.isNull(validate('config.job.image.yaml', config.job.image).error); }); }); + + describe('settings', () => { + it('validates settings', () => { + assert.isNull(validate('config.job.settings.yaml', config.job.settings).error); + }); + }); }); diff --git a/test/data/config.job.settings.yaml b/test/data/config.job.settings.yaml new file mode 100644 index 00000000..20e9ff3f --- /dev/null +++ b/test/data/config.job.settings.yaml @@ -0,0 +1 @@ +foo: bar