From 2551affd4b3804888af4362186361bca345c6538 Mon Sep 17 00:00:00 2001 From: Jonathan Bernard Date: Sun, 19 Mar 2017 06:33:22 -0500 Subject: [PATCH] Re-order README section to flow better. --- README.md | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 2e8179f..9ab18c1 100644 --- a/README.md +++ b/README.md @@ -102,30 +102,6 @@ object. The top level keys are: that is expected to print the current version of the project on `stdout`. *(defaults to `git describe --tags --always`)*. -## Build Process - -When performing a build, StrawBoss: - -1. creates a temporary workspace for this build -2. clones the repo into the workspace -3. checkout the revision or branch requested for this run -4. load the project's StrawBoss configuration file. -5. merge environment variables defined in the project configuration -6. run `versionCmd` to get the current project version. The result is stored - in the `VERSION` environment variable. -7. check the environment variables against `expectedEnv` -8. check that all the steps named in `depends` have already been run and run - them if they have not. For each step named in `depends` an environment - variable is added named `_DIR` that contains the absolute path to - the artifacts repo for that step at this version. This is intended to be - used to reference artifacts from other steps, e.g. - `${build_DIR}/site-contents.zip`. -9. `stepCmd` is executed in `workingDir`. Environment variables in `cmdInput` - are resolved and the resulting string are fed line-by-line into the process - as `stdin`. -10. the files named in `artifacts` are copied into the artifacts repo for this - step and version. - #### Step Definition Step definitions are JSON objects with the following keys: @@ -166,6 +142,30 @@ Step definitions are JSON objects with the following keys: the step. If `dontSkip` is set to `true`, the output of this step will always be run when it is referenced, regardless of previous cached results. +## Build Process + +When performing a build, StrawBoss: + +1. creates a temporary workspace for this build +2. clones the repo into the workspace +3. checkout the revision or branch requested for this run +4. load the project's StrawBoss configuration file. +5. merge environment variables defined in the project configuration +6. run `versionCmd` to get the current project version. The result is stored + in the `VERSION` environment variable. +7. check the environment variables against `expectedEnv` +8. check that all the steps named in `depends` have already been run and run + them if they have not. For each step named in `depends` an environment + variable is added named `_DIR` that contains the absolute path to + the artifacts repo for that step at this version. This is intended to be + used to reference artifacts from other steps, e.g. + `${build_DIR}/site-contents.zip`. +9. `stepCmd` is executed in `workingDir`. Environment variables in `cmdInput` + are resolved and the resulting string are fed line-by-line into the process + as `stdin`. +10. the files named in `artifacts` are copied into the artifacts repo for this + step and version. + ## Architecture The following describes the internal architecture of StrawBoss. This section is