Commit graph

29 commits

Author SHA1 Message Date
Matt Schreiber
a891633e2a
feat: add module options tests 2024-04-28 10:53:21 -04:00
Matt Schreiber
d2fb84c6e0
feat: add arbitrary Docker image tarball example
and associated subtest.

This tests the functionality of the newly-added
`services.<name>.image.tarball` parameter.
2024-04-28 10:53:18 -04:00
Robert Hensing
6ad33828e7 tests: Add VM memory
https://hercules-ci.com/accounts/github/hercules-ci/derivations/%2Fnix%2Fstore%2Fccihcy0i8p98vhf9rq0k64mdlin1d7dv-vm-test-run-arion-test.drv/log?via-job=446d4a99-fc0c-442d-a2ed-50ed004a8c48
2024-02-05 17:31:21 +01:00
LoveIsGrief
638c4b8e55
fix: services.<name>.service.build.context
One could declare it, but it was unceremoniously ignored.
A "localhost/" image was created with pretty much nothing in it
 and it couldn't be launched.

The cause was services.<name>.service.image being always set
 and subsequently thugs services.<name>.image.nixBuild being truthy.
That would build an image and write the services.<name>.image field
 in the docker-compose.json. It leads to the build.context being
ignored and the service failing.

This was solved by only writing services.<name>.service.image when
 services.<name>.service.build.context is not set.
services.<name>.image.nixBuild is additionally set to false when
the context is set.

Related to #208
2023-08-20 15:20:34 +02:00
Robert Hensing
76a6bdbdb2 Resolve warnings and enable in-VM sandbox 2023-02-16 23:04:20 +01:00
Robert Hensing
4ea9760991 Ignore broken test
It is either flaky or caused by an update in NixOS/Nixpkgs.
Probably not the podman update though, because I've specifically
tested it with that pr at the time.
2023-01-13 19:15:04 +01:00
Robert Hensing
4aff7e3a11 Use flake-parts 2022-12-02 10:25:01 +00:00
Robert Hensing
40fd74e71f zookeeper ships with an appropriate java now 2022-04-08 00:04:13 +02:00
Robert Hensing
fbb56568e9 podman now expects localhost/ in name 2022-04-08 00:03:45 +02:00
Robert Hensing
83bc14fba8 nixosTest invocation got stricter 2022-04-08 00:03:31 +02:00
Robert Hensing
baa515d88e Fix warnings 2022-04-07 22:55:22 +02:00
Robert Hensing
e263614045 Add NixOS module 2021-11-02 12:25:00 +01:00
Robert Hensing
dcc5b1e3ce Test and fix that we only load images when needed 2021-05-31 16:53:57 +02:00
Robert Hensing
144864d61c Drop NixOS 19.03 2021-05-31 16:53:57 +02:00
Robert Hensing
286d56a83c Add test with podman docker socket backend 2021-05-31 16:53:57 +02:00
Robert Hensing
1da9c00cd5 Add experimental flake example 2021-04-20 11:30:21 +02:00
Robert Hensing
3bad85064b Tests: curl --fail 2021-01-22 00:00:31 +01:00
Robert Hensing
cfa65c56a6 Test examples/traefik 2021-01-21 23:53:37 +01:00
Robert Hensing
fd41e1e7de Increase test memory 2020-09-05 23:02:21 +02:00
Robert Hensing
52dfbeccb1 Adapt to 20.03
- Migrate tests to python-based runner for newer nixpkgs.
 - Adaptations for newer nginx module used in tests
 - Increase memory size for tests
2020-03-19 12:12:09 +01:00
Matt Schreiber
5bd7ea2aa3 Clean up "work" directory before "arion up"
to ensure that the subtests defined in tests/arion-test/default.nix do
not inadvertently re-use the arion-compose.nix, arion-pkgs.nix, etc. set
up during the _previous_ subtest.

Previously, each subtest attempted to clean itself up by doing
the following:

    cd work && [...snip...] && rm -rf work

This removes the directory "work/work", while leaving "work" itself
intact.  Subsequent subtests would then run:

    cp -r ${../../examples/some-example} work

thereby copying the contents of "some-example" into "work/work" rather
than into "work".

As a result, all subtests but the first simply reapplied the Arion
configuration set up by the first subtest, because this configuration
persisted within the "work" directory used as the working directory for
"arion up", etc.

This commit corrects the issue by:

    1. Removing "work" rather than "work/work", and
    2. Adding certain flags to the "cp" invocation to ensure it reliably
       copies files into "work" rather than "work/work": (a) "-f"
       ("--force"), to overwrite destination files if they already
       exist, and (b) "-T" ("--no-target-directory") to copy the
       *contents* of the source directory to "work" rather than copying
       the source directory itself as a subdirectory of "work".

Additionally, this commit factors out code common to all subtests into a
reusable subtest generator coderef.
2020-03-19 12:04:04 +01:00
Robert Hensing
c3a5f8c13f Assertions, warnings, renames 2019-10-03 21:30:14 +02:00
Robert Hensing
77c492fa86 Wrap arion binary
PATH+=docker-compose, unset PYTHONPATH
2019-09-28 00:42:03 +02:00
Robert Hensing
b94174f4d3 Add arion.build, arion.eval passthru functions 2019-03-26 14:06:50 +01:00
Robert Hensing
2232038631 Execute a shell on arion exec <service>; 2019-03-21 15:15:28 +01:00
Robert Hensing
35a309097a Add support for NixOS inside containers 2019-03-05 19:41:54 +01:00
Robert Hensing
e92a0dce06 Fix integration test 2019-01-27 01:08:51 +01:00
Robert Hensing
23ee554f2f Use the word 'composition' where applicable.
Also adds some documentation to celebrate that we can now - with ease - verbally
distinguish between composition-level modules and service-level modules.
2019-01-20 17:29:15 +01:00
Robert Hensing
c39d7db5cd Add integration test
Tests the minimal example, up command, network connectivity.
Introduces overlay.
2019-01-02 09:54:46 +01:00