Commit Graph

147 Commits

Author SHA1 Message Date
Daniele Rondina
730b9a087a tests/integration/08_versioning.sh: Fix test 2020-04-02 19:39:31 +02:00
Ettore Di Giacinto
9cf6330146
Build empty packages in versioning fixture 2020-03-29 15:11:20 +02:00
Ettore Di Giacinto
daa0b815c1
Fixup assertEquals on versioning integration test 2020-03-29 14:52:14 +02:00
Ettore Di Giacinto
c705728a2a
Build specific package, it triggers version search 2020-03-29 14:52:12 +02:00
Ettore Di Giacinto
15e772d96d
Fixup versioning of fixture 2020-03-29 14:52:10 +02:00
Ettore Di Giacinto
0d6dc49a95
Add versioning integration test 2020-03-29 14:52:00 +02:00
Ettore Di Giacinto
d45536505b
Add integration test for box finalizers 2020-03-28 16:59:37 +01:00
Ettore Di Giacinto
117554792d
Don't attempt to upgrade packages already in system 2020-03-24 20:30:59 +01:00
Daniele Rondina
d0b7552aca tests: Align test to new args 2020-03-24 20:01:22 +01:00
Ettore Di Giacinto
bc5d01c3df
Add integration test for search of installed packages 2020-03-24 18:19:09 +01:00
Daniele Rondina
60635a03eb Fix propagation of repo file name and add test for meta compressed 2020-03-24 00:31:41 +01:00
Daniele Rondina
202ed2651a 💥 Refactor and split repository.yaml file 2020-03-24 00:05:16 +01:00
Daniele Rondina
c7652c8a70 Added labels to package definition
* cmd/search: Add support for search of the packages
  with a specific label.

* review Search method of Repositories for permit
  different search modes.

* labels are k/v attributes and could be matched
  through label key (with HasLabel method) or through
  regex that use "$key" + "=" + "$value"
2020-03-21 19:24:27 +01:00
Ettore Di Giacinto
050d9b3095
Adapt to image based on debian instead of alpine for fixture 2020-03-15 15:30:27 +01:00
Ettore Di Giacinto
4985ff7b5a Use standard golang image for fixture (alpine doesn't contain gcc) 2020-03-15 15:42:24 +01:00
Ettore Di Giacinto
5bcc8d112a
Enforce solver constraints
- Don't sign installed packages during finalizer execution
- Enforce solver constraints: build ALO and AMO rules taking into account
  that the current package might not be selected at all.
- Force uninstalls on upgrade
- Enable option to tell uninstall to ignore conflict with the analized system state,
  as we don't want any conflict with the installed to raise during the upgrade.
  In this way we both force uninstalls and we avoid to check with conflicts
  against the current system state which is pending to deletion.
  This is due to the fact that now the solver enforces the constraints
  and explictly denies two packages of the same version installed.
- Adapt test as now we generate more constraints, which makes the solver more
  noisy on the package that are explictly selected or not
2020-02-27 18:38:31 +01:00
Ettore Di Giacinto
65b17f5283
Add simple upgrade integration test 2020-02-26 23:59:48 +01:00
Ettore Di Giacinto
fffed79767
Test uninstall without explicit version
By dropping the selector in the simple integration test
2020-02-13 14:17:54 +01:00
Ettore Di Giacinto
f329e1d5e0
Add retrieve to compilation spec
It allows to copy build artifact during buildtime. In this way
artifacts between different seed images can be shared

```
retrieve:
- a-test-1.0.package.*
- https://...
```

They will be available under WORKDIR
2020-02-13 14:15:43 +01:00
Ettore Di Giacinto
d7d05de9fe
Add integration test for qlearning solver 2020-02-12 13:58:28 +01:00
Ettore Di Giacinto
5594844971
Adapt integration test to test install and build from cli without explicit versioning 2020-02-04 20:16:35 +01:00
Daniele Rondina
1653a60428 cmd/create-repo: Permit to use repository from config 2020-02-02 11:29:05 +01:00
Daniele Rondina
de2afe8ed0 tests/integration: Add cleanup command 2020-02-02 10:38:41 +01:00
Ettore Di Giacinto
eee0136156
Add compressed tree integration test 2020-01-28 17:47:42 +01:00
Daniele Rondina
b986c613ab tests/integration/01_simple.sh: Use system-dbpath/system-target from config 2020-01-02 18:39:14 +01:00
Daniele Rondina
5358475069 test/integration/01_simple.sh: Use boltdb engine on config 2020-01-02 18:31:56 +01:00
Daniele Rondina
9af733370a
Update integration-test 2020-01-01 13:44:39 +01:00
Daniele Rondina
bbc9574745
Review luet configuration file 2020-01-01 13:43:22 +01:00
Ettore Di Giacinto
9db9c1bf19
Add integration test for reinstall warning 2020-01-01 12:04:26 +01:00
Ettore Di Giacinto
255f768cc0
Enhance simple integration test 2019-12-31 15:59:46 +01:00
Ettore Di Giacinto
62ebe1a82b
Add integration tests 2019-12-31 15:22:11 +01:00
Ettore Di Giacinto
d941c9755b Relax best match constraint rule
Or we could return unsat
2019-12-18 19:24:44 +01:00
Ettore Di Giacinto
15250bd991 Add support for Package provides
Add "provides" field in packages (which affect both runtime and buildtime deps).
It replaces all the occurences in the deptree before solving, actually
allowing to swap packages and provide virtuals. Along with a mechanism
for package rename #25.
2019-12-17 19:32:31 +01:00
Daniele Rondina
82c9795dc3 Add pkg description, url and license
* Move to mvdan.cc/sh/v3
* Improve RDEPEND parsing
2019-12-16 23:56:58 +01:00
Ettore Di Giacinto
097f2ec827
Support includes also on packages coming from unpacked images 2019-12-03 18:15:07 +01:00
Ettore Di Giacinto
30a7312911
Compute upgrades
Make solver compute simply upgrades and the installer execute them.

Add simple upgrade test
2019-11-29 19:01:56 +01:00
Ettore Di Giacinto
8ed2badefc
Add test for shared layer unpack 2019-11-17 15:59:52 +01:00
Ettore Di Giacinto
3499c0c580
Add test for compilation with version selection 2019-11-16 16:05:51 +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
d752c0572b
Add unpack field to specify a package used as layer
Closes #9
2019-11-13 09:43:54 +01:00
Ettore Di Giacinto
e0aa92efa4
Add fixture 2019-11-12 00:13:24 +01:00
Ettore Di Giacinto
f634493dc0
Add tests for package compilation with images 2019-11-10 10:49:24 +01:00
Ettore Di Giacinto
639d4438e1
Adapt tests 2019-11-08 18:30:53 +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
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
98ab6202fc
Drop unneeded fixture 2019-08-24 13:14:47 +02:00
Ettore Di Giacinto
283fae1248
Add tests fixtures 2019-07-27 11:31:01 +02:00