Add some planning thoughts into a notes document
This commit is contained in:
parent
5bce41d2b6
commit
0fcb92ba98
52
notes
Normal file
52
notes
Normal file
|
@ -0,0 +1,52 @@
|
|||
Use a "config.toml" to specify repos to pull and build from.
|
||||
Will probably have entries like:
|
||||
|
||||
[[project]]
|
||||
clone_url = "https://github.com/username/project.git"
|
||||
|
||||
The project should have a "/simple_ci/" at HEAD. There should be a
|
||||
"/simple_ci/config.toml" with entries like:
|
||||
|
||||
# The root directory refers to the root of the project for "working_directory".
|
||||
# If the "working_directory" doesn't exist, simple_ci should create it first.
|
||||
# It will probably use something like "/usr/bin/mkdir -p ...".
|
||||
working_directory = "/build"
|
||||
build_artifacts = ["./the_executable", "./docs/"]
|
||||
[[prepare_cmds]]
|
||||
cmd = "./prepare.sh"
|
||||
args = []
|
||||
[[build_cmds]]
|
||||
cmd = "/usr/bin/make"
|
||||
args = ["all"]
|
||||
[[build_cmds]]
|
||||
cmd = "./test.sh"
|
||||
args = []
|
||||
[[build_cmds]]
|
||||
cmd = "./not_important_test.sh"
|
||||
args = []
|
||||
allow_fail = true
|
||||
[[post_build_cmds]]
|
||||
cmd = "/usr/bin/make"
|
||||
args = ["docs"]
|
||||
[[post_build_cmds]]
|
||||
cmd = "/usr/bin/cp"
|
||||
args = ["./output/the_exe", "./the_executable"]
|
||||
|
||||
The simple_ci server should store "config.toml" entries from configured project
|
||||
repos for approval by an administrator before doing anything with them. Ideally,
|
||||
this will be done on a front-end website that requires login and shows the
|
||||
"config.toml" from each configured project repo for approval or denial. The
|
||||
back-end should store the approved "config.toml" per each repo so that the next
|
||||
time the ci runs, it will verify that the files match. Any changes will require
|
||||
the administrator to re-approve that repo's "config.toml". A single repository
|
||||
will only have a single "config.toml" stored for it (assuming it was approved).
|
||||
|
||||
Ideally, the front-end would also enable the administrator to add/remove repos
|
||||
to load from and build. This should enable editing the server-side "config.toml"
|
||||
from this front-end as well.
|
||||
|
||||
If any of the commands specified in the projects "config.toml" fails, then
|
||||
simple_ci should halt the "build" and leave a note to be viewed on the
|
||||
front-end. Note that a cmd specified in a project's "config.toml" can set
|
||||
"allow_fail = true" which will ignore failure for that specific command. Success
|
||||
statuses should also be noted on the front-end.
|
Loading…
Reference in a new issue