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