Merge remote-tracking branch 'refs/remotes/upstream/main' #5
This file contains 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
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
workflow_dispatch: | |
inputs: | |
skip_release: | |
description: 'Skip release related steps? (true/false)' | |
required: true | |
default: 'false' | |
env: | |
version: m126-1d69d9b-1 | |
jobs: | |
macos: | |
if: ${{ false }} # Disable macOS build for now | |
runs-on: ${{ fromJson('{"macos":"macos-13","ios":"macos-13","iosSim":"macos-13","tvos":"macos-13","tvosSim":"macos-13"}')[matrix.target] }} | |
strategy: | |
matrix: | |
target: ["macos", "ios", "iosSim", "tvos", "tvosSim"] | |
machine: ["x64", "arm64"] | |
build_type: [Release, Debug] | |
exclude: | |
- target: tvos | |
machine: x64 | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v2 | |
- run: python3 script/check_release.py --version ${{ env.version }} --target ${{ matrix.target }} --build-type ${{ matrix.build_type }} --machine ${{ matrix.machine }} | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- 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@v2 | |
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 | |
path: '*.zip' | |
- run: python3 script/release.py --version ${{ env.version }} --build-type ${{ matrix.build_type }} --target ${{ matrix.target }} --machine ${{ matrix.machine }} | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
linux: | |
runs-on: ubuntu-latest | |
container: ubuntu:20.04 | |
strategy: | |
matrix: | |
build_type: [Debug, Release] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v2 | |
- run: ./script/prepare_linux.sh | |
- run: python3 script/check_release.py --version ${{ env.version }} --build-type ${{ matrix.build_type }} | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- 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@v2 | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
with: | |
name: Skia-${{ env.version }}-linux-${{ matrix.build_type }}-x64.zip | |
path: '*.zip' | |
- run: python3 script/release.py --version ${{ env.version }} --build-type ${{ matrix.build_type }} | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
linux-wasm: | |
runs-on: ubuntu-latest | |
container: ubuntu:20.04 | |
strategy: | |
matrix: | |
build_type: [ Debug, Release ] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v2 | |
- run: ./script/prepare_linux_wasm.sh | |
- run: python3 script/check_release.py --version ${{ env.version }} --target wasm --build-type ${{ matrix.build_type }} --machine wasm | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- 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@v2 | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
with: | |
name: Skia-${{ env.version }}-wasm-${{ matrix.build_type }}-wasm.zip | |
path: '*.zip' | |
- run: python3 script/release.py --version ${{ env.version }} --target wasm --machine wasm --build-type ${{ matrix.build_type }} | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
linux-android: | |
runs-on: ubuntu-latest | |
container: ubuntu:20.04 | |
strategy: | |
matrix: | |
build_type: [ Debug, Release ] | |
machine: ["x64", "arm64"] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v2 | |
- run: ./script/prepare_linux.sh | |
- run: python3 script/check_release.py --version ${{ env.version }} --target android --build-type ${{ matrix.build_type }} --machine ${{ matrix.machine }} | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- run: python3 script/checkout.py --version ${{ env.version }} | |
- uses: nttld/setup-ndk@v1 | |
id: setup-ndk | |
with: | |
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@v2 | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
with: | |
name: Skia-${{ env.version }}-android-${{ matrix.build_type }}-${{ matrix.machine }}.zip | |
path: '*.zip' | |
- run: python3 script/release.py --version ${{ env.version }} --target android --build-type ${{ matrix.build_type }} --machine ${{ matrix.machine }} | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
linux-arm64: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
build_type: [ Debug, Release ] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: uraimo/[email protected] | |
name: Assemble | |
id: assemble | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
with: | |
arch: aarch64 | |
distro: ubuntu20.04 | |
githubToken: ${{ secrets.GITHUB_TOKEN }} | |
# Mount checkout directory as /checkout in the container | |
dockerRunArgs: | | |
--volume "${GITHUB_WORKSPACE}:/checkout" | |
env: | | |
build_type: ${{ matrix.build_type }} | |
build_version: ${{ env.version }} | |
artifact_name: Skia-${{ env.version }}-linux-${{ matrix.build_type }}-arm64.zip | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# The shell to run commands with in the container | |
shell: /bin/bash | |
install: | | |
apt-get update -q -y | |
apt-get install -q -y bash | |
run: | | |
cd /checkout | |
/bin/bash script/prepare_linux_arm.sh | |
python3 script/check_release.py --version ${build_version} --build-type ${build_type} | |
python3 script/checkout.py --version ${build_version} | |
python3 script/build.py --build-type ${build_type} --build-type ${build_type} | |
python3 script/archive.py --version ${build_version} --build-type ${build_type} | |
echo "Produced artifact at ${PWD}/${artifact_name}" | |
- uses: uraimo/[email protected] | |
name: Test Build | |
id: test-build | |
if: ${{ github.event.inputs.skip_release == 'true' || github.ref != 'refs/heads/main' }} | |
with: | |
arch: aarch64 | |
distro: ubuntu20.04 | |
githubToken: ${{ secrets.GITHUB_TOKEN }} | |
# Mount checkout directory as /checkout in the container | |
dockerRunArgs: | | |
--volume "${GITHUB_WORKSPACE}:/checkout" | |
env: | | |
build_type: ${{ matrix.build_type }} | |
build_version: ${{ env.version }} | |
artifact_name: Skia-${{ env.version }}-linux-${{ matrix.build_type }}-arm64.zip | |
# The shell to run commands with in the container | |
shell: /bin/bash | |
install: | | |
apt-get update -q -y | |
apt-get install -q -y bash | |
run: | | |
cd /checkout | |
/bin/bash script/prepare_linux_arm.sh | |
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@v2 | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
with: | |
name: Skia-${{ env.version }}-linux-${{ matrix.build_type }}-arm64.zip | |
path: '*.zip' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- run: python3 script/release.py --version ${{ env.version }} --build-type ${{ matrix.build_type }} --target linux --machine arm64 | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
windows: | |
runs-on: windows-2019 | |
strategy: | |
matrix: | |
build_type: [Debug, Release] | |
machine: ["x64", "arm64"] | |
fail-fast: false | |
steps: | |
- run: git config --global core.autocrlf input | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- shell: bash | |
run: python3 script/check_release.py --version ${{ env.version }} --build-type ${{ matrix.build_type }} --target windows --machine ${{ matrix.machine }} | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- uses: microsoft/setup-msbuild@v1 | |
- uses: ilammy/msvc-dev-cmd@v1 | |
- shell: bash | |
run: python3 script/checkout.py --version ${{ env.version }} | |
- shell: bash | |
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@v2 | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
with: | |
name: Skia-${{ env.version }}-windows-${{ matrix.build_type }}-${{ matrix.machine }}.zip | |
path: '*.zip' | |
- shell: bash | |
run: python3 script/release.py --version ${{ env.version }} --build-type ${{ matrix.build_type }} --target windows --machine ${{ matrix.machine }} | |
if: ${{ github.event.inputs.skip_release != 'true' && github.ref == 'refs/heads/main' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |