README.md 1.27 KB
Newer Older
Valentin Reis's avatar
Valentin Reis committed
1 2 3 4 5 6 7 8 9 10 11
#### (experimental) Argo integration testing

This small repository contains the minimal code necessary to run
integration tests across the argo stack, using various applications.

It leverages the argopkgs repo, but overrides some sources in it with
their master branch counterparts. see file `default.nix` for details.

The file `./integration.sh` is provided as a convenience and should be
all that is necessary to run these tests on a nix-enabled machine.

Valentin Reis's avatar
Valentin Reis committed
12
The real intended usage is to override (some of) the source(s) with WIP version(s),
Valentin Reis's avatar
Valentin Reis committed
13 14 15 16 17 18 19 20 21 22
as part of development or continuous integration. This gitlab CI snippets shows
how to do this on a nix-enabled runner:

```{.yml}
integration.test:
  stage: test
  script:
    - BUILD=$PWD
    - git clone https://xgitlab.cels.anl.gov/argo/argotest.git
    - cd argotest
Valentin Reis's avatar
Valentin Reis committed
23 24 25 26 27 28 29 30 31 32
    - nix-shell -A test --run "./argotk.hs helloworld" --arg nrm-src ../.
  artifacts:
    paths:
      - argotest/cmd_err.log
      - argotest/cmd_out.log
      - argotest/daemon_out.log
      - argotest/daemon_out.log
      - argotest/nrm.log
      - argotest/time.log
    expire_in: 1 week
Valentin Reis's avatar
Valentin Reis committed
33 34 35 36 37 38
  except:
    - /^wip\/.*/
    - /^WIP\/.*/
  tags:
    - integration
```
39 40 41 42 43 44

Standalone usage: example with the nrm source in `../`.
```
nix-shell -A test --arg nrm-src ../nrm
./integration.hs
```