Re-order README section to flow better.
This commit is contained in:
parent
2cfb91aaeb
commit
2551affd4b
48
README.md
48
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 `<step-name>_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 `<step-name>_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
|
||||
|
Loading…
x
Reference in New Issue
Block a user