From cb94801ff28323633db1c67d8e8b4cec4ecb4729 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marvin=20Ha=CC=88user?= <8659494+mhaeuser@users.noreply.github.com> Date: Mon, 27 Mar 2023 11:37:53 +0200 Subject: [PATCH] CI and Docker: Sync with AUDK --- .github/workflows/build.yml | 27 +++++++++++++++++++++------ Dockerfiles/oc-dev-docs/Dockerfile | 3 +++ Dockerfiles/oc-dev-edk2/Dockerfile | 5 +++++ docker-compose.yaml | 20 ++++++++++++++++++++ 4 files changed, 49 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5dd8ea61..8d71deb3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -69,9 +69,14 @@ jobs: uses: ScribeMD/rootless-docker@0.2.2 - name: ./build_duet.tool - run: docker compose run -e TOOLCHAINS=CLANGPDB build-duet + run: docker compose run build-duet + env: + TOOLCHAINS: CLANGPDB + - name: ./build_oc.tool - run: docker compose run -e TOOLCHAINS=CLANGPDB build-oc + run: docker compose run build-oc + env: + TOOLCHAINS: CLANGPDB - name: Upload to Artifacts uses: actions/upload-artifact@v3 @@ -89,9 +94,14 @@ jobs: uses: ScribeMD/rootless-docker@0.2.2 - name: ./build_duet.tool - run: docker compose run -e TOOLCHAINS=GCC5 build-duet + run: docker compose run build-duet + env: + TOOLCHAINS: GCC5 + - name: ./build_oc.tool - run: docker compose run -e TOOLCHAINS=GCC5 build-oc + run: docker compose run build-oc + env: + TOOLCHAINS: GCC5 - name: Upload to Artifacts uses: actions/upload-artifact@v3 @@ -109,9 +119,14 @@ jobs: uses: ScribeMD/rootless-docker@0.2.2 - name: ./build_duet.tool - run: docker compose run -e TOOLCHAINS=CLANGDWARF build-duet + run: docker compose run build-duet + env: + TOOLCHAINS: CLANGDWARF + - name: ./build_oc.tool - run: docker compose run -e TOOLCHAINS=CLANGDWARF build-oc + run: docker compose run build-oc + env: + TOOLCHAINS: CLANGDWARF - name: Upload to Artifacts uses: actions/upload-artifact@v3 diff --git a/Dockerfiles/oc-dev-docs/Dockerfile b/Dockerfiles/oc-dev-docs/Dockerfile index b4f34411..8a459213 100644 --- a/Dockerfiles/oc-dev-docs/Dockerfile +++ b/Dockerfiles/oc-dev-docs/Dockerfile @@ -2,6 +2,9 @@ ARG OC_DEV_DOCS_BASE=ubuntu:22.04 FROM $OC_DEV_DOCS_BASE ARG DEBIAN_FRONTEND=noninteractive + +SHELL [ "/bin/bash", "-c" ] + RUN apt-get update && \ apt-get install -y make doxygen texlive texlive-latex-extra && \ rm -rf /var/lib/apt/lists/* diff --git a/Dockerfiles/oc-dev-edk2/Dockerfile b/Dockerfiles/oc-dev-edk2/Dockerfile index 00be4551..b2900f22 100644 --- a/Dockerfiles/oc-dev-edk2/Dockerfile +++ b/Dockerfiles/oc-dev-edk2/Dockerfile @@ -2,10 +2,15 @@ FROM ubuntu:22.04 ARG OC_DEV_EDK2_LLVM_VER=15 ARG DEBIAN_FRONTEND=noninteractive + +SHELL [ "/bin/bash", "-c" ] + RUN apt-get update && \ apt-get install -y lsb-release wget software-properties-common gnupg build-essential nasm uuid-dev libssl-dev iasl curl git zip && \ + { { [ "$(dpkg --print-architecture)" != "i386" ] && [ "$(dpkg --print-architecture)" != "amd64" ] ; } || apt-get install -y gcc-multilib ; } && \ { [ "$(dpkg --print-architecture)" == "amd64" ] || { apt-get install -y gcc-x86-64-linux-gnu && export GCC5_BIN=x86_64-linux-gnu- ; } ; } && echo "export GCC5_BIN=$GCC5_BIN" > ~/.edk2_rc.sh && echo ". ~/.edk2_rc.sh" > /etc/profile.d/edk2-gcc5.sh && \ wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && ./llvm.sh ${OC_DEV_EDK2_LLVM_VER} && rm -f llvm.sh && \ apt-get purge --auto-remove -y wget software-properties-common gnupg && \ rm -rf /var/lib/apt/lists/* + ENV PATH="$PATH:/usr/lib/llvm-${OC_DEV_EDK2_LLVM_VER}/bin" diff --git a/docker-compose.yaml b/docker-compose.yaml index 0467f91c..22b38477 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -14,6 +14,16 @@ services: depends_on: - dev-edk2 image: oc-dev-edk2 + environment: + - ARCHS + - ARCHS_EXT + - TARGETS + - RTARGETS + - TOOLCHAINS + - SKIP_TESTS + - SKIP_BUILD + - SKIP_PACKAGE + - BUILD_ARGUMENTS volumes: - .:/com.docker.devenvironments.code working_dir: /com.docker.devenvironments.code @@ -25,6 +35,16 @@ services: depends_on: - dev-edk2 image: oc-dev-edk2 + environment: + - ARCHS + - ARCHS_EXT + - TARGETS + - RTARGETS + - TOOLCHAINS + - SKIP_TESTS + - SKIP_BUILD + - SKIP_PACKAGE + - BUILD_ARGUMENTS volumes: - .:/com.docker.devenvironments.code working_dir: /com.docker.devenvironments.code