Commit Graph

1104 Commits

Author SHA1 Message Date
Ettore Di Giacinto
2dd56e9e49
Create a type for lists of PackageAssertion, and move Order() inside it 2019-11-11 11:02:47 +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
49a77280ae
Add build cmd in the cli 2019-11-10 22:40:31 +01:00
Ettore Di Giacinto
420186b7db
Switch to go mod 2019-11-10 18:05:28 +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
8bebd2a7f2
Add container-diff to travis 2019-11-09 14:00:33 +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
1131a52f97
Extend the test also for the packages that doesn't have a special ordering 2019-11-09 11:18:20 +01:00
Ettore Di Giacinto
a3b4d953d7
Add disequality test for assertion ordering 2019-11-09 11:16:22 +01:00
Ettore Di Giacinto
383efe3c99
Update vendor/ 2019-11-09 10:47:44 +01:00
Ettore Di Giacinto
f7efbe23f2
Add topological order for assertions 2019-11-09 10:47:18 +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
f570f74a9e
Add make fmt 2019-11-05 17:21:06 +01:00
Ettore Di Giacinto
92e27b7031
update vendor/ 2019-11-04 17:26:20 +01:00
Ettore Di Giacinto
573fe0332a
Add tests for helpers 2019-11-04 17:25:09 +01:00
Ettore Di Giacinto
b62966ca35
Consume CompilerBackend in Compiler 2019-11-04 17:21:19 +01:00
Ettore Di Giacinto
add0021cfd
Add compiler interfaces and build definition skeleton
Create compiler interface with switchable backends. For now it can resolve and
parse a `build.yaml` which is in the same folder as in `definition.yaml`

Add also tests to cover this and new fixtures
2019-11-04 17:21:19 +01:00
Ettore Di Giacinto
61c318d549
Set path during recipe load
Set path only when the recipe is loaded and not when it gets converted. In such way the internal temporary db knows where the sources where.
2019-11-04 17:14:32 +01:00
Ettore Di Giacinto
b32a6c2286
Wrap errors 2019-11-04 17:13:53 +01:00
Ettore Di Giacinto
9dc8fccd12
Add Rel() accessor to package 2019-11-04 12:36:55 +01:00
Ettore Di Giacinto
4dab89d209
Add support to store the path of the loaded packages 2019-11-04 12:35:21 +01:00
Ettore Di Giacinto
8c86f6c84d
Drop ID from marshalled content 2019-11-04 11:11:33 +01:00
Ettore Di Giacinto
6855c3bdf7
Add copy of LICENSE 2019-11-04 11:01:41 +01:00
Ettore Di Giacinto
24a6de3f29
Use Fatal() in cmd/ 2019-11-04 10:16:20 +01:00
Ettore Di Giacinto
0307b1faad
Consider also category when building up the luet tree 2019-11-03 18:39:15 +01:00
Ettore Di Giacinto
a5e125de4b
Query needs a category as well to find out the package 2019-11-03 17:24:47 +01:00
Ettore Di Giacinto
55214bc6c8
Extend tests for each supported dbtype 2019-11-03 13:53:41 +01:00
Ettore Di Giacinto
f3623cbb38
Allow to switch between database types in Gentoo Parser
Define types and allows to switch between boltdb and inmemory
2019-11-03 13:37:45 +01:00
Ettore Di Giacinto
847f93b8b7
Revert "Consume a context when sourcing ebuild in parallel"
This reverts commit 1ee2551325.
2019-11-03 13:27:13 +01:00
Ettore Di Giacinto
0923e91527
Add context timeout to sh parsing
It is causing issues as it hangs indefinetly and then we wait for goroutines to finish
2019-11-03 13:24:13 +01:00
Ettore Di Giacinto
1ee2551325
Consume a context when sourcing ebuild in parallel 2019-11-03 12:03:26 +01:00
Ettore Di Giacinto
f0e56d966b
This should return, but needs a flag eventually 2019-11-03 12:02:33 +01:00
Ettore Di Giacinto
3ff9632b8b
Refactor common code in logger 2019-11-03 10:50:23 +01:00
Ettore Di Giacinto
87406e05d3
Use available num of CPU as default 2019-11-03 10:50:07 +01:00
Ettore Di Giacinto
8c0ad2b571
Use InMemoryDB instead of Bolt in gentoo parser
Also refactor things a bit
2019-11-02 18:03:06 +01:00
Ettore Di Giacinto
9ec316312f
Use singleton version of InMemoryDB when necessary (still needed from the solver) 2019-11-02 18:00:42 +01:00
Ettore Di Giacinto
b72a09ab1c
Make logging concurrent-aware 2019-11-02 18:00:06 +01:00