diff --git a/.github/workflows/build-all.yaml b/.github/workflows/build-all.yaml index b1306c8f..5351cd00 100644 --- a/.github/workflows/build-all.yaml +++ b/.github/workflows/build-all.yaml @@ -17,8 +17,14 @@ jobs: build-dawn-win: uses: ./.github/workflows/build-dawn-win.yaml + build-angle-mac: + uses: ./.github/workflows/build-angle-mac.yaml + + build-angle-win: + uses: ./.github/workflows/build-angle-win.yaml + build-win: - needs: [build-dawn-win] + needs: [build-dawn-win, build-angle-win] runs-on: windows-2022 steps: - uses: actions/setup-python@v4 @@ -36,6 +42,11 @@ jobs: run: | xcopy artifact\dawn-windows-x64 build\dawn.out\ /s /y + - name: Copy Angle + shell: cmd + run: | + xcopy artifact\angle-windows-x64 build\angle.out\ /s /y + - name: Build shell: cmd run: | @@ -58,7 +69,7 @@ jobs: path: orca-windows.tar.gz build-macos-x64: - needs: [build-dawn-mac] + needs: [build-dawn-mac, build-angle-mac] runs-on: macos-13 steps: - uses: actions/setup-python@v4 @@ -76,6 +87,11 @@ jobs: mkdir -p build cp -r artifact/dawn-mac-x64 build/dawn.out + - name: Copy Angle + run: | + mkdir -p build + cp -r artifact/angle-mac-x64 build/angle.out + - name: Build run: | ./orcadev build --release --version ${{github.ref_name}} @@ -95,7 +111,7 @@ jobs: path: orca-mac-x64.tar.gz build-macos-arm64: - needs: [build-dawn-mac] + needs: [build-dawn-mac, build-angle-mac] runs-on: macos-14 steps: - uses: actions/setup-python@v4 @@ -113,6 +129,11 @@ jobs: mkdir -p build cp -r artifact/dawn-mac-arm64 build/dawn.out + - name: Copy Angle + run: | + mkdir -p build + cp -r artifact/angle-mac-arm64 build/angle.out + - name: Build run: | ./orcadev build --release --version ${{github.ref_name}} diff --git a/.github/workflows/build-angle-mac.yaml b/.github/workflows/build-angle-mac.yaml new file mode 100644 index 00000000..54377dd1 --- /dev/null +++ b/.github/workflows/build-angle-mac.yaml @@ -0,0 +1,42 @@ +name: build-angle-mac + +on: + workflow_dispatch: + workflow_call: + +jobs: + build-mac: + strategy: + matrix: + os: [macos-13, macos-14] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v4 + with: + python-version: '3.10' + + - name: Angle version + id: angle-version + run: | + echo "ANGLE_COMMIT=$(cat deps/angle-commit.txt)" >> $GITHUB_OUTPUT + ARCH=${{ runner.arch }} + echo "LOWERCASE_ARCH=$(echo $ARCH | tr '[:upper:]' '[:lower:]')" >> $GITHUB_OUTPUT + + - name: Cache + id: cache-angle + uses: actions/cache@v3 + with: + path: build/angle.out + key: angle-${{ runner.os }}-${{ runner.arch }}-${{ steps.angle-version.outputs.ANGLE_COMMIT }} + + - name: Build Angle + if: steps.cache-angle.outputs.cache-hit != 'true' + run: | + ./orcadev build-angle --release + + - uses: actions/upload-artifact@v4 + with: + name: angle-mac-${{steps.angle-version.outputs.LOWERCASE_ARCH}} + path: build/angle.out diff --git a/.github/workflows/build-angle-win.yaml b/.github/workflows/build-angle-win.yaml new file mode 100644 index 00000000..da4f69b9 --- /dev/null +++ b/.github/workflows/build-angle-win.yaml @@ -0,0 +1,41 @@ +name: build-angle-win + +on: + workflow_dispatch: + workflow_call: + +jobs: + build-win: + runs-on: windows-2022 + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v4 + with: + python-version: '3.10' + + - name: Angle version + id: angle-version + shell: cmd + run: | + @chcp 65001>nul + set /p ANGLE_COMMIT=> %GITHUB_OUTPUT% + + - name: Cache + id: cache-angle + uses: actions/cache@v3 + with: + path: build/angle.out + key: angle-${{ runner.os }}-${{ runner.arch }}-${{ steps.angle-version.outputs.ANGLE_COMMIT }} + + - name: Build Angle + if: steps.cache-angle.outputs.cache-hit != 'true' + shell: cmd + run: | + orcadev build-angle --release + + - uses: actions/upload-artifact@v4 + with: + name: angle-windows-x64 + path: build/angle.out