mirror of
https://github.com/acidanthera/audk.git
synced 2025-09-23 09:47:44 +02:00
.github/workflows: Adds build workflow
Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
This commit is contained in:
parent
2e8901738b
commit
63360b588f
737
.github/workflows/build.yml
vendored
Normal file
737
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,737 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
env:
|
||||
PROJECT_TYPE: UEFI
|
||||
FORCE_INSTALL: 1
|
||||
WERROR: 1
|
||||
|
||||
jobs:
|
||||
build-macos:
|
||||
name: macOS XCODE5
|
||||
runs-on: macos-latest
|
||||
env:
|
||||
JOB_TYPE: BUILD
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Add Linux Toolchain
|
||||
run: brew tap FiloSottile/homebrew-musl-cross
|
||||
|
||||
- name: Install Linux Toolchain
|
||||
run: brew install musl-cross
|
||||
env:
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
|
||||
- name: Install Dependencies
|
||||
run: brew install openssl mingw-w64
|
||||
env:
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
|
||||
- name: CI Bootstrap
|
||||
run: |
|
||||
src=$(/usr/bin/curl -Lfs https://raw.githubusercontent.com/acidanthera/ocbuild/master/ci-bootstrap.sh) && eval "$src" || exit 1
|
||||
|
||||
- name: Init UDK submodules
|
||||
run: |
|
||||
git submodule update --init --recursive
|
||||
touch UDK.ready
|
||||
|
||||
- name: Prepare efibuild.sh
|
||||
run: |
|
||||
curl -o ./efibuild.sh https://raw.githubusercontent.com/acidanthera/ocbuild/master/efibuild.sh || exit 1
|
||||
chmod +x ./efibuild.sh
|
||||
ln -s `pwd` UDK
|
||||
|
||||
- name: Build Ext4Pkg
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: Ext4Pkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build FatPkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: FatPkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build IntelFsp2Pkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: IntelFsp2Pkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build IntelFsp2WrapperPkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: IntelFsp2WrapperPkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build MdeModulePkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: MdeModulePkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build MdePkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: MdePkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build UefiCpuPkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: UefiCpuPkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build UnitTestFrameworkPkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: UnitTestFrameworkPkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build OvmfPkgIa32
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: OvmfPkgIa32
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
ARCHS: IA32
|
||||
|
||||
- name: Build OvmfPkgX64
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: OvmfPkgX64
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
ARCHS: X64
|
||||
|
||||
- name: Build OvmfPkgIa32X64
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: OvmfPkgIa32X64
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
ARCHS: X64
|
||||
ARCHS_EXT: IA32
|
||||
|
||||
- name: Build UefiPayloadPkg with X64 PEI/DXE
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: UefiPayloadPkg
|
||||
ARCHS: X64
|
||||
|
||||
- name: Build UefiPayloadPkg with Ia32 PEI and X64 DXE
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: UefiPayloadPkg
|
||||
ARCHS: X64
|
||||
ARCHS_EXT: IA32
|
||||
|
||||
- name: Build NetworkPkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: NetworkPkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
build-windows:
|
||||
name: Windows VS2019
|
||||
runs-on: windows-2019
|
||||
env:
|
||||
CC: gcc
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
choco install make nasm zip --no-progress
|
||||
choco install iasl --no-progress --version=2017.11.10
|
||||
|
||||
- name: CI Bootstrap
|
||||
run: |
|
||||
src=$(curl -Lfs https://raw.githubusercontent.com/acidanthera/ocbuild/master/ci-bootstrap.sh) && eval "$src" || exit 1
|
||||
|
||||
- name: Init UDK submodules
|
||||
run: |
|
||||
git submodule update --init --recursive
|
||||
touch UDK.ready
|
||||
|
||||
- name: Prepare efibuild.sh
|
||||
run: |
|
||||
curl -o ./efibuild.sh https://raw.githubusercontent.com/acidanthera/ocbuild/master/efibuild.sh || exit 1
|
||||
chmod +x ./efibuild.sh
|
||||
cmd <<< "mklink /D .\\UDK .\\" > /dev/null
|
||||
|
||||
- name: Build Ext4Pkg
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: Ext4Pkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build FatPkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: FatPkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build IntelFsp2Pkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: IntelFsp2Pkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build IntelFsp2WrapperPkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: IntelFsp2WrapperPkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build MdeModulePkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: MdeModulePkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build MdePkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: MdePkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build UefiCpuPkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: UefiCpuPkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build UnitTestFrameworkPkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: UnitTestFrameworkPkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
- name: Build OvmfPkgIa32
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: OvmfPkgIa32
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
ARCHS: IA32
|
||||
|
||||
- name: Build OvmfPkgX64
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: OvmfPkgX64
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
ARCHS: X64
|
||||
|
||||
- name: Build OvmfPkgIa32X64
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: OvmfPkgIa32X64
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
ARCHS: X64
|
||||
ARCHS_EXT: IA32
|
||||
|
||||
- name: Build UefiPayloadPkg with X64 PEI/DXE
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: UefiPayloadPkg
|
||||
ARCHS: X64
|
||||
|
||||
- name: Build UefiPayloadPkg with Ia32 PEI and X64 DXE
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: UefiPayloadPkg
|
||||
ARCHS: X64
|
||||
ARCHS_EXT: IA32
|
||||
|
||||
- name: Build NetworkPkg
|
||||
if: always()
|
||||
run: ./efibuild.sh
|
||||
env:
|
||||
SELFPKG: NetworkPkg
|
||||
ARCHS: IA32,X64
|
||||
|
||||
build-linux-clangpdb:
|
||||
name: Linux CLANGPDB
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Use Docker in rootless mode.
|
||||
uses: ScribeMD/rootless-docker@0.2.2
|
||||
|
||||
- name: Build Ext4Pkg
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: Ext4Pkg
|
||||
SELFPKG_DIR: Ext4Pkg
|
||||
TOOLCHAINS: CLANGPDB
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build FatPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: FatPkg
|
||||
SELFPKG_DIR: FatPkg
|
||||
TOOLCHAINS: CLANGPDB
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build IntelFsp2Pkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: IntelFsp2Pkg
|
||||
SELFPKG_DIR: IntelFsp2Pkg
|
||||
TOOLCHAINS: CLANGPDB
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build IntelFsp2WrapperPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: IntelFsp2WrapperPkg
|
||||
SELFPKG_DIR: IntelFsp2WrapperPkg
|
||||
TOOLCHAINS: CLANGPDB
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build MdeModulePkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: MdeModulePkg
|
||||
SELFPKG_DIR: MdeModulePkg
|
||||
TOOLCHAINS: CLANGPDB
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build MdePkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: MdePkg
|
||||
SELFPKG_DIR: MdePkg
|
||||
TOOLCHAINS: CLANGPDB
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build UefiCpuPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: UefiCpuPkg
|
||||
SELFPKG_DIR: UefiCpuPkg
|
||||
TOOLCHAINS: CLANGPDB
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build UnitTestFrameworkPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: UnitTestFrameworkPkg
|
||||
SELFPKG_DIR: UnitTestFrameworkPkg
|
||||
TOOLCHAINS: CLANGPDB
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build OvmfPkgIa32
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: OvmfPkgIa32
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
TOOLCHAINS: CLANGPDB
|
||||
ARCHS: IA32
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build OvmfPkgX64
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: OvmfPkgX64
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
TOOLCHAINS: CLANGPDB
|
||||
ARCHS: X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build OvmfPkgIa32X64
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: OvmfPkgIa32X64
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
TOOLCHAINS: CLANGPDB
|
||||
ARCHS: X64
|
||||
ARCHS_EXT: IA32
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build UefiPayloadPkg with X64 PEI/DXE
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: UefiPayloadPkg
|
||||
SELFPKG_DIR: UefiPayloadPkg
|
||||
TOOLCHAINS: CLANGPDB
|
||||
ARCHS: X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build UefiPayloadPkg with Ia32 PEI and X64 DXE
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: UefiPayloadPkg
|
||||
SELFPKG_DIR: UefiPayloadPkg
|
||||
TOOLCHAINS: CLANGPDB
|
||||
ARCHS: X64
|
||||
ARCHS_EXT: IA32
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build NetworkPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: NetworkPkg
|
||||
SELFPKG_DIR: NetworkPkg
|
||||
TOOLCHAINS: CLANGPDB
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
build-linux-clangdwarf:
|
||||
name: Linux CLANGDWARF
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Use Docker in rootless mode.
|
||||
uses: ScribeMD/rootless-docker@0.2.2
|
||||
|
||||
- name: Build Ext4Pkg
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: Ext4Pkg
|
||||
SELFPKG_DIR: Ext4Pkg
|
||||
TOOLCHAINS: CLANGDWARF
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build FatPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: FatPkg
|
||||
SELFPKG_DIR: FatPkg
|
||||
TOOLCHAINS: CLANGDWARF
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build IntelFsp2Pkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: IntelFsp2Pkg
|
||||
SELFPKG_DIR: IntelFsp2Pkg
|
||||
TOOLCHAINS: CLANGDWARF
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build IntelFsp2WrapperPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: IntelFsp2WrapperPkg
|
||||
SELFPKG_DIR: IntelFsp2WrapperPkg
|
||||
TOOLCHAINS: CLANGDWARF
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build MdeModulePkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: MdeModulePkg
|
||||
SELFPKG_DIR: MdeModulePkg
|
||||
TOOLCHAINS: CLANGDWARF
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build MdePkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: MdePkg
|
||||
SELFPKG_DIR: MdePkg
|
||||
TOOLCHAINS: CLANGDWARF
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build UefiCpuPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: UefiCpuPkg
|
||||
SELFPKG_DIR: UefiCpuPkg
|
||||
TOOLCHAINS: CLANGDWARF
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build UnitTestFrameworkPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: UnitTestFrameworkPkg
|
||||
SELFPKG_DIR: UnitTestFrameworkPkg
|
||||
TOOLCHAINS: CLANGDWARF
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build OvmfPkgIa32
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: OvmfPkgIa32
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
TOOLCHAINS: CLANGDWARF
|
||||
ARCHS: IA32
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build OvmfPkgX64
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: OvmfPkgX64
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
TOOLCHAINS: CLANGDWARF
|
||||
ARCHS: X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build OvmfPkgIa32X64
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: OvmfPkgIa32X64
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
TOOLCHAINS: CLANGDWARF
|
||||
ARCHS: X64
|
||||
ARCHS_EXT: IA32
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build UefiPayloadPkg with X64 PEI/DXE
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: UefiPayloadPkg
|
||||
SELFPKG_DIR: UefiPayloadPkg
|
||||
TOOLCHAINS: CLANGDWARF
|
||||
ARCHS: X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build UefiPayloadPkg with Ia32 PEI and X64 DXE
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: UefiPayloadPkg
|
||||
SELFPKG_DIR: UefiPayloadPkg
|
||||
TOOLCHAINS: CLANGDWARF
|
||||
ARCHS: X64
|
||||
ARCHS_EXT: IA32
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build NetworkPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: NetworkPkg
|
||||
SELFPKG_DIR: NetworkPkg
|
||||
TOOLCHAINS: CLANGDWARF
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
build-linux-gcc5:
|
||||
name: Linux GCC5
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Use Docker in rootless mode.
|
||||
uses: ScribeMD/rootless-docker@0.2.2
|
||||
|
||||
- name: Build Ext4Pkg
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: Ext4Pkg
|
||||
SELFPKG_DIR: Ext4Pkg
|
||||
TOOLCHAINS: GCC5
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build FatPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: FatPkg
|
||||
SELFPKG_DIR: FatPkg
|
||||
TOOLCHAINS: GCC5
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build IntelFsp2Pkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: IntelFsp2Pkg
|
||||
SELFPKG_DIR: IntelFsp2Pkg
|
||||
TOOLCHAINS: GCC5
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build IntelFsp2WrapperPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: IntelFsp2WrapperPkg
|
||||
SELFPKG_DIR: IntelFsp2WrapperPkg
|
||||
TOOLCHAINS: GCC5
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build MdeModulePkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: MdeModulePkg
|
||||
SELFPKG_DIR: MdeModulePkg
|
||||
TOOLCHAINS: GCC5
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build MdePkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: MdePkg
|
||||
SELFPKG_DIR: MdePkg
|
||||
TOOLCHAINS: GCC5
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build UefiCpuPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: UefiCpuPkg
|
||||
SELFPKG_DIR: UefiCpuPkg
|
||||
TOOLCHAINS: GCC5
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build UnitTestFrameworkPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: UnitTestFrameworkPkg
|
||||
SELFPKG_DIR: UnitTestFrameworkPkg
|
||||
TOOLCHAINS: GCC5
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build OvmfPkgIa32
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: OvmfPkgIa32
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
TOOLCHAINS: GCC5
|
||||
ARCHS: IA32
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build OvmfPkgX64
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: OvmfPkgX64
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
TOOLCHAINS: GCC5
|
||||
ARCHS: X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build OvmfPkgIa32X64
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: OvmfPkgIa32X64
|
||||
SELFPKG_DIR: OvmfPkg
|
||||
TOOLCHAINS: GCC5
|
||||
ARCHS: X64
|
||||
ARCHS_EXT: IA32
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build UefiPayloadPkg with X64 PEI/DXE
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: UefiPayloadPkg
|
||||
SELFPKG_DIR: UefiPayloadPkg
|
||||
TOOLCHAINS: GCC5
|
||||
ARCHS: X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build UefiPayloadPkg with Ia32 PEI and X64 DXE
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: UefiPayloadPkg
|
||||
SELFPKG_DIR: UefiPayloadPkg
|
||||
TOOLCHAINS: GCC5
|
||||
ARCHS: X64
|
||||
ARCHS_EXT: IA32
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
||||
|
||||
- name: Build NetworkPkg
|
||||
if: always()
|
||||
run: docker compose run build-package
|
||||
env:
|
||||
SELFPKG: NetworkPkg
|
||||
SELFPKG_DIR: NetworkPkg
|
||||
TOOLCHAINS: GCC5
|
||||
ARCHS: IA32,X64
|
||||
TARGETS: RELEASE,DEBUG,NOOPT
|
16
Dockerfiles/oc-dev-edk2/Dockerfile
Executable file
16
Dockerfiles/oc-dev-edk2/Dockerfile
Executable file
@ -0,0 +1,16 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
ARG OC_DEV_EDK2_LLVM_VER=15
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
|
||||
RUN apt-get update
|
||||
RUN [ "$(uname -m)" == "x86_64" ] && apt-get install -y gcc-multilib
|
||||
RUN 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)" == "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"
|
27
docker-compose.yaml
Executable file
27
docker-compose.yaml
Executable file
@ -0,0 +1,27 @@
|
||||
name: audk
|
||||
services:
|
||||
dev-edk2:
|
||||
build:
|
||||
context: Dockerfiles/oc-dev-edk2
|
||||
tags:
|
||||
- "oc-dev-edk2"
|
||||
build-package:
|
||||
depends_on:
|
||||
- dev-edk2
|
||||
image: oc-dev-edk2
|
||||
environment:
|
||||
- ARCHS
|
||||
- ARCHS_EXT
|
||||
- SELFPKG
|
||||
- SELFPKG_DIR
|
||||
- TARGETS
|
||||
- RTARGETS
|
||||
- TOOLCHAINS
|
||||
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)\" && curl -o ./efibuild.sh \"https://raw.githubusercontent.com/acidanthera/ocbuild/build-plain-string-args/efibuild.sh\" && rm -f UDK && ln -s `pwd` UDK && touch UDK.ready && . ./efibuild.sh; } || exit 1"
|
||||
|
Loading…
x
Reference in New Issue
Block a user