Skip to content
This repository was archived by the owner on Aug 14, 2025. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions docs/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ If something fails during building, you can determine the failing command and co
```
Usually it is much easier to debug in this way.

If you are developing a new base image for preCICE, make sure you create a user `precice`, in group `precice` with `uid` and `gid` equal to 1000, as done in
other base dockerfiles. Additionally, make sure that precice in installed in `/home/precice/precice`, and create folders `/home/precice/Data/Exchange`,
If you are developing a new base image for preCICE, make sure you create a user `precice`, in group `precice` with `uid` and `gid` equal to 1000, as done in
other base dockerfiles. Additionally, make sure that precice in installed in `/home/precice/precice`, and create folders `/home/precice/Data/Exchange`,
`/home/precice/Data/Input` and `/home/precice/Data/Output`, that should be owned by `precice` user.

## During development of the test cases

There is a `generate_test.py` script provided, that make is easier to generate all the necessary docker configuration files. Make sure to read through the generated files,
There is a `generate_test.py` script provided, that make is easier to generate all the necessary docker configuration files. Make sure to read through the generated files,
make sure it suits your test case and adjust where needed.

If something fails during running `docker-compose` due to communication problems or invalid input, the easiest way to debug is:
Expand All @@ -48,6 +48,16 @@ You should also make sure that running both on a local and a remote machine work
```
4. If it fails locally, use above-mentioned techniques to debug it. If is does not, bad luck.

## If a systemtest request fails with 'HTTP Error 403: Forbidden'

It might happen at some point that the `trigger_systemtests.py` script responsible for triggering builds through the Travis API starts to fail with the error above. This could happen due to the `TRAVIS_ACCESS_TOKEN` expiring and is potentially easy to fix. To renew the token, generate a new one locally using the Travis CLI (taken from [here](https://blog.travis-ci.com/2013-01-28-token-token-token)):

```
gem install travis && travis login && travis token
```

and replace the current `TRAVIS_ACCESS_TOKEN` value in the TravisCI systemtests dashboard.

## If there are network problems

It can happen, that you cannot access the network from the inside of docker. You can try to fix it using `--network=host` during build of docker images or by specifying `network: host` in the `docker-compose.yml`. You might also want to add this parameter in `build_image` function in `docker.py`.
Expand Down