-
Notifications
You must be signed in to change notification settings - Fork 6
/
docker-compose.yaml
131 lines (107 loc) · 3.27 KB
/
docker-compose.yaml
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
version: '3.4'
# Defaults
x-build-args-36: &build_args_36
IMAGE_TAG: "3.6-buster"
x-build-args-37: &build_args_37
IMAGE_TAG: "3.7-buster"
x-build-args-38: &build_args_38
IMAGE_TAG: "3.8-buster"
x-build-args-39: &build_args_39
IMAGE_TAG: "3.9-buster"
x-build-args-310: &build_args_310
IMAGE_TAG: "3.10-buster"
x-mount-app-and-user-git-config: &mount-app-and-user-git-config
volumes:
- ./:/app
services:
# Devbox
dev: &dev
build: &dev_build
dockerfile: ./docker/Dockerfile
context: .
image: little-cheesemonger-dev
command: /bin/bash
volumes:
- ./:/app
- ~/.gitconfig:/home/little-cheesemonger/.gitconfig # allow script to commit as user
bump:
<<: *dev
<<: *mount-app-and-user-git-config
entrypoint: /bin/bash docker/bump_version.sh
# Test & Lint suite
test-36:
<<: *dev
build:
<<: *dev_build
args:
IMAGE: python:3.6-buster
image: little-cheesemonger-test-36
command: docker/run_tests.sh
test-37:
<<: *dev
build:
<<: *dev_build
args:
IMAGE: python:3.7-buster
image: little-cheesemonger-test-37
command: docker/run_tests.sh
test-38:
<<: *dev
build:
<<: *dev_build
args:
IMAGE: python:3.8-buster
image: little-cheesemonger-test-38
command: docker/run_tests.sh
test-39:
<<: *dev
build:
<<: *dev_build
args:
IMAGE: python:3.9-buster
image: little-cheesemonger-test-39
command: docker/run_tests.sh
# NOTE: test-310 command includes `--format-code` option that will
# apply changes when the lint suite is run
test-310:
<<: *dev
build:
<<: *dev_build
args:
IMAGE: python:3.10-buster
image: little-cheesemonger-test-310
command: docker/run_tests.sh --format-code
test-integration-manylinux1-default-loader: &test_integration
build: &test_build
dockerfile: ./docker/manylinux.Dockerfile
context: .
args:
IMAGE: quay.io/pypa/manylinux1_x86_64
image: little-cheesemonger-integration-test-manylinux1
command: /opt/python/cp38-cp38/bin/python -m pytest tests/integration/test_default_loader.py
working_dir: /app
volumes:
- ./:/app
test-integration-manylinux1-custom-loader:
<<: *test_integration
command: /opt/python/cp38-cp38/bin/python -m pytest tests/integration/test_custom_loader.py
test-integration-manylinux2010-default-loader: &test_integration_manylinux2010
<<: *test_integration
build:
<<: *test_build
args:
IMAGE: quay.io/pypa/manylinux2010_x86_64
image: little-cheesemonger-integration-test-manylinux2010
test-integration-manylinux2010-custom-loader:
<<: *test_integration_manylinux2010
command: /opt/python/cp38-cp38/bin/python -m pytest tests/integration/test_custom_loader.py
test-integration-manylinux2014-default-loader: &test_integration_manylinux2014
<<: *test_integration
build:
<<: *test_build
args:
IMAGE: quay.io/pypa/manylinux2014_x86_64
image: little-cheesemonger-integration-test-manylinux2010
test-integration-manylinux2014-custom-loader:
<<: *test_integration_manylinux2014
command: /opt/python/cp38-cp38/bin/python -m pytest tests/integration/test_custom_loader.py