diff --git a/.github/workflows/analyze.yml b/.github/workflows/analyze.yml
deleted file mode 100644
index 7dc2c67a4da..00000000000
--- a/.github/workflows/analyze.yml
+++ /dev/null
@@ -1,132 +0,0 @@
-name: Analyze
-
-on:
- push:
- pull_request:
- workflow_dispatch:
- release:
- types: [published]
-
-env:
- PROJECT_TYPE: UEFI
-
-jobs:
- analyze-shell-scripts:
- name: Shell Scripts
- runs-on: macos-latest
- env:
- JOB_TYPE: ANALYZE
- HOMEBREW_NO_INSTALL_CLEANUP: 1
- steps:
- - uses: actions/checkout@v4
-
- # Due to brew adopting PEP 668 https://github.com/orgs/Homebrew/discussions/3404 pip installs should be in a Python venv
- - name: Install Dependencies
- run: |
- brew install shellcheck
- python3 -m venv ~/pyenv
- source ~/pyenv/bin/activate
- python3 -m pip install pyyaml
-
- - name: CI Bootstrap
- run: |
- src=$(/usr/bin/curl -LfsS https://raw.githubusercontent.com/mikebeaton/ocbuild/master/ci-bootstrap.sh) && eval "$src" || exit 1
-
- - name: Run shellcheck
- run: find . \( -name "*.tool" -o -name "*.command" -o -name "*.sh" \) -exec sh -c 'for TargetFile; do shellcheck --severity=info "${TargetFile}" || exit 1; done' sh {} +
-
- - name: Check AppleModels
- working-directory: AppleModels
- run: |
- source ~/pyenv/bin/activate
- python3 ./update_generated.py || exit 1
- if [ "$(git status --porcelain)" != "" ]; then echo "DataBase desync"; exit 1 ; fi
-
- - name: Lint Samples
- run: |
- File='Docs/Sample.plist'
- plutil -lint "${File}" || exit 1
- /usr/libexec/PlistBuddy -c 'Save' "${File}"
- awk ' /$/ {inside=1; printf $0; next}
- /<\/data>$/ {inside=0; print ""; next}
- inside {gsub ("\t", "", $0); printf $0; next}
- {print}' "${File}" > "${File}.tmp" && mv "${File}.tmp" "${File}"
- if [ "$(git diff ${File})" != '' ]; then echo "Not in Xcode style or not in alphabetical order!!"; exit 1 ; fi
-
- File='Docs/SampleCustom.plist'
- plutil -lint "${File}" || exit 1
- /usr/libexec/PlistBuddy -c 'Save' "${File}"
- awk ' /$/ {inside=1; printf $0; next}
- /<\/data>$/ {inside=0; print ""; next}
- inside {gsub ("\t", "", $0); printf $0; next}
- {print}' "${File}" > "${File}.tmp" && mv "${File}.tmp" "${File}"
- if [ "$(git diff ${File})" != '' ]; then echo "Not in Xcode style or not in alphabetical order!!"; exit 1 ; fi
-
- analyze-python-scripts:
- name: Python Scripts
- runs-on: ubuntu-24.04
- env:
- JOB_TYPE: ANALYZE
- steps:
- - uses: actions/checkout@v4
-
- - name: Install Dependencies
- run: |
- python3 -m pip install prospector
-
- - name: Run prospector
- run: |
- /usr/bin/curl -L https://raw.githubusercontent.com/mikebeaton/ocbuild/master/prospector/profile.yml -o profile.yml || exit 1
- python3 -m prospector . -P ./profile.yml | tee prospector_result.txt || exit 1
-
- - name: Upload prospector result to Artifacts
- uses: actions/upload-artifact@v4
- if: failure()
- with:
- name: Prospector Artifacts
- path: ./prospector_result.txt
-
- analyze-docs-linux:
- name: Documentation
- runs-on: ubuntu-24.04
- if: github.repository_owner == 'acidanthera' && github.ref_name == 'master'
- steps:
- - uses: actions/checkout@v4
-
- - name: Install Dependencies
- run: |
- sudo apt-get update
- sudo apt-get install texlive latexdiff
-
- - name: Check documentation
- run: ./Docs/BuildDocs.tool --check-docs
-
- analyze-coverity:
- name: Coverity
- runs-on: ubuntu-24.04
- env:
- JOB_TYPE: COVERITY
- TOOLCHAINS: GCC
- if: github.repository_owner == 'acidanthera' && github.event_name != 'pull_request'
- steps:
- - uses: actions/checkout@v4
-
- - name: Install Dependencies
- run: |
- sudo apt-get update
- sudo apt-get install curl nasm uuid-dev libssl-dev iasl
-
- - name: CI Bootstrap
- run: |
- src=$(/usr/bin/curl -LfsS https://raw.githubusercontent.com/mikebeaton/ocbuild/master/ci-bootstrap.sh) && eval "$src" || exit 1
-
- - run: ./build_oc.tool --skip-build --skip-package
-
- - name: Run Coverity
- working-directory: UDK
- run: |
- src=$(/usr/bin/curl -LfsS https://raw.githubusercontent.com/mikebeaton/ocbuild/master/coverity/covstrap-linux.sh) && eval "$src" || exit 1
- env:
- COVERITY_SCAN_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
- COVERITY_SCAN_EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}
- COVERITY_BUILD_COMMAND: ../build_oc.tool --skip-tests --skip-package RELEASE
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 277f13b0825..49b649b1af5 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,181 +1,45 @@
-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
- HOMEBREW_NO_INSTALL_CLEANUP: 1
- HOMEBREW_NO_AUTO_UPDATE: 1
- steps:
- - uses: actions/checkout@v4
-
- - name: Install Linux Toolchain
- run: |
- brew tap FiloSottile/homebrew-musl-cross
- brew install musl-cross
-
- - name: Install Dependencies
- run: brew install openssl mingw-w64
-
- - name: CI Bootstrap
- run: |
- src=$(/usr/bin/curl -LfsS https://raw.githubusercontent.com/mikebeaton/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@v4
- with:
- name: macOS XCODE5 Artifacts
- path: Binaries/*.zip
- - name: Upload to Release
- if: github.event_name == 'release'
- uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # v2.9.0
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
- file: Binaries/*.zip
- tag: ${{ github.ref }}
- file_glob: true
-
- build-linux-clangpdb:
- name: Linux CLANGPDB
- runs-on: ubuntu-24.04
- env:
- TOOLCHAINS: CLANGPDB
- steps:
- - uses: actions/checkout@v4
-
- - name: Apply Docker AppArmor settings
- run: |
- src=$(/usr/bin/curl -LfsS https://raw.githubusercontent.com/mikebeaton/ocbuild/master/docker-apparmor.sh) && eval "$src" || exit 1
-
- - name: Use Docker in rootless mode.
- uses: ScribeMD/rootless-docker@0.2.2
-
- - name: ./build_duet.tool
- run: docker compose run build-duet
-
- - name: ./build_oc.tool
- run: docker compose run build-oc
-
- - name: Upload to Artifacts
- uses: actions/upload-artifact@v4
- with:
- name: Linux CLANGPDB Artifacts
- path: Binaries/*.zip
-
- build-linux-gcc5:
- name: Linux GCC
- runs-on: ubuntu-24.04
- env:
- TOOLCHAINS: GCC
- steps:
- - uses: actions/checkout@v4
-
- - name: Apply Docker AppArmor settings
- run: |
- src=$(/usr/bin/curl -LfsS https://raw.githubusercontent.com/mikebeaton/ocbuild/master/docker-apparmor.sh) && eval "$src" || exit 1
-
- - name: Use Docker in rootless mode.
- uses: ScribeMD/rootless-docker@0.2.2
-
- - name: ./build_duet.tool
- run: docker compose run build-duet
-
- - name: ./build_oc.tool
- run: docker compose run build-oc
-
- - name: Upload to Artifacts
- uses: actions/upload-artifact@v4
- with:
- name: Linux GCC Artifacts
- path: Binaries/*.zip
-
- build-linux-clangdwarf:
- name: Linux CLANGDWARF
- runs-on: ubuntu-24.04
- env:
- TOOLCHAINS: CLANGDWARF
- steps:
- - uses: actions/checkout@v4
-
- - name: Apply Docker AppArmor settings
- run: |
- src=$(/usr/bin/curl -LfsS https://raw.githubusercontent.com/mikebeaton/ocbuild/master/docker-apparmor.sh) && eval "$src" || exit 1
-
- - name: Use Docker in rootless mode.
- uses: ScribeMD/rootless-docker@0.2.2
-
- - name: ./build_duet.tool
- run: docker compose run build-duet
-
- - name: ./build_oc.tool
- run: docker compose run build-oc
-
- - name: Upload to Artifacts
- uses: actions/upload-artifact@v4
- with:
- name: Linux CLANGDWARF Artifacts
- path: Binaries/*.zip
-
- build-linux-docs:
- name: Linux Docs
- runs-on: ubuntu-24.04
- steps:
- - uses: actions/checkout@v4
-
- - name: Apply Docker AppArmor settings
- run: |
- src=$(/usr/bin/curl -LfsS https://raw.githubusercontent.com/mikebeaton/ocbuild/master/docker-apparmor.sh) && eval "$src" || exit 1
-
- - name: Use Docker in rootless mode.
- uses: ScribeMD/rootless-docker@0.2.2
-
- - name: Docs
- run: docker compose run build-docs
-
- build-windows:
- name: Windows VS2019
- runs-on: windows-latest
- env:
- HAS_OPENSSL_BUILD: 0
- CC: gcc
- defaults:
- run:
- shell: bash
- steps:
- - uses: actions/checkout@v4
-
- - name: Install Dependencies
- run: |
- choco install make nasm zip iasl --no-progress
-
- - name: CI Bootstrap
- run: |
- src=$(curl -LfsS https://raw.githubusercontent.com/mikebeaton/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@v4
- with:
- name: Windows Artifacts
- path: Binaries/*.zip
+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-windows:
+ name: Windows VS2019
+ runs-on: windows-latest
+ env:
+ HAS_OPENSSL_BUILD: 0
+ CC: gcc
+ defaults:
+ run:
+ shell: bash
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Install Dependencies
+ run: |
+ choco install make nasm zip iasl --no-progress
+
+ - name: CI Bootstrap
+ run: |
+ src=$(curl -LfsS https://raw.githubusercontent.com/mikebeaton/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@v4
+ with:
+ name: Windows Artifacts
+ path: Binaries/*.zip
diff --git a/.github/workflows/uncrustify.yml b/.github/workflows/uncrustify.yml
deleted file mode 100644
index 7ab86616df7..00000000000
--- a/.github/workflows/uncrustify.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-name: Uncrustify
-
-on:
- push:
- pull_request:
- workflow_dispatch:
- release:
- types: [published]
-
-env:
- PROJECT_TYPE: UEFI
-
-jobs:
- analyze-uncrustify:
- name: Check Codestyle
- runs-on: ubuntu-24.04
- steps:
- - uses: actions/checkout@v4
-
- - name: Install Dependencies
- run: |
- sudo apt-get update
- sudo apt-get install curl git
- sudo python3 -m pip install gitpython requests pyyaml
-
- - name: CI Bootstrap
- run: |
- src=$(/usr/bin/curl -LfsS https://raw.githubusercontent.com/mikebeaton/ocbuild/master/ci-bootstrap.sh) && eval "$src" || exit 1
-
- - name: Run Uncrustify
- run: |
- python3 -c "$(/usr/bin/curl https://raw.githubusercontent.com/mikebeaton/ocbuild/master/uncstrap/uncstrap.py)" ./Uncrustify.yml || exit 1
-
- - name: Upload to Artifacts
- uses: actions/upload-artifact@v4
- if: failure()
- with:
- name: Uncrustify Artifacts
- path: ./uncrustify.diff