-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathdocker-compose.yml
135 lines (132 loc) · 3.87 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
services:
wine: &wine
build:
context: docker/tests
dockerfile: wine.Dockerfile
image: ${VSI_COMMON_DOCKER_REPO}:wine_test
cap_add:
- SYS_PTRACE
working_dir: /vsi
environment: &wine_environment
USER_ID: "1000"
JUST_IS_TTY: "1"
WINEDEBUG: "fixme-all,err-winediag,err-menubuilder"
volumes:
- &wine_home_volume
type: volume
source: wine_home
target: /home/.user_wine
- &vsi_common_volume
type: bind
source: .
target: /vsi
read_only: true
command: -c "cd /z/vsi; bash -l"
wine_gui:
<<: *wine
environment:
<<: *wine_environment
DISPLAY:
volumes:
- *wine_home_volume
- *vsi_common_volume
- type: bind
read_only: true
target: /tmp/.X11-unix
source: /tmp/.X11-unix
command: []
bash_test:
build:
context: docker/tests
dockerfile: bash_test.Dockerfile
args:
BASH_VERSION: ${VSI_COMMON_BASH_TEST_VERSION-5.0}
DOCKER_COMPOSE_VERSION: 2.11.2
DOCKER_VERSION: 20.10.18
image: ${VSI_COMMON_DOCKER_REPO}:bash_test_${VSI_COMMON_BASH_TEST_VERSION-5.0}
environment:
DOCKER_UID: ${VSI_COMMON_UID-1000}
DOCKER_GIDS: ${VSI_COMMON_GIDS-1000}
DOCKER_GROUP_NAMES: ${VSI_COMMON_GROUP_NAMES-user}
DOCKER_USERNAME: user
TESTLIB_PARALLEL:
# Don't do this, on circle CI this runs on the remote where docker is
# "local", VSI_COMMON_BASH_TEST_*_*_VOLUMES takes care of this.
# DOCKER_HOST:
TESTLIB_SKIP_TESTS:
# Uncomment this and in bash_test.Justfile if you want to run the
# common_source integration test in the container
# VSI_COMMON_DIR_HOST: "${VSI_COMMON_DIR}"
volumes:
- <<: *vsi_common_volume
# Since some of the integration tests bind test dirs in, make sure the
# tmp it is using is the same tmp dir
- type: bind
source: /tmp
target: /tmp
python2: &python-anchor
build:
context: docker/tests/
dockerfile: python2.Dockerfile
image: ${VSI_COMMON_DOCKER_REPO}:python2_test
command: |
bash -c '
cd /vsi/python
pipenv run python2 -B -m unittest discover -s "/vsi/python/vsi/test"'
# environment:
# - DOCKER_UID=${VSI_COMMON_UID-1000}
# - DOCKER_GIDS=${VSI_COMMON_GIDS-1000}
# - DOCKER_GROUP_NAMES=user
# - DOCKER_USERNAME=user
volumes:
- type: bind
source: ${VSI_COMMON_DIR}
target: /vsi
read_only: true
- type: volume
source: venv2
target: /venv
python3:
build:
context: docker/tests/
dockerfile: python3.Dockerfile
image: ${VSI_COMMON_DOCKER_REPO}:python3_test
volumes:
- type: bind
source: ${VSI_COMMON_DIR}
target: /vsi
read_only: true
- type: volume
source: venv3
target: /venv
command: |
bash -c '
cd /vsi/python
pipenv run python3 -B -m unittest discover -s "/vsi/python/vsi/test"'
os:
build:
context: docker/tests/
dockerfile: os.Dockerfile
args:
OS: ${VSI_COMMON_TEST_OS-debian:8}
DOCKER_COMPOSE_VERSION: 2.11.2
DOCKER_VERSION: 20.10.18
image: ${VSI_COMMON_DOCKER_REPO}:os_${VSI_COMMON_TEST_OS_TAG_NAME-debian_8}
volumes:
- <<: *vsi_common_volume
# Because some of the integration tests bind mount test dirs into the
# container, ensure the tmp dir it is using is the same tmp dir
- type: bind
source: /tmp
target: /tmp
# CircleCI Updated to a kernel that supports statx, but uses an old 2017
# server that doesn't whitelist it
privileged: true
volumes:
wine_home:
venv2:
labels:
com.vsi.just.clean_setup: --wrap Docker compose run python2 true
venv3:
labels:
com.vsi.just.clean_setup: --wrap Docker compose run python3 true