This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Skia Artifacts | |
| on: | |
| push: | |
| branches: | |
| - '**' | |
| pull_request: | |
| branches: | |
| - '**' | |
| jobs: | |
| windows: | |
| name: Windows | |
| runs-on: windows-latest | |
| env: | |
| DEPOT_TOOLS_WIN_TOOLCHAIN: "0" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| fetch-depth: 0 | |
| persist-credentials: true | |
| clean: false | |
| - name: Sync Skia dependencies | |
| shell: pwsh | |
| run: | | |
| $env:PATH = "${{ github.workspace }}\depot_tools;" + $env:PATH | |
| Set-Location depot_tools | |
| ./update_depot_tools.bat | |
| Set-Location ../skia | |
| ../depot_tools/python-bin/python3.bat tools/git-sync-deps | |
| - name: Build | |
| shell: pwsh | |
| run: | | |
| depot_tools/python-bin/python3.bat scripts/build.py windows all | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: windows-all | |
| path: artifacts/* | |
| linux: | |
| name: Linux (all) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| fetch-depth: 0 | |
| persist-credentials: true | |
| clean: false | |
| - name: Sync Skia dependencies | |
| run: | | |
| export PATH="${GITHUB_WORKSPACE}/depot_tools:${PATH}" | |
| cd depot_tools | |
| ./update_depot_tools | |
| cd ../skia | |
| python3 tools/git-sync-deps | |
| - name: Extract headers | |
| run: python3 scripts/build.py headers | |
| - name: Build (all arches) | |
| env: | |
| CLANG_BUILDER_IMAGE: ghcr.io/avaloniaui/clang-cross-builder:latest | |
| run: scripts/build-linux.sh all | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: linux-all | |
| path: artifacts/* | |
| macos: | |
| name: macOS | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| fetch-depth: 0 | |
| persist-credentials: true | |
| clean: false | |
| - name: Sync Skia dependencies | |
| run: | | |
| export PATH="${GITHUB_WORKSPACE}/depot_tools:${PATH}" | |
| cd depot_tools | |
| ./update_depot_tools | |
| cd ../skia | |
| python3 tools/git-sync-deps | |
| - name: Build | |
| run: python3 scripts/build.py macos all | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: macos-all | |
| path: artifacts/* | |
| create-release: | |
| name: Create GitHub Release | |
| runs-on: ubuntu-latest | |
| needs: [linux, windows, macos] | |
| if: github.event_name == 'push' | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: artifacts | |
| - name: Generate release id | |
| run: /scripts/genrelease.sh | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| tag_name: ${{ env.RELEASE_ID }} | |
| name: ${{ env.RELEASE_ID }} | |
| draft: false | |
| body_path: ./release.txt | |
| prerelease: false | |
| files: release/* |