summaryrefslogtreecommitdiff
path: root/roadmap.mdwn
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2017-10-10 17:33:38 +0300
committerLars Wirzenius <liw@liw.fi>2017-10-10 17:33:38 +0300
commit977f471fe2e1d2f88e2727a0dfae5e7819ac1056 (patch)
tree9b5038e629cf9035f0024ddcd8d9293331b05a11 /roadmap.mdwn
parente3f9ce9b2d88403551252b348aecb930e0c93ca3 (diff)
downloadick.liw.fi-977f471fe2e1d2f88e2727a0dfae5e7819ac1056.tar.gz
Add: roadmap to ALPHA-1
Diffstat (limited to 'roadmap.mdwn')
-rw-r--r--roadmap.mdwn58
1 files changed, 58 insertions, 0 deletions
diff --git a/roadmap.mdwn b/roadmap.mdwn
new file mode 100644
index 0000000..6643d77
--- /dev/null
+++ b/roadmap.mdwn
@@ -0,0 +1,58 @@
+[[!meta title="Ick&mdash;roadmp"]]
+
+This is the roadmap for Ick development. It does not stretch very far,
+because predicting the future is difficult. This roadmap also doesn't
+give any dates, this is a hobby project.
+
+Current development goal
+=============================================================================
+
+The current development goal is to be the first ALPHA version, and is
+described in detail in the [architecture document][], and is briefly
+this:
+
+> ALPHA-1 of Ick2 can be deployed and configured easily, and can
+> concurrently build multiple projects using multiple workers. Builds
+> may be traditional builds from source code, may involve running unit
+> tests or other build-time tests, may involve building Debian
+> packages, and build artifacts are published in a suitable location.
+> Builds may also be builds of static web sites or documentation, and
+> those build artifacts may be published on suitable web servers.
+> Builds happen on workers in reasonably well isolated, automatically
+> maintained environments akin to pbuilder or schroot (meaning the
+> sysadmin is not expected to set up the pbuilder base tarball, ick2
+> will do that).
+
+[architecture document]: http://code.liw.fi/ick/ick2-arch.html
+
+Acceptance criteria for ALPHA-1:
+
+* All Ick2 components and the workers are deployable using Ansible or
+ similar configuration management tooling.
+
+* At least two people (not only Lars) have set up a CI cluster to
+ build at least two different projects on at least two workers. One
+ of the projects should build documentation for ick2 itself, the
+ other should build a .deb packages of ick2. Bonus points for
+ building other projects than ick2 as well.
+
+* Builds get triggered automatically by a git server on any commit to
+ the master branch.
+
+* Build logs can be viewed while builds are running or afterwards via
+ an HTTP API (perhaps wrapped in a command line tool). Bonus points
+ if someone builds a web app on top of the API.
+
+* A modicum of thought has been spent on security and the major
+ contributors agree the security design is not idiotic. The goal is
+ to be confident that a future version of Ick2 can be made reasonably
+ secure, even if that doesn't happen for ALPHA-1.
+
+* The workspace is constructed from several git repositories, e.g., so
+ that the debian subdir comes from a different repo than the main
+ source tree.
+
+* The pipeline steps are not merely snippets of shell scripts to run.
+ Instead, steps may name operations that get executed by the workers
+ without specifying the implementation in the Ick2 project
+ configuration.