-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdocker-compose.yml
117 lines (104 loc) · 3.01 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
###
# Some repeated defaults:
# tmpfs and /sys/fs/cgroup volumes are needed for systemd to work properly
# /mnt/build is where the git repositories will be shared with the host
###
x-build-args:
&default-build-args
OSimage: "$OSimage"
REPO: "$REPO"
useproxy: "${useproxy:-without}"
proxy: "${proxy:-}"
x-tmpfs:
&default-tmpfs
- /run
- /run/lock
- /tmp
x-volumes:
&default-volumes
- ..:/mnt/build
###
# The first service is only to build the required images
# and to build the source package
###
services:
deb_build:
container_name: source-build
platform: "linux/amd64"
image: docker.io/ntw0n/psbuild.$REPO.$OSimage@sha256:a12831c7b567b8b86ed6a235052fd18ffb6dfbb185a018cee64f4c1040028a66
privileged: true
tmpfs: *default-tmpfs
volumes: *default-volumes
###
# The binary build containers
###
amd64_build:
container_name: amd64-build
platform: "linux/amd64"
image: docker.io/ntw0n/psbuild.$REPO.$OSimage@sha256:a12831c7b567b8b86ed6a235052fd18ffb6dfbb185a018cee64f4c1040028a66
privileged: true
tmpfs: *default-tmpfs
volumes: *default-volumes
arm64_build:
container_name: arm64-build
platform: "linux/arm64"
image: docker.io/ntw0n/psbuild.$REPO.$OSimage@sha256:9a91a8602335decf8575d5388de7d5b63a768cb4ee56225b337e042f01fec355
privileged: true
tmpfs: *default-tmpfs
volumes: *default-volumes
armv7_build:
container_name: armv7-build
platform: "linux/arm/v7"
image: docker.io/ntw0n/psbuild.$REPO.$OSimage@sha256:75d3bebd5358f13fb31a553c47f7d5490fa429bf9fc1764321294f2f5459443e
privileged: true
tmpfs: *default-tmpfs
volumes: *default-volumes
ppc64le_build:
container_name: ppc64le-build
platform: "linux/ppc64le"
image: docker.io/ntw0n/psbuild.$REPO.$OSimage@sha256:133829089b11cad97a83047f486f9599ed2e1f32e1ac26bae54eb19ad2702495
privileged: true
tmpfs: *default-tmpfs
volumes: *default-volumes
###
# The testing containers
###
deb_test:
container_name: install-test
build:
context: .
target: test-image
args: *default-build-args
platform: "linux/amd64"
image: docker.io/ntw0n/install.$REPO.$OSimage
privileged: true
tmpfs: *default-tmpfs
volumes: *default-volumes
amd64_test:
container_name: amd64-test
platform: "linux/amd64"
image: docker.io/ntw0n/install.$REPO.$OSimage
privileged: true
tmpfs: *default-tmpfs
volumes: *default-volumes
arm64_test:
container_name: arm64-test
platform: "linux/arm64"
image: docker.io/ntw0n/install.$REPO.$OSimage
privileged: true
tmpfs: *default-tmpfs
volumes: *default-volumes
armv7_test:
container_name: armv7-test
platform: "linux/arm/v7"
image: docker.io/ntw0n/install.$REPO.$OSimage
privileged: true
tmpfs: *default-tmpfs
volumes: *default-volumes
ppc64le_test:
container_name: ppc64le-test
platform: "linux/ppc64le"
image: docker.io/ntw0n/install.$REPO.$OSimage
privileged: true
tmpfs: *default-tmpfs
volumes: *default-volumes