README.md 2.5 KB
Newer Older
Ansgar Burchardt's avatar
Ansgar Burchardt committed
1 2 3 4 5 6 7 8
Docker images for GitLab CI
===========================

Images
------

The current images are:

9 10 11
| image                    | parent          | description                                               |
|--------------------------|-----------------|-----------------------------------------------------------|
| duneci/base:8            | debian:8        | Debian 8 with gcc 4.9.2, clang 3.5, cmake 3.0.2           |
Ansgar Burchardt's avatar
Ansgar Burchardt committed
12
| duneci/base:9            | debian:9        | Debian 9 with gcc 6.1.1, clang 3.8, cmake 3.5.2           |
13 14 15 16 17
| duneci/dune:2.3          | duneci/base:8   | DUNE 2.3 core modules from Debian                         |
| duneci/dune:2.4          | duneci/base:9   | DUNE 2.4 core modules from Debian                         |
| duneci/dune:git          | duneci/base:9   | DUNE 3.0-dev snapshot                                     |
| duneci/dune-fufem:2.4    | duneci/dune:2.4 | dune-{fufem,functions,solvers,typetree} (2.4 branches)    |
| duneci/dune-fufem:git    | duneci/dune:git | dune-{fufem,functions,solvers,typetree} (master branches) |
Ansgar Burchardt's avatar
Ansgar Burchardt committed
18 19 20 21

`.gitlab-ci.yml`
----------------

22 23 24 25 26 27 28
Installing dependencies:
```
before_script:
  - duneci-install-module https://gitlab.dune-project.org/core/dune-common.git
  - duneci-install-module https://gitlab.dune-project.org/core/dune-geometry.git
```

Ansgar Burchardt's avatar
Ansgar Burchardt committed
29 30 31
To build with several images:
```
---
Ansgar Burchardt's avatar
Ansgar Burchardt committed
32 33
dune:2.4--gcc:
  image: duneci/dune:2.4
Ansgar Burchardt's avatar
Ansgar Burchardt committed
34
  script:
Ansgar Burchardt's avatar
Ansgar Burchardt committed
35 36 37
  - dunecontrol --current all
  - dunecontrol --current make build_tests
  - cd build-cmake; duneci-ctest
Ansgar Burchardt's avatar
Ansgar Burchardt committed
38

Ansgar Burchardt's avatar
Ansgar Burchardt committed
39 40
dune:2.4--clang:
  image: duneci/dune:2.4
Ansgar Burchardt's avatar
Ansgar Burchardt committed
41
  script:
Ansgar Burchardt's avatar
Ansgar Burchardt committed
42 43 44
  - dunecontrol --current --opts=/duneci/opts.clang all
  - dunecontrol --current make build_tests
  - cd build-cmake; duneci-ctest
Ansgar Burchardt's avatar
Ansgar Burchardt committed
45 46 47 48 49
```

You can also specify a default image and use it in several jobs:

```
Ansgar Burchardt's avatar
Ansgar Burchardt committed
50
---
Ansgar Burchardt's avatar
Ansgar Burchardt committed
51 52 53 54
image: duneci/dune:2.4

dune:2.4--gcc:
  script:
Ansgar Burchardt's avatar
Ansgar Burchardt committed
55 56 57
  - dunecontrol --current all
  - dunecontrol --current make build_tests
  - cd build-cmake; duneci-ctest
Ansgar Burchardt's avatar
Ansgar Burchardt committed
58 59 60

dune:2.4--clang:
  script:
Ansgar Burchardt's avatar
Ansgar Burchardt committed
61 62 63
  - dunecontrol --current --opts=/duneci/opts.clang all
  - dunecontrol --current make build_tests
  - cd build-cmake; duneci-ctest
Ansgar Burchardt's avatar
Ansgar Burchardt committed
64
```
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85

Updating gitlab-runner
----------------------

To update `gitlab-runner` on the VM:

```
docker pull gitlab/gitlab-runner:latest
docker stop gitlab-runner
docker rm -v gitlab-runner
docker run -d --name gitlab-runner --restart always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /srv/gitlab-runner/config:/etc/gitlab-runner \
  gitlab/gitlab-runner:latest
```

The current version can be shown by running

```
docker exec -it gitlab-runner gitlab-runner -v
```