-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yaml
47 lines (43 loc) · 1.39 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
#
# Platform independent Docker compose configuration that syncs out a git branch
# (master is default) and/or a tag, and produced distribution installers for it.
# This is equivalent to ./gradlew installDist, where all platform archives,
# including Windows exe files, are built in the container.
#
# The build volume persists, and is rebuilt whenever it is detected that we
# want to build a branch at a change that doesn't correspond to the last build
# state. The cache volume also persists, so significant info is reused.
#
version: '3.8'
#
# Set up secrets from the default locations, so that we can do things like
# publications, artifact signing or other Gradle operations, where sensitive
# information is stored outside the repository.
#
secrets:
gradle_properties:
file: ~/.gradle/gradle.properties
volumes:
cache:
source:
services:
distros:
platform: 'linux/amd64'
image: ghcr.io/xtclang/xdk-distros:latest
build:
context: .
dockerfile: Dockerfile.xdk
args:
DOCKER_BUILDKIT: 1
GITHUB_BRANCH: ${GITHUB_BRANCH}
env_file:
- .env
environment:
GRADLE_LOG_LEVEL_FLAG: --info
GITHUB_BRANCH: ${GITHUB_BRANCH:-master}
GRADLE_TASK_NAME: ${GRADLE_TASK_NAME:-installDist}
volumes:
- cache:/home/gradle/.gradle
- source:/home/gradle/xvm
- ./build:/home/gradle/build
entrypoint: ['entrypoint-gradlew.sh']