156 lines
4.1 KiB
YAML

name: Build
on:
push:
pull_request:
workflow_dispatch:
release:
types: [published]
env:
PROJECT_TYPE: UEFI
FORCE_INSTALL: 1
HAS_OPENSSL_BUILD: 1
HAS_OPENSSL_W32BUILD: 0
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
- run: ./build_duet.tool
- run: ./build_oc.tool
- name: Upload to Artifacts
uses: actions/upload-artifact@v3
with:
name: macOS XCODE5 Artifacts
path: Binaries/*.zip
- name: Upload to Release
if: github.event_name == 'release'
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: Binaries/*.zip
tag: ${{ github.ref }}
file_glob: true
build-linux-clangpdb-gcc5:
name: Linux CLANGPDB/GCC5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install nasm uuid-dev libssl-dev iasl
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 13
echo "/usr/lib/llvm-13/bin" >> $GITHUB_PATH
- name: CI Bootstrap
run: |
src=$(/usr/bin/curl -Lfs https://raw.githubusercontent.com/acidanthera/ocbuild/master/ci-bootstrap.sh) && eval "$src" || exit 1
- run: ./build_duet.tool
- run: ./build_oc.tool
- name: Upload to Artifacts
uses: actions/upload-artifact@v3
with:
name: Linux CLANGPDB-GCC5 Artifacts
path: Binaries/*.zip
build-linux-clangdwarf:
name: Linux CLANGDWARF
runs-on: ubuntu-latest
env:
TOOLCHAINS: CLANGDWARF
steps:
- uses: actions/checkout@v3
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install nasm uuid-dev iasl doxygen texlive texlive-latex-extra
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 13
echo "/usr/lib/llvm-13/bin" >> $GITHUB_PATH
- name: CI Bootstrap
run: |
src=$(/usr/bin/curl -Lfs https://raw.githubusercontent.com/acidanthera/ocbuild/master/ci-bootstrap.sh) && eval "$src" || exit 1
- run: ./build_duet.tool
- run: ./build_oc.tool
- name: Docs
run: |
abort() { tail -200 log.txt ; exit 1 ; }
doxygen Doxyfile &> log.txt || abort
cd Doxy/latex || abort
make pdf &> log.txt || abort
- name: Upload to Artifacts
uses: actions/upload-artifact@v3
with:
name: Linux CLANGDWARF Artifacts
path: Binaries/*.zip
build-windows:
name: Windows VS2019
runs-on: windows-2019
env:
HAS_OPENSSL_BUILD: 0
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
- run: ./build_duet.tool
- run: ./build_oc.tool
- name: Upload to Artifacts
uses: actions/upload-artifact@v3
with:
name: Windows Artifacts
path: Binaries/*.zip