Ettore Di Giacinto
e9c01b46a7
Use well defined structure for serializing, fixups to make test green
2019-11-23 15:42:53 +01:00
Ettore Di Giacinto
542d45a646
Do not use interface in struct used for serialization
2019-11-23 00:29:44 +01:00
Ettore Di Giacinto
df78308e98
Annotate artifact metadata after compiling
2019-11-22 21:01:29 +01:00
Ettore Di Giacinto
f107f47242
Prepare for 0.1 tag
2019-11-17 19:45:20 +01:00
Ettore Di Giacinto
6e662c75ce
Reuse docker backend in some Img functions
2019-11-17 18:38:57 +01:00
Ettore Di Giacinto
8ed2badefc
Add test for shared layer unpack
2019-11-17 15:59:52 +01:00
Ettore Di Giacinto
a39f596e8f
Do not compute diff when package is unpacked
2019-11-17 15:59:52 +01:00
Ettore Di Giacinto
d0b128000d
Clean build dirs for each package after build
2019-11-17 15:59:52 +01:00
Ettore Di Giacinto
dea8ea7f9a
Respect unpack also when compiling images #15
2019-11-17 15:59:48 +01:00
Ettore Di Giacinto
3499c0c580
Add test for compilation with version selection
2019-11-16 16:05:51 +01:00
Ettore Di Giacinto
32dea6f7fd
Add Best() to solver for package selection based on version
2019-11-16 14:40:58 +01:00
Ettore Di Giacinto
602f5c68d5
Use emojis for icons
2019-11-16 14:16:59 +01:00
Ettore Di Giacinto
588d06430c
Do not spin in the backend
...
Signed-off-by: Ettore Di Giacinto <mudler@gentoo.org>
2019-11-16 13:26:34 +01:00
Ettore Di Giacinto
3e850e9607
Adapt tests and fixup races in spinner
...
Signed-off-by: Ettore Di Giacinto <mudler@gentoo.org>
2019-11-16 13:26:33 +01:00
Ettore Di Giacinto
b2060c82e3
Make DB Switchable
...
Fixes races conditions and make the DB Switchable. Also prepare inside
the CompilationSpec the tree of the deps to be built, and parallelize
only the building jobs.
Closes #7
Signed-off-by: Ettore Di Giacinto <mudler@gentoo.org>
2019-11-16 13:26:33 +01:00
Ettore Di Giacinto
c95e0ed91d
Add revdep calculation
...
Add CompilationSpecs type to handle slices of CompilationSpec, to
perform operation such as Unique() and Remove().
Add also dependencies and the spec associated to the Artifact, to track
how the artifact was generated.
Add revdeps compilation wrapper, and unit tests
2019-11-15 18:11:26 +01:00
Ettore Di Giacinto
321edd1676
Cleans container-diff cache on each run
...
It generates false positives if run with the same image paths
2019-11-14 22:50:39 +01:00
Ettore Di Giacinto
cd73d950cc
Add fixture and test for includes and layered packages
2019-11-14 20:28:21 +01:00
Ettore Di Giacinto
ccdca66420
Small fixes and enhance output
...
Fixes a small issue with the Spinner which prevented to update the
spinner style. Also respect the temp folders of the output when
extracting the rootfs.
2019-11-14 20:22:49 +01:00
Ettore Di Giacinto
0eef18d75c
Add 'includes' to CompileSpec
...
The includes field is an array of regexp used to indicate what include
inside the packag. It can be omitted to default behavior (all)
2019-11-14 17:43:47 +01:00
Ettore Di Giacinto
08944a22ac
Add unicode icons
2019-11-14 00:14:43 +01:00
Ettore Di Giacinto
d5a8579454
Propagate also original Artifact name inside the copyjob
2019-11-13 17:06:55 +01:00
Ettore Di Giacinto
d752c0572b
Add unpack field to specify a package used as layer
...
Closes #9
2019-11-13 09:43:54 +01:00
Ettore Di Giacinto
747d0ef9ac
Do not fail in case we cannot remove cached images
...
Add a TODO, we should have a cli flag to treat warnings as fatal
2019-11-12 22:17:51 +01:00
Ettore Di Giacinto
2bbca653fd
Add tree test and minor comment fixups
2019-11-12 17:31:50 +01:00
Ettore Di Giacinto
a2c32aaaa1
Propagate reverse dep calculation
...
Whenever we update the tree with new informations, all the sibilings
needs to be updated as well
Also switch to inmemory db for recipe - even if this should be a switch
2019-11-12 17:30:06 +01:00
Ettore Di Giacinto
a7a20358ef
Search in world instead of db (or solver would mismatch)
2019-11-12 17:26:00 +01:00
Ettore Di Giacinto
8c36580722
Use image tags for cache instead of names
2019-11-12 17:24:24 +01:00
Ettore Di Giacinto
b64cf677c6
First order, then drop - or hash would mismatch
2019-11-12 17:24:00 +01:00
Ettore Di Giacinto
4c1c7451e7
Resolve deps before compiling
2019-11-12 08:48:07 +01:00
Ettore Di Giacinto
e7a328bca7
Fix compilation and hash image calculation. Tests fails on spec (installing d)
2019-11-12 00:13:03 +01:00
Ettore Di Giacinto
af49696aff
WIP Compiler for images by solving the deptree
2019-11-11 19:19:13 +01:00
Ettore Di Giacinto
ebd4cfc318
Make Compile work in parallel
...
Also make the spinner thread-safe
2019-11-11 10:22:55 +01:00
Ettore Di Giacinto
f634493dc0
Add tests for package compilation with images
2019-11-10 10:49:24 +01:00
Ettore Di Giacinto
ea2a51ce66
Implement compilation with images
...
A compilespec with an image defined (and no seed) can now be compiled,
and an artifact delta is provided at the end of the process.
2019-11-10 10:48:07 +01:00
Ettore Di Giacinto
c51c6264d7
Backend nows must expose a way to unpack rootfs of images
2019-11-10 10:47:28 +01:00
Ettore Di Giacinto
fc93c9e3ea
Generate artifact delta from layer diffs
2019-11-10 10:46:57 +01:00
Ettore Di Giacinto
a9bf9223c9
Rename PreBuildSteps in Prelude
2019-11-10 10:45:13 +01:00
Ettore Di Giacinto
45651a3bcc
Define Artifact diffs layers
...
It also add in simpledocker a naive implementation using the container-diff binary, which is supposed to go away with a proper API implementation.
2019-11-09 13:58:15 +01:00
Ettore Di Giacinto
0672dd792e
Add WIP Compiler steps for rootfs
2019-11-08 19:57:23 +01:00
Ettore Di Giacinto
4ea8f26878
Define a generic Artifact object for now
2019-11-08 19:57:04 +01:00
Ettore Di Giacinto
b2d305bb8d
Add docker service to travis
2019-11-08 18:32:56 +01:00
Ettore Di Giacinto
29ccb3e168
Add SimpleDocker backend
2019-11-08 18:31:16 +01:00
Ettore Di Giacinto
639d4438e1
Adapt tests
2019-11-08 18:30:53 +01:00
Ettore Di Giacinto
3920f9a5ac
Add accessors for LuetCompilationSpec
2019-11-08 18:30:19 +01:00
Ettore Di Giacinto
300e60984a
CompilerBackend now consumes a CompilerOptions
2019-11-08 18:29:51 +01:00
Ettore Di Giacinto
0321973359
Add PreBuild steps
...
They are executed when building the "builder" image, those are not accounted to the diffs when producing the final artifact
2019-11-08 18:28:01 +01:00
Ettore Di Giacinto
287212db1c
Add simple img backend
2019-11-05 17:37:21 +01:00
Ettore Di Giacinto
ff88ff67c2
Add Separate tree for build dependency
...
Reuse the Recipe and extend it to read a separate tree for build
dependencies.
Also add accessors to compilespec to produce dockerfile image format.
2019-11-05 17:36:22 +01:00
Ettore Di Giacinto
b62966ca35
Consume CompilerBackend in Compiler
2019-11-04 17:21:19 +01:00