diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b9cef20..4fd68e8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ permissions: contents: write env: - version: m126-6fd3120c1b-1 + version: m132-9b3c42e2f9-1 jobs: macos: @@ -41,7 +41,7 @@ jobs: - run: python3 script/checkout.py --version ${{ env.version }} - run: python3 script/build.py --build-type ${{ matrix.build_type }} --target ${{ matrix.target }} --machine ${{ matrix.machine }} - run: python3 script/archive.py --version ${{ env.version }} --build-type ${{ matrix.build_type }} --target ${{ matrix.target }} --machine ${{ matrix.machine }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} with: name: Skia-${{ env.version }}-${{ matrix.target }}-${{ matrix.build_type }}-${{ matrix.machine }}.zip @@ -68,7 +68,7 @@ jobs: - run: PATH=/usr/lib/binutils-2.26/bin:$PATH python3 script/checkout.py --version ${{ env.version }} - run: PATH=/usr/lib/binutils-2.26/bin:$PATH python3 script/build.py --build-type ${{ matrix.build_type }} - run: PATH=/usr/lib/binutils-2.26/bin:$PATH python3 script/archive.py --version ${{ env.version }} --build-type ${{ matrix.build_type }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} with: name: Skia-${{ env.version }}-linux-${{ matrix.build_type }}-x64.zip @@ -95,7 +95,7 @@ jobs: - run: python3 script/checkout.py --version ${{ env.version }} - run: python3 script/build.py --target wasm --machine wasm --build-type ${{ matrix.build_type }} - run: python3 script/archive.py --version ${{ env.version }} --target wasm --machine wasm --build-type ${{ matrix.build_type }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} with: name: Skia-${{ env.version }}-wasm-${{ matrix.build_type }}-wasm.zip @@ -127,7 +127,7 @@ jobs: ndk-version: r25c - run: python3 script/build.py --target android --build-type ${{ matrix.build_type }} --machine ${{ matrix.machine }} --ndk ${{ steps.setup-ndk.outputs.ndk-path }} - run: python3 script/archive.py --version ${{ env.version }} --target android --build-type ${{ matrix.build_type }} --machine ${{ matrix.machine }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} with: name: Skia-${{ env.version }}-android-${{ matrix.build_type }}-${{ matrix.machine }}.zip @@ -138,7 +138,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} linux-arm64: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 strategy: matrix: build_type: [ Debug, Release ] @@ -151,7 +151,7 @@ jobs: if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} with: arch: aarch64 - distro: ubuntu20.04 + distro: ubuntu22.04 githubToken: ${{ secrets.GITHUB_TOKEN }} # Mount checkout directory as /checkout in the container dockerRunArgs: | @@ -180,7 +180,7 @@ jobs: if: ${{ github.event.inputs.skip_release == 'true' || github.ref != 'refs/heads/main' }} with: arch: aarch64 - distro: ubuntu20.04 + distro: ubuntu22.04 githubToken: ${{ secrets.GITHUB_TOKEN }} # Mount checkout directory as /checkout in the container dockerRunArgs: | @@ -200,7 +200,7 @@ jobs: python3 script/checkout.py --version ${build_version} python3 script/build.py --build-type ${build_type} --build-type ${build_type} echo "Verified build" - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} with: name: Skia-${{ env.version }}-linux-${{ matrix.build_type }}-arm64.zip @@ -238,7 +238,7 @@ jobs: run: python3 script/build.py --build-type ${{ matrix.build_type }} --target windows --machine ${{ matrix.machine }} - shell: bash run: python3 script/archive.py --version ${{ env.version }} --build-type ${{ matrix.build_type }} --target windows --machine ${{ matrix.machine }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} with: name: Skia-${{ env.version }}-windows-${{ matrix.build_type }}-${{ matrix.machine }}.zip diff --git a/script/archive.py b/script/archive.py index 54809d3..fb8037b 100755 --- a/script/archive.py +++ b/script/archive.py @@ -46,7 +46,7 @@ def main(): 'modules/skunicode/src/*.h', 'src/base/*.h', 'src/core/*.h', - 'src/gpu/gl/*.h', + 'src/gpu/ganesh/gl/*.h', 'src/utils/*.h', 'third_party/externals/angle2/LICENSE', 'third_party/externals/angle2/include/**/*', diff --git a/script/checkout.py b/script/checkout.py index 82102dc..f0e8357 100755 --- a/script/checkout.py +++ b/script/checkout.py @@ -2,26 +2,11 @@ import common, os, re, subprocess, sys -def main(): - os.chdir(os.path.join(os.path.dirname(__file__), os.pardir)) - - parser = common.create_parser(True) - args = parser.parse_args() - - # Clone depot_tools - if not os.path.exists("depot_tools"): - subprocess.check_call(["git", "clone", "--config", "core.autocrlf=input", "https://chromium.googlesource.com/chromium/tools/depot_tools.git", "depot_tools"]) - +def checkout_skia(commit): # Clone Skia - match = re.match('(m\\d+)(?:-([0-9a-f]+)(?:-([1-9][0-9]*))?)?', args.version) - if not match: - raise Exception('Expected --version "m-", got "' + args.version + '"') - - commit = match.group(2) - iteration = match.group(3) if os.path.exists("skia"): - print("> Fetching") + print("> Fetching {}".format(commit)) os.chdir("skia") subprocess.check_call(["git", "reset", "--hard"]) subprocess.check_call(["git", "clean", "-d", "-f"]) @@ -36,6 +21,23 @@ def main(): print("> Checking out", commit) subprocess.check_call(["git", "-c", "advice.detachedHead=false", "checkout", commit]) +def main(): + os.chdir(os.path.join(os.path.dirname(__file__), os.pardir)) + + parser = common.create_parser(True) + args = parser.parse_args() + + # Clone depot_tools + if not os.path.exists("depot_tools"): + subprocess.check_call(["git", "clone", "--config", "core.autocrlf=input", "https://chromium.googlesource.com/chromium/tools/depot_tools.git", "depot_tools"]) + + match = re.match('(m\\d+)(?:-([0-9a-f]+)(?:-([1-9][0-9]*))?)?', args.version) + if not match: + raise Exception('Expected --version "m-", got "' + args.version + '"') + + commit = match.group(2) + checkout_skia(commit) + # git deps print("> Running tools/git-sync-deps") if 'windows' == common.host(): diff --git a/script/prepare_linux_arm.sh b/script/prepare_linux_arm.sh index 0e9cc60..d7f91c9 100755 --- a/script/prepare_linux_arm.sh +++ b/script/prepare_linux_arm.sh @@ -6,5 +6,6 @@ export DEBIAN_FRONTEND=noninteractive apt-get update -y apt-get install binutils build-essential -y apt-get install software-properties-common -y -apt-get install python3 git fontconfig libfontconfig1-dev libglu1-mesa-dev curl wget -y +add-apt-repository ppa:git-core/ppa -y +apt-get install python3 git fontconfig libfontconfig1-dev libgl-dev curl wget -y apt-get install clang -y