OpenCorePkg/docker-compose.yaml
Marvin Häuser ee0f2a53bc
Build: Introduce Docker setup for Dev Containers and CI (#410)
Docker allows to set up a portable development environment in a container. This
can be useful to test Linux toolchains on macOS. Introduce such environments
for EDK II and documentation development.

The current implementation supports both Dev Environments by Docker Desktop and
Dev Containers by Visual Studio Code. To reduce the maintenance burden, use
these environments for the Linux-based GitHub Actions as well. Non-x86 hosts,
including Apple Silicon, are supported via GCC cross-compilation.
2022-12-19 22:10:12 +01:00

46 lines
1.3 KiB
YAML

name: oc
services:
dev-edk2:
build:
context: Dockerfiles/oc-dev-edk2
tags:
- "oc-dev-edk2"
dev-docs:
build:
context: Dockerfiles/oc-dev-docs
tags:
- "oc-dev-docs"
build-oc:
depends_on:
- dev-edk2
image: oc-dev-edk2
volumes:
- .:/com.docker.devenvironments.code
working_dir: /com.docker.devenvironments.code
entrypoint:
- /bin/bash
- -c
- "{ . ~/.edk2_rc.sh && eval \"$$(/usr/bin/curl -Lfs https://raw.githubusercontent.com/acidanthera/ocbuild/master/ci-bootstrap.sh)\" && ./build_oc.tool ; } || exit 1"
build-duet:
depends_on:
- dev-edk2
image: oc-dev-edk2
volumes:
- .:/com.docker.devenvironments.code
working_dir: /com.docker.devenvironments.code
entrypoint:
- /bin/bash
- -c
- "{ . ~/.edk2_rc.sh && eval \"$$(/usr/bin/curl -Lfs https://raw.githubusercontent.com/acidanthera/ocbuild/master/ci-bootstrap.sh)\" && ./build_duet.tool ; } || exit 1"
build-docs:
depends_on:
- dev-docs
image: oc-dev-docs
volumes:
- .:/com.docker.devenvironments.code
working_dir: /com.docker.devenvironments.code
entrypoint:
- /bin/bash
- -c
- "{ doxygen Doxyfile &> log.txt && cd Doxy/latex && make pdf &> log.txt ; } || { tail -200 log.txt ; exit 1 ; }"