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: 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_duet.tool run: docker compose run build-duet env: TOOLCHAINS: CLANGPDB - name: ./build_oc.tool run: docker compose run build-oc env: TOOLCHAINS: CLANGPDB - name: Upload to Artifacts uses: actions/upload-artifact@v3 with: name: Linux CLANGPDB Artifacts path: Binaries/*.zip 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_duet.tool run: docker compose run build-duet env: TOOLCHAINS: GCC5 - name: ./build_oc.tool run: docker compose run build-oc env: TOOLCHAINS: GCC5 - name: Upload to Artifacts uses: actions/upload-artifact@v3 with: name: Linux GCC5 Artifacts path: Binaries/*.zip 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_duet.tool run: docker compose run build-duet env: TOOLCHAINS: CLANGDWARF - name: ./build_oc.tool run: docker compose run build-oc env: TOOLCHAINS: CLANGDWARF - name: Upload to Artifacts uses: actions/upload-artifact@v3 with: name: Linux CLANGDWARF Artifacts path: Binaries/*.zip build-linux-docs: name: Linux Docs runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - 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-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