diff --git a/.github/workflows/build-and-upload-engine-artifacts.yml b/.github/workflows/build-and-upload-engine-artifacts.yml new file mode 100644 index 00000000..b196cc11 --- /dev/null +++ b/.github/workflows/build-and-upload-engine-artifacts.yml @@ -0,0 +1,7774 @@ +# This file is generated through `scripts/update_github_workflow.sh.` +# Do not edit directly. +name: Engine Artifacts +on: + push: + branches: ["master"] +env: + DEPOT_TOOLS_WIN_TOOLCHAIN: 0 + FLUTTER_PREBUILT_DART_SDK: 1 + R2_BUCKET: flutter-zero-engine + ENGINE_CHECKOUT_PATH: ${{ github.workspace }}/engine +jobs: + guard: + runs-on: ubuntu-latest + outputs: + should_run: ${{ steps.check.outputs.should_run }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Check if engine.stamp exists + id: check + run: | + URL="https://engine.flutter0.dev/flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/engine_stamp.json" + if curl --head --silent --fail "$URL" > /dev/null; then + echo "Engine stamp exists at $URL" + echo "should_run=false" >> $GITHUB_OUTPUT + else + echo "Engine stamp does not exist at $URL" + echo "should_run=true" >> $GITHUB_OUTPUT + fi + mac_host_debug_framework: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/host_debug_framework + - name: Tar build files + run: | + tar -cvf mac_host_debug_framework.tar engine/src/out/ci/host_debug_framework + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_host_debug_framework-${{ steps.engine_content_hash.outputs.value }} + path: mac_host_debug_framework.tar + retention-days: 1 + mac_host_debug: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/host_debug + - name: Tar build files + run: | + tar -cvf mac_host_debug.tar engine/src/out/ci/host_debug + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_host_debug-${{ steps.engine_content_hash.outputs.value }} + path: mac_host_debug.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug/zip_archives/darwin-x64/artifacts.zip + run: | + cd engine/src/out/ci/host_debug/zip_archives/darwin-x64 + tar -cvf artifact_0.tar artifacts.zip + - name: Upload darwin-x64/mac_host_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_0 + path: engine/src/out/ci/host_debug/zip_archives/darwin-x64/artifact_0.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug/zip_archives/dart-sdk-darwin-x64.zip + run: | + cd engine/src/out/ci/host_debug/zip_archives + tar -cvf artifact_1.tar dart-sdk-darwin-x64.zip + - name: Upload /mac_host_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_1 + path: engine/src/out/ci/host_debug/zip_archives/artifact_1.tar + retention-days: 1 + mac_host_debug_gen_snapshot: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/host_debug_gen_snapshot + - name: Tar build files + run: | + tar -cvf mac_host_debug_gen_snapshot.tar engine/src/out/ci/host_debug_gen_snapshot + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_host_debug_gen_snapshot-${{ steps.engine_content_hash.outputs.value }} + path: mac_host_debug_gen_snapshot.tar + retention-days: 1 + mac_host_profile: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/host_profile + - name: Tar build files + run: | + tar -cvf mac_host_profile.tar engine/src/out/ci/host_profile + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_host_profile-${{ steps.engine_content_hash.outputs.value }} + path: mac_host_profile.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_profile/zip_archives/darwin-x64-profile/artifacts.zip + run: | + cd engine/src/out/ci/host_profile/zip_archives/darwin-x64-profile + tar -cvf artifact_2.tar artifacts.zip + - name: Upload darwin-x64-profile/mac_host_profile + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_2 + path: engine/src/out/ci/host_profile/zip_archives/darwin-x64-profile/artifact_2.tar + retention-days: 1 + mac_host_profile_framework: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/host_profile_framework + - name: Tar build files + run: | + tar -cvf mac_host_profile_framework.tar engine/src/out/ci/host_profile_framework + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_host_profile_framework-${{ steps.engine_content_hash.outputs.value }} + path: mac_host_profile_framework.tar + retention-days: 1 + mac_host_profile_gen_snapshot: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/host_profile_gen_snapshot + - name: Tar build files + run: | + tar -cvf mac_host_profile_gen_snapshot.tar engine/src/out/ci/host_profile_gen_snapshot + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_host_profile_gen_snapshot-${{ steps.engine_content_hash.outputs.value }} + path: mac_host_profile_gen_snapshot.tar + retention-days: 1 + mac_host_release: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/host_release + - name: Tar build files + run: | + tar -cvf mac_host_release.tar engine/src/out/ci/host_release + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_host_release-${{ steps.engine_content_hash.outputs.value }} + path: mac_host_release.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_release/zip_archives/darwin-x64-release/artifacts.zip + run: | + cd engine/src/out/ci/host_release/zip_archives/darwin-x64-release + tar -cvf artifact_3.tar artifacts.zip + - name: Upload darwin-x64-release/mac_host_release + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_3 + path: engine/src/out/ci/host_release/zip_archives/darwin-x64-release/artifact_3.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_release/zip_archives/darwin-x64/font-subset.zip + run: | + cd engine/src/out/ci/host_release/zip_archives/darwin-x64 + tar -cvf artifact_4.tar font-subset.zip + - name: Upload darwin-x64/mac_host_release + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_4 + path: engine/src/out/ci/host_release/zip_archives/darwin-x64/artifact_4.tar + retention-days: 1 + mac_host_release_framework: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/host_release_framework + - name: Tar build files + run: | + tar -cvf mac_host_release_framework.tar engine/src/out/ci/host_release_framework + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_host_release_framework-${{ steps.engine_content_hash.outputs.value }} + path: mac_host_release_framework.tar + retention-days: 1 + mac_host_release_gen_snapshot: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/host_release_gen_snapshot + - name: Tar build files + run: | + tar -cvf mac_host_release_gen_snapshot.tar engine/src/out/ci/host_release_gen_snapshot + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_host_release_gen_snapshot-${{ steps.engine_content_hash.outputs.value }} + path: mac_host_release_gen_snapshot.tar + retention-days: 1 + mac_debug_arm64: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/mac_debug_arm64 + - name: Tar build files + run: | + tar -cvf mac_debug_arm64.tar engine/src/out/ci/mac_debug_arm64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_debug_arm64-${{ steps.engine_content_hash.outputs.value }} + path: mac_debug_arm64.tar + retention-days: 1 + - name: Tar engine/src/out/ci/mac_debug_arm64/zip_archives/darwin-arm64/artifacts.zip + run: | + cd engine/src/out/ci/mac_debug_arm64/zip_archives/darwin-arm64 + tar -cvf artifact_5.tar artifacts.zip + - name: Upload darwin-arm64/mac_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_5 + path: engine/src/out/ci/mac_debug_arm64/zip_archives/darwin-arm64/artifact_5.tar + retention-days: 1 + - name: Tar engine/src/out/ci/mac_debug_arm64/zip_archives/dart-sdk-darwin-arm64.zip + run: | + cd engine/src/out/ci/mac_debug_arm64/zip_archives + tar -cvf artifact_6.tar dart-sdk-darwin-arm64.zip + - name: Upload /mac_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_6 + path: engine/src/out/ci/mac_debug_arm64/zip_archives/artifact_6.tar + retention-days: 1 + mac_debug_framework_arm64: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/mac_debug_framework_arm64 + - name: Tar build files + run: | + tar -cvf mac_debug_framework_arm64.tar engine/src/out/ci/mac_debug_framework_arm64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_debug_framework_arm64-${{ steps.engine_content_hash.outputs.value }} + path: mac_debug_framework_arm64.tar + retention-days: 1 + mac_debug_gen_snapshot_arm64: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/mac_debug_gen_snapshot_arm64 + - name: Tar build files + run: | + tar -cvf mac_debug_gen_snapshot_arm64.tar engine/src/out/ci/mac_debug_gen_snapshot_arm64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_debug_gen_snapshot_arm64-${{ steps.engine_content_hash.outputs.value }} + path: mac_debug_gen_snapshot_arm64.tar + retention-days: 1 + mac_profile_arm64: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/mac_profile_arm64 + - name: Tar build files + run: | + tar -cvf mac_profile_arm64.tar engine/src/out/ci/mac_profile_arm64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_profile_arm64-${{ steps.engine_content_hash.outputs.value }} + path: mac_profile_arm64.tar + retention-days: 1 + - name: Tar engine/src/out/ci/mac_profile_arm64/zip_archives/darwin-arm64-profile/artifacts.zip + run: | + cd engine/src/out/ci/mac_profile_arm64/zip_archives/darwin-arm64-profile + tar -cvf artifact_7.tar artifacts.zip + - name: Upload darwin-arm64-profile/mac_profile_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_7 + path: engine/src/out/ci/mac_profile_arm64/zip_archives/darwin-arm64-profile/artifact_7.tar + retention-days: 1 + mac_profile_framework_arm64: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/mac_profile_framework_arm64 + - name: Tar build files + run: | + tar -cvf mac_profile_framework_arm64.tar engine/src/out/ci/mac_profile_framework_arm64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_profile_framework_arm64-${{ steps.engine_content_hash.outputs.value }} + path: mac_profile_framework_arm64.tar + retention-days: 1 + mac_profile_gen_snapshot_arm64: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/mac_profile_gen_snapshot_arm64 + - name: Tar build files + run: | + tar -cvf mac_profile_gen_snapshot_arm64.tar engine/src/out/ci/mac_profile_gen_snapshot_arm64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_profile_gen_snapshot_arm64-${{ steps.engine_content_hash.outputs.value }} + path: mac_profile_gen_snapshot_arm64.tar + retention-days: 1 + mac_release_arm64: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/mac_release_arm64 + - name: Tar build files + run: | + tar -cvf mac_release_arm64.tar engine/src/out/ci/mac_release_arm64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_release_arm64-${{ steps.engine_content_hash.outputs.value }} + path: mac_release_arm64.tar + retention-days: 1 + - name: Tar engine/src/out/ci/mac_release_arm64/zip_archives/darwin-arm64/font-subset.zip + run: | + cd engine/src/out/ci/mac_release_arm64/zip_archives/darwin-arm64 + tar -cvf artifact_8.tar font-subset.zip + - name: Upload darwin-arm64/mac_release_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_8 + path: engine/src/out/ci/mac_release_arm64/zip_archives/darwin-arm64/artifact_8.tar + retention-days: 1 + - name: Tar engine/src/out/ci/mac_release_arm64/zip_archives/darwin-arm64-release/artifacts.zip + run: | + cd engine/src/out/ci/mac_release_arm64/zip_archives/darwin-arm64-release + tar -cvf artifact_9.tar artifacts.zip + - name: Upload darwin-arm64-release/mac_release_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_9 + path: engine/src/out/ci/mac_release_arm64/zip_archives/darwin-arm64-release/artifact_9.tar + retention-days: 1 + mac_release_framework_arm64: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/mac_release_framework_arm64 + - name: Tar build files + run: | + tar -cvf mac_release_framework_arm64.tar engine/src/out/ci/mac_release_framework_arm64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_release_framework_arm64-${{ steps.engine_content_hash.outputs.value }} + path: mac_release_framework_arm64.tar + retention-days: 1 + mac_release_gen_snapshot_arm64: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/mac_release_gen_snapshot_arm64 + - name: Tar build files + run: | + tar -cvf mac_release_gen_snapshot_arm64.tar engine/src/out/ci/mac_release_gen_snapshot_arm64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_release_gen_snapshot_arm64-${{ steps.engine_content_hash.outputs.value }} + path: mac_release_gen_snapshot_arm64.tar + retention-days: 1 + mac_host_engine_global: + runs-on: macos-latest + needs: + - mac_host_debug_framework + - mac_host_debug + - mac_host_debug_gen_snapshot + - mac_host_profile + - mac_host_profile_framework + - mac_host_profile_gen_snapshot + - mac_host_release + - mac_host_release_framework + - mac_host_release_gen_snapshot + - mac_debug_arm64 + - mac_debug_framework_arm64 + - mac_debug_gen_snapshot_arm64 + - mac_profile_arm64 + - mac_profile_framework_arm64 + - mac_profile_gen_snapshot_arm64 + - mac_release_arm64 + - mac_release_framework_arm64 + - mac_release_gen_snapshot_arm64 + - guard + defaults: + run: + shell: bash + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Download Artifacts from mac_host_debug_framework + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_host_debug_framework-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_host_debug_framework + run: | + tar -xvf mac_host_debug_framework.tar + rm mac_host_debug_framework.tar + - name: Download Artifacts from mac_host_debug + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_host_debug-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_host_debug + run: | + tar -xvf mac_host_debug.tar + rm mac_host_debug.tar + - name: Download Artifacts from mac_host_debug_gen_snapshot + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_host_debug_gen_snapshot-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_host_debug_gen_snapshot + run: | + tar -xvf mac_host_debug_gen_snapshot.tar + rm mac_host_debug_gen_snapshot.tar + - name: Download Artifacts from mac_host_profile + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_host_profile-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_host_profile + run: | + tar -xvf mac_host_profile.tar + rm mac_host_profile.tar + - name: Download Artifacts from mac_host_profile_framework + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_host_profile_framework-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_host_profile_framework + run: | + tar -xvf mac_host_profile_framework.tar + rm mac_host_profile_framework.tar + - name: Download Artifacts from mac_host_profile_gen_snapshot + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_host_profile_gen_snapshot-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_host_profile_gen_snapshot + run: | + tar -xvf mac_host_profile_gen_snapshot.tar + rm mac_host_profile_gen_snapshot.tar + - name: Download Artifacts from mac_host_release + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_host_release-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_host_release + run: | + tar -xvf mac_host_release.tar + rm mac_host_release.tar + - name: Download Artifacts from mac_host_release_framework + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_host_release_framework-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_host_release_framework + run: | + tar -xvf mac_host_release_framework.tar + rm mac_host_release_framework.tar + - name: Download Artifacts from mac_host_release_gen_snapshot + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_host_release_gen_snapshot-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_host_release_gen_snapshot + run: | + tar -xvf mac_host_release_gen_snapshot.tar + rm mac_host_release_gen_snapshot.tar + - name: Download Artifacts from mac_debug_arm64 + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_debug_arm64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_debug_arm64 + run: | + tar -xvf mac_debug_arm64.tar + rm mac_debug_arm64.tar + - name: Download Artifacts from mac_debug_framework_arm64 + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_debug_framework_arm64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_debug_framework_arm64 + run: | + tar -xvf mac_debug_framework_arm64.tar + rm mac_debug_framework_arm64.tar + - name: Download Artifacts from mac_debug_gen_snapshot_arm64 + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_debug_gen_snapshot_arm64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_debug_gen_snapshot_arm64 + run: | + tar -xvf mac_debug_gen_snapshot_arm64.tar + rm mac_debug_gen_snapshot_arm64.tar + - name: Download Artifacts from mac_profile_arm64 + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_profile_arm64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_profile_arm64 + run: | + tar -xvf mac_profile_arm64.tar + rm mac_profile_arm64.tar + - name: Download Artifacts from mac_profile_framework_arm64 + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_profile_framework_arm64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_profile_framework_arm64 + run: | + tar -xvf mac_profile_framework_arm64.tar + rm mac_profile_framework_arm64.tar + - name: Download Artifacts from mac_profile_gen_snapshot_arm64 + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_profile_gen_snapshot_arm64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_profile_gen_snapshot_arm64 + run: | + tar -xvf mac_profile_gen_snapshot_arm64.tar + rm mac_profile_gen_snapshot_arm64.tar + - name: Download Artifacts from mac_release_arm64 + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_release_arm64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_release_arm64 + run: | + tar -xvf mac_release_arm64.tar + rm mac_release_arm64.tar + - name: Download Artifacts from mac_release_framework_arm64 + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_release_framework_arm64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_release_framework_arm64 + run: | + tar -xvf mac_release_framework_arm64.tar + rm mac_release_framework_arm64.tar + - name: Download Artifacts from mac_release_gen_snapshot_arm64 + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_release_gen_snapshot_arm64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_release_gen_snapshot_arm64 + run: | + tar -xvf mac_release_gen_snapshot_arm64.tar + rm mac_release_gen_snapshot_arm64.tar + - name: Run generator Debug-FlutterEmbedder.framework + run: | + cd engine/src + flutter/sky/tools/create_embedder_framework.py \ + --dst \ + out/debug/framework \ + --arm64-out-dir \ + out/ci/mac_debug_framework_arm64 \ + --x64-out-dir \ + out/ci/host_debug_framework \ + --zip + - name: Run generator Release-FlutterMacOS.framework + run: | + cd engine/src + flutter/sky/tools/create_macos_framework.py \ + --dst \ + out/release/framework \ + --arm64-out-dir \ + out/ci/mac_release_framework_arm64 \ + --x64-out-dir \ + out/ci/host_release_framework \ + --dsym \ + --strip \ + --zip + - name: Run generator Debug-FlutterMacOS.framework + run: | + cd engine/src + flutter/sky/tools/create_macos_framework.py \ + --dst \ + out/debug/framework \ + --arm64-out-dir \ + out/ci/mac_debug_framework_arm64 \ + --x64-out-dir \ + out/ci/host_debug_framework \ + --zip + - name: Run generator Profile-FlutterMacOS.framework + run: | + cd engine/src + flutter/sky/tools/create_macos_framework.py \ + --dst \ + out/profile/framework \ + --arm64-out-dir \ + out/ci/mac_profile_framework_arm64 \ + --x64-out-dir \ + out/ci/host_profile_framework \ + --zip + - name: Run generator Verify-export-symbols + run: | + cd engine/src + ../../bin/dart flutter/testing/symbols/verify_exported.dart \ + src/out/ci \ + src/flutter/buildtools + - name: Run generator Debug-gen_snapshots + run: | + cd engine/src + flutter/sky/tools/create_macos_gen_snapshots.py \ + --dst \ + out/debug/snapshot \ + --arm64-path \ + out/ci/mac_debug_gen_snapshot_arm64/universal/gen_snapshot_arm64 \ + --x64-path \ + out/ci/host_debug_gen_snapshot/universal/gen_snapshot_x64 \ + --zip + - name: Run generator Profile-gen_snapshots + run: | + cd engine/src + flutter/sky/tools/create_macos_gen_snapshots.py \ + --dst \ + out/profile/snapshot \ + --arm64-path \ + out/ci/mac_profile_gen_snapshot_arm64/universal/gen_snapshot_arm64 \ + --x64-path \ + out/ci/host_profile_gen_snapshot/universal/gen_snapshot_x64 \ + --zip + - name: Run generator Release-gen_snapshots + run: | + cd engine/src + flutter/sky/tools/create_macos_gen_snapshots.py \ + --dst \ + out/release/snapshot \ + --arm64-path \ + out/ci/mac_release_gen_snapshot_arm64/universal/gen_snapshot_arm64 \ + --x64-path \ + out/ci/host_release_gen_snapshot/universal/gen_snapshot_x64 \ + --zip + - name: Tar engine/src/out/debug/framework/FlutterEmbedder.framework.zip + run: | + cd engine/src/out/debug/framework + tar -cvf artifact_10.tar FlutterEmbedder.framework.zip + - name: Upload darwin-x64/mac_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_10 + path: engine/src/out/debug/framework/artifact_10.tar + retention-days: 1 + - name: Tar engine/src/out/debug/framework/FlutterMacOS.framework.zip + run: | + cd engine/src/out/debug/framework + tar -cvf artifact_11.tar FlutterMacOS.framework.zip + - name: Upload darwin-x64/mac_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_11 + path: engine/src/out/debug/framework/artifact_11.tar + retention-days: 1 + - name: Tar engine/src/out/profile/framework/FlutterMacOS.framework.zip + run: | + cd engine/src/out/profile/framework + tar -cvf artifact_12.tar FlutterMacOS.framework.zip + - name: Upload darwin-x64-profile/mac_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_12 + path: engine/src/out/profile/framework/artifact_12.tar + retention-days: 1 + - name: Tar engine/src/out/release/framework/FlutterMacOS.framework.zip + run: | + cd engine/src/out/release/framework + tar -cvf artifact_13.tar FlutterMacOS.framework.zip + - name: Upload darwin-x64-release/mac_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_13 + path: engine/src/out/release/framework/artifact_13.tar + retention-days: 1 + - name: Tar engine/src/out/debug/snapshot/gen_snapshot.zip + run: | + cd engine/src/out/debug/snapshot + tar -cvf artifact_14.tar gen_snapshot.zip + - name: Upload darwin-x64/mac_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_14 + path: engine/src/out/debug/snapshot/artifact_14.tar + retention-days: 1 + - name: Tar engine/src/out/profile/snapshot/gen_snapshot.zip + run: | + cd engine/src/out/profile/snapshot + tar -cvf artifact_15.tar gen_snapshot.zip + - name: Upload darwin-x64-profile/mac_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_15 + path: engine/src/out/profile/snapshot/artifact_15.tar + retention-days: 1 + - name: Tar engine/src/out/release/snapshot/gen_snapshot.zip + run: | + cd engine/src/out/release/snapshot + tar -cvf artifact_16.tar gen_snapshot.zip + - name: Upload darwin-x64-release/mac_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_16 + path: engine/src/out/release/snapshot/artifact_16.tar + retention-days: 1 + - name: Tar engine/src/out/debug/framework/framework.zip + run: | + cd engine/src/out/debug/framework + tar -cvf artifact_17.tar framework.zip + - name: Upload darwin-x64/mac_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_17 + path: engine/src/out/debug/framework/artifact_17.tar + retention-days: 1 + - name: Tar engine/src/out/profile/framework/framework.zip + run: | + cd engine/src/out/profile/framework + tar -cvf artifact_18.tar framework.zip + - name: Upload darwin-x64-profile/mac_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_18 + path: engine/src/out/profile/framework/artifact_18.tar + retention-days: 1 + - name: Tar engine/src/out/release/framework/framework.zip + run: | + cd engine/src/out/release/framework + tar -cvf artifact_19.tar framework.zip + - name: Upload darwin-x64-release/mac_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_19 + path: engine/src/out/release/framework/artifact_19.tar + retention-days: 1 + mac_ios_debug_sim: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/ios_debug_sim + - name: Tar build files + run: | + tar -cvf mac_ios_debug_sim.tar engine/src/out/ci/ios_debug_sim + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_ios_debug_sim-${{ steps.engine_content_hash.outputs.value }} + path: mac_ios_debug_sim.tar + retention-days: 1 + mac_ios_debug_sim_arm64: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/ios_debug_sim_arm64 + - name: Tar build files + run: | + tar -cvf mac_ios_debug_sim_arm64.tar engine/src/out/ci/ios_debug_sim_arm64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_ios_debug_sim_arm64-${{ steps.engine_content_hash.outputs.value }} + path: mac_ios_debug_sim_arm64.tar + retention-days: 1 + mac_ios_debug: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/ios_debug + - name: Tar build files + run: | + tar -cvf mac_ios_debug.tar engine/src/out/ci/ios_debug + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_ios_debug-${{ steps.engine_content_hash.outputs.value }} + path: mac_ios_debug.tar + retention-days: 1 + mac_ios_profile: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/ios_profile + - name: Tar build files + run: | + tar -cvf mac_ios_profile.tar engine/src/out/ci/ios_profile + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_ios_profile-${{ steps.engine_content_hash.outputs.value }} + path: mac_ios_profile.tar + retention-days: 1 + mac_ios_release: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/ios_release + - name: Tar build files + run: | + tar -cvf mac_ios_release.tar engine/src/out/ci/ios_release + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-mac_ios_release-${{ steps.engine_content_hash.outputs.value }} + path: mac_ios_release.tar + retention-days: 1 + mac_ios_engine_no_ext_safe_global: + runs-on: macos-latest + needs: + - mac_ios_debug_sim + - mac_ios_debug_sim_arm64 + - mac_ios_debug + - mac_ios_profile + - mac_ios_release + - guard + defaults: + run: + shell: bash + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Download Artifacts from mac_ios_debug_sim + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_ios_debug_sim-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_ios_debug_sim + run: | + tar -xvf mac_ios_debug_sim.tar + rm mac_ios_debug_sim.tar + - name: Download Artifacts from mac_ios_debug_sim_arm64 + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_ios_debug_sim_arm64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_ios_debug_sim_arm64 + run: | + tar -xvf mac_ios_debug_sim_arm64.tar + rm mac_ios_debug_sim_arm64.tar + - name: Download Artifacts from mac_ios_debug + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_ios_debug-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_ios_debug + run: | + tar -xvf mac_ios_debug.tar + rm mac_ios_debug.tar + - name: Download Artifacts from mac_ios_profile + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_ios_profile-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_ios_profile + run: | + tar -xvf mac_ios_profile.tar + rm mac_ios_profile.tar + - name: Download Artifacts from mac_ios_release + uses: actions/download-artifact@v4 + with: + name: artifacts-mac_ios_release-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from mac_ios_release + run: | + tar -xvf mac_ios_release.tar + rm mac_ios_release.tar + - name: Run generator Debug-ios-Flutter.xcframework + run: | + cd engine/src + python3 flutter/sky/tools/create_ios_framework.py \ + --no-extension-safe-frameworks \ + --dst \ + out/debug \ + --arm64-out-dir \ + out/ci/ios_debug \ + --simulator-x64-out-dir \ + out/ci/ios_debug_sim \ + --simulator-arm64-out-dir \ + out/ci/ios_debug_sim_arm64 + - name: Run generator Profile-ios-Flutter.xcframework + run: | + cd engine/src + python3 flutter/sky/tools/create_ios_framework.py \ + --no-extension-safe-frameworks \ + --dst \ + out/profile \ + --arm64-out-dir \ + out/ci/ios_profile \ + --simulator-x64-out-dir \ + out/ci/ios_debug_sim \ + --simulator-arm64-out-dir \ + out/ci/ios_debug_sim_arm64 + - name: Run generator Release-ios-Flutter.xcframework + run: | + cd engine/src + python3 flutter/sky/tools/create_ios_framework.py \ + --no-extension-safe-frameworks \ + --dst \ + out/release \ + --arm64-out-dir \ + out/ci/ios_release \ + --simulator-x64-out-dir \ + out/ci/ios_debug_sim \ + --simulator-arm64-out-dir \ + out/ci/ios_debug_sim_arm64 \ + --dsym \ + --strip + - name: Run generator Verify-export-symbols-release-binaries + run: | + cd engine/src + ../../bin/dart flutter/testing/symbols/verify_exported.dart \ + src/out/ci \ + src/flutter/buildtools + - name: Tar engine/src/out/debug/artifacts.zip + run: | + cd engine/src/out/debug + tar -cvf artifact_20.tar artifacts.zip + - name: Upload ios/mac_ios_engine_no_ext_safe_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_20 + path: engine/src/out/debug/artifact_20.tar + retention-days: 1 + - name: Tar engine/src/out/profile/artifacts.zip + run: | + cd engine/src/out/profile + tar -cvf artifact_21.tar artifacts.zip + - name: Upload ios-profile/mac_ios_engine_no_ext_safe_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_21 + path: engine/src/out/profile/artifact_21.tar + retention-days: 1 + - name: Tar engine/src/out/release/artifacts.zip + run: | + cd engine/src/out/release + tar -cvf artifact_22.tar artifacts.zip + - name: Upload ios-release/mac_ios_engine_no_ext_safe_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_22 + path: engine/src/out/release/artifact_22.tar + retention-days: 1 + windows_host_debug: + runs-on: windows-2022 + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + shell: cmd + run: | + cd engine\src + flutter\bin\et.bat build --config ci\host_debug + - name: Tar engine/src/out/ci/host_debug/zip_archives/windows-x64/artifacts.zip + run: | + cd engine/src/out/ci/host_debug/zip_archives/windows-x64 + tar -cvf artifact_23.tar artifacts.zip + - name: Upload windows-x64/windows_host_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_23 + path: engine/src/out/ci/host_debug/zip_archives/windows-x64/artifact_23.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug/zip_archives/windows-x64/windows-x64-embedder.zip + run: | + cd engine/src/out/ci/host_debug/zip_archives/windows-x64 + tar -cvf artifact_24.tar windows-x64-embedder.zip + - name: Upload windows-x64/windows_host_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_24 + path: engine/src/out/ci/host_debug/zip_archives/windows-x64/artifact_24.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug/zip_archives/windows-x64/font-subset.zip + run: | + cd engine/src/out/ci/host_debug/zip_archives/windows-x64 + tar -cvf artifact_25.tar font-subset.zip + - name: Upload windows-x64/windows_host_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_25 + path: engine/src/out/ci/host_debug/zip_archives/windows-x64/artifact_25.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug/zip_archives/dart-sdk-windows-x64.zip + run: | + cd engine/src/out/ci/host_debug/zip_archives + tar -cvf artifact_26.tar dart-sdk-windows-x64.zip + - name: Upload /windows_host_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_26 + path: engine/src/out/ci/host_debug/zip_archives/artifact_26.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug/zip_archives/windows-x64-debug/windows-x64-flutter.zip + run: | + cd engine/src/out/ci/host_debug/zip_archives/windows-x64-debug + tar -cvf artifact_27.tar windows-x64-flutter.zip + - name: Upload windows-x64-debug/windows_host_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_27 + path: engine/src/out/ci/host_debug/zip_archives/windows-x64-debug/artifact_27.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug/zip_archives/windows-x64/flutter-cpp-client-wrapper.zip + run: | + cd engine/src/out/ci/host_debug/zip_archives/windows-x64 + tar -cvf artifact_28.tar flutter-cpp-client-wrapper.zip + - name: Upload windows-x64/windows_host_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_28 + path: engine/src/out/ci/host_debug/zip_archives/windows-x64/artifact_28.tar + retention-days: 1 + windows_host_profile: + runs-on: windows-2022 + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + shell: cmd + run: | + cd engine\src + flutter\bin\et.bat build --config ci\host_profile + - name: Tar engine/src/out/ci/host_profile/zip_archives/windows-x64-profile/windows-x64-flutter.zip + run: | + cd engine/src/out/ci/host_profile/zip_archives/windows-x64-profile + tar -cvf artifact_29.tar windows-x64-flutter.zip + - name: Upload windows-x64-profile/windows_host_profile + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_29 + path: engine/src/out/ci/host_profile/zip_archives/windows-x64-profile/artifact_29.tar + retention-days: 1 + windows_host_release: + runs-on: windows-2022 + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + shell: cmd + run: | + cd engine\src + flutter\bin\et.bat build --config ci\host_release + - name: Tar engine/src/out/ci/host_release/zip_archives/windows-x64-release/windows-x64-flutter.zip + run: | + cd engine/src/out/ci/host_release/zip_archives/windows-x64-release + tar -cvf artifact_30.tar windows-x64-flutter.zip + - name: Upload windows-x64-release/windows_host_release + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_30 + path: engine/src/out/ci/host_release/zip_archives/windows-x64-release/artifact_30.tar + retention-days: 1 + windows_host_debug_arm64: + runs-on: windows-11-arm + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + shell: cmd + run: | + cd engine\src + flutter\bin\et.bat build --config ci\host_debug_arm64 + - name: Tar engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64/artifacts.zip + run: | + cd engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64 + tar -cvf artifact_31.tar artifacts.zip + - name: Upload windows-arm64/windows_host_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_31 + path: engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64/artifact_31.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64/windows-arm64-embedder.zip + run: | + cd engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64 + tar -cvf artifact_32.tar windows-arm64-embedder.zip + - name: Upload windows-arm64/windows_host_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_32 + path: engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64/artifact_32.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64/font-subset.zip + run: | + cd engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64 + tar -cvf artifact_33.tar font-subset.zip + - name: Upload windows-arm64/windows_host_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_33 + path: engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64/artifact_33.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug_arm64/zip_archives/dart-sdk-windows-arm64.zip + run: | + cd engine/src/out/ci/host_debug_arm64/zip_archives + tar -cvf artifact_34.tar dart-sdk-windows-arm64.zip + - name: Upload /windows_host_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_34 + path: engine/src/out/ci/host_debug_arm64/zip_archives/artifact_34.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64-debug/windows-arm64-flutter.zip + run: | + cd engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64-debug + tar -cvf artifact_35.tar windows-arm64-flutter.zip + - name: Upload windows-arm64-debug/windows_host_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_35 + path: engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64-debug/artifact_35.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64/flutter-cpp-client-wrapper.zip + run: | + cd engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64 + tar -cvf artifact_36.tar flutter-cpp-client-wrapper.zip + - name: Upload windows-arm64/windows_host_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_36 + path: engine/src/out/ci/host_debug_arm64/zip_archives/windows-arm64/artifact_36.tar + retention-days: 1 + windows_host_profile_arm64: + runs-on: windows-11-arm + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + shell: cmd + run: | + cd engine\src + flutter\bin\et.bat build --config ci\host_profile_arm64 + - name: Tar engine/src/out/ci/host_profile_arm64/zip_archives/windows-arm64-profile/windows-arm64-flutter.zip + run: | + cd engine/src/out/ci/host_profile_arm64/zip_archives/windows-arm64-profile + tar -cvf artifact_37.tar windows-arm64-flutter.zip + - name: Upload windows-arm64-profile/windows_host_profile_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_37 + path: engine/src/out/ci/host_profile_arm64/zip_archives/windows-arm64-profile/artifact_37.tar + retention-days: 1 + windows_host_release_arm64: + runs-on: windows-11-arm + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + shell: cmd + run: | + cd engine\src + flutter\bin\et.bat build --config ci\host_release_arm64 + - name: Tar engine/src/out/ci/host_release_arm64/zip_archives/windows-arm64-release/windows-arm64-flutter.zip + run: | + cd engine/src/out/ci/host_release_arm64/zip_archives/windows-arm64-release + tar -cvf artifact_38.tar windows-arm64-flutter.zip + - name: Upload windows-arm64-release/windows_host_release_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_38 + path: engine/src/out/ci/host_release_arm64/zip_archives/windows-arm64-release/artifact_38.tar + retention-days: 1 + linux_host_debug: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Install doxygen + if: runner.os == 'Linux' + uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 + with: + version: 1.14.0 + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/host_debug + - name: Tar build files + run: | + tar -cvf linux_host_debug.tar engine/src/out/ci/host_debug + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_host_debug-${{ steps.engine_content_hash.outputs.value }} + path: linux_host_debug.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug/zip_archives/dart-sdk-linux-x64.zip + run: | + cd engine/src/out/ci/host_debug/zip_archives + tar -cvf artifact_39.tar dart-sdk-linux-x64.zip + - name: Upload /linux_host_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_39 + path: engine/src/out/ci/host_debug/zip_archives/artifact_39.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug/zip_archives/flutter_patched_sdk.zip + run: | + cd engine/src/out/ci/host_debug/zip_archives + tar -cvf artifact_40.tar flutter_patched_sdk.zip + - name: Upload /linux_host_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_40 + path: engine/src/out/ci/host_debug/zip_archives/artifact_40.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug/zip_archives/linux-x64/artifacts.zip + run: | + cd engine/src/out/ci/host_debug/zip_archives/linux-x64 + tar -cvf artifact_41.tar artifacts.zip + - name: Upload linux-x64/linux_host_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_41 + path: engine/src/out/ci/host_debug/zip_archives/linux-x64/artifact_41.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug/zip_archives/linux-x64/font-subset.zip + run: | + cd engine/src/out/ci/host_debug/zip_archives/linux-x64 + tar -cvf artifact_42.tar font-subset.zip + - name: Upload linux-x64/linux_host_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_42 + path: engine/src/out/ci/host_debug/zip_archives/linux-x64/artifact_42.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_debug/zip_archives/linux-x64/linux-x64-embedder.zip + run: | + cd engine/src/out/ci/host_debug/zip_archives/linux-x64 + tar -cvf artifact_43.tar linux-x64-embedder.zip + - name: Upload linux-x64/linux_host_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_43 + path: engine/src/out/ci/host_debug/zip_archives/linux-x64/artifact_43.tar + retention-days: 1 + linux_host_release: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Install doxygen + if: runner.os == 'Linux' + uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 + with: + version: 1.14.0 + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/host_release + - name: Tar build files + run: | + tar -cvf linux_host_release.tar engine/src/out/ci/host_release + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_host_release-${{ steps.engine_content_hash.outputs.value }} + path: linux_host_release.tar + retention-days: 1 + - name: Tar engine/src/out/ci/host_release/zip_archives/flutter_patched_sdk_product.zip + run: | + cd engine/src/out/ci/host_release/zip_archives + tar -cvf artifact_44.tar flutter_patched_sdk_product.zip + - name: Upload /linux_host_release + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_44 + path: engine/src/out/ci/host_release/zip_archives/artifact_44.tar + retention-days: 1 + linux_host_engine_global: + runs-on: ubuntu-latest + needs: + - linux_host_debug + - linux_host_release + - guard + defaults: + run: + shell: bash + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Install doxygen + if: runner.os == 'Linux' + uses: ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449 + with: + version: 1.14.0 + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Download Artifacts from linux_host_debug + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_host_debug-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_host_debug + run: | + tar -xvf linux_host_debug.tar + rm linux_host_debug.tar + - name: Download Artifacts from linux_host_release + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_host_release-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_host_release + run: | + tar -xvf linux_host_release.tar + rm linux_host_release.tar + - name: Run generator Verify-export-symbols-release-binaries + run: | + cd engine/src + ../../bin/dart flutter/testing/symbols/verify_exported.dart \ + src/out/ci \ + src/flutter/buildtools + - name: Run generator api-documentation + run: | + cd engine/src + flutter/tools/gen_docs.py \ + out/docs + - name: Run generator engine-stamp + run: | + cd engine/src + ../../bin/dart flutter/tools/engine_tool/bin/et.dart \ + stamp + - name: Tar engine/src/out/docs/ios-docs.zip + run: | + cd engine/src/out/docs + tar -cvf artifact_45.tar ios-docs.zip + - name: Upload /linux_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_45 + path: engine/src/out/docs/artifact_45.tar + retention-days: 1 + - name: Tar engine/src/out/docs/macos-docs.zip + run: | + cd engine/src/out/docs + tar -cvf artifact_46.tar macos-docs.zip + - name: Upload /linux_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_46 + path: engine/src/out/docs/artifact_46.tar + retention-days: 1 + - name: Tar engine/src/out/docs/linux-docs.zip + run: | + cd engine/src/out/docs + tar -cvf artifact_47.tar linux-docs.zip + - name: Upload /linux_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_47 + path: engine/src/out/docs/artifact_47.tar + retention-days: 1 + - name: Tar engine/src/out/docs/windows-docs.zip + run: | + cd engine/src/out/docs + tar -cvf artifact_48.tar windows-docs.zip + - name: Upload /linux_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_48 + path: engine/src/out/docs/artifact_48.tar + retention-days: 1 + - name: Tar engine/src/out/docs/impeller-docs.zip + run: | + cd engine/src/out/docs + tar -cvf artifact_49.tar impeller-docs.zip + - name: Upload /linux_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_49 + path: engine/src/out/docs/artifact_49.tar + retention-days: 1 + - name: Tar engine/src/out/engine_stamp.json + run: | + cd engine/src/out + tar -cvf artifact_50.tar engine_stamp.json + - name: Upload /linux_host_engine_global + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_50 + path: engine/src/out/artifact_50.tar + retention-days: 1 + linux_host_debug_desktop: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/host_debug_desktop + - name: Tar engine/src/out/ci/host_debug_desktop/zip_archives/linux-x64-debug/linux-x64-flutter-gtk.zip + run: | + cd engine/src/out/ci/host_debug_desktop/zip_archives/linux-x64-debug + tar -cvf artifact_51.tar linux-x64-flutter-gtk.zip + - name: Upload linux-x64-debug/linux_host_debug_desktop + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_51 + path: engine/src/out/ci/host_debug_desktop/zip_archives/linux-x64-debug/artifact_51.tar + retention-days: 1 + linux_host_profile_desktop: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/host_profile_desktop + - name: Tar engine/src/out/ci/host_profile_desktop/zip_archives/linux-x64-profile/linux-x64-flutter-gtk.zip + run: | + cd engine/src/out/ci/host_profile_desktop/zip_archives/linux-x64-profile + tar -cvf artifact_52.tar linux-x64-flutter-gtk.zip + - name: Upload linux-x64-profile/linux_host_profile_desktop + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_52 + path: engine/src/out/ci/host_profile_desktop/zip_archives/linux-x64-profile/artifact_52.tar + retention-days: 1 + linux_host_release_desktop: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/host_release_desktop + - name: Tar engine/src/out/ci/host_release_desktop/zip_archives/linux-x64-release/linux-x64-flutter-gtk.zip + run: | + cd engine/src/out/ci/host_release_desktop/zip_archives/linux-x64-release + tar -cvf artifact_53.tar linux-x64-flutter-gtk.zip + - name: Upload linux-x64-release/linux_host_release_desktop + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_53 + path: engine/src/out/ci/host_release_desktop/zip_archives/linux-x64-release/artifact_53.tar + retention-days: 1 + linux_profile_arm64: + runs-on: ubuntu-24.04-arm + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/linux_profile_arm64 + - name: Tar engine/src/out/ci/linux_profile_arm64/zip_archives/linux-arm64-profile/linux-arm64-flutter-gtk.zip + run: | + cd engine/src/out/ci/linux_profile_arm64/zip_archives/linux-arm64-profile + tar -cvf artifact_54.tar linux-arm64-flutter-gtk.zip + - name: Upload linux-arm64-profile/linux_profile_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_54 + path: engine/src/out/ci/linux_profile_arm64/zip_archives/linux-arm64-profile/artifact_54.tar + retention-days: 1 + linux_debug_arm64: + runs-on: ubuntu-24.04-arm + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/linux_debug_arm64 + - name: Tar engine/src/out/ci/linux_debug_arm64/zip_archives/linux-arm64/artifacts.zip + run: | + cd engine/src/out/ci/linux_debug_arm64/zip_archives/linux-arm64 + tar -cvf artifact_55.tar artifacts.zip + - name: Upload linux-arm64/linux_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_55 + path: engine/src/out/ci/linux_debug_arm64/zip_archives/linux-arm64/artifact_55.tar + retention-days: 1 + - name: Tar engine/src/out/ci/linux_debug_arm64/zip_archives/linux-arm64/linux-arm64-embedder.zip + run: | + cd engine/src/out/ci/linux_debug_arm64/zip_archives/linux-arm64 + tar -cvf artifact_56.tar linux-arm64-embedder.zip + - name: Upload linux-arm64/linux_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_56 + path: engine/src/out/ci/linux_debug_arm64/zip_archives/linux-arm64/artifact_56.tar + retention-days: 1 + - name: Tar engine/src/out/ci/linux_debug_arm64/zip_archives/linux-arm64/font-subset.zip + run: | + cd engine/src/out/ci/linux_debug_arm64/zip_archives/linux-arm64 + tar -cvf artifact_57.tar font-subset.zip + - name: Upload linux-arm64/linux_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_57 + path: engine/src/out/ci/linux_debug_arm64/zip_archives/linux-arm64/artifact_57.tar + retention-days: 1 + - name: Tar engine/src/out/ci/linux_debug_arm64/zip_archives/linux-arm64-debug/linux-arm64-flutter-gtk.zip + run: | + cd engine/src/out/ci/linux_debug_arm64/zip_archives/linux-arm64-debug + tar -cvf artifact_58.tar linux-arm64-flutter-gtk.zip + - name: Upload linux-arm64-debug/linux_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_58 + path: engine/src/out/ci/linux_debug_arm64/zip_archives/linux-arm64-debug/artifact_58.tar + retention-days: 1 + - name: Tar engine/src/out/ci/linux_debug_arm64/zip_archives/dart-sdk-linux-arm64.zip + run: | + cd engine/src/out/ci/linux_debug_arm64/zip_archives + tar -cvf artifact_59.tar dart-sdk-linux-arm64.zip + - name: Upload /linux_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_59 + path: engine/src/out/ci/linux_debug_arm64/zip_archives/artifact_59.tar + retention-days: 1 + linux_release_arm64: + runs-on: ubuntu-24.04-arm + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/slim.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/linux_release_arm64 + - name: Tar engine/src/out/ci/linux_release_arm64/zip_archives/linux-arm64-release/linux-arm64-flutter-gtk.zip + run: | + cd engine/src/out/ci/linux_release_arm64/zip_archives/linux-arm64-release + tar -cvf artifact_60.tar linux-arm64-flutter-gtk.zip + - name: Upload linux-arm64-release/linux_release_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_60 + path: engine/src/out/ci/linux_release_arm64/zip_archives/linux-arm64-release/artifact_60.tar + retention-days: 1 + windows_android_profile: + runs-on: windows-2022 + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + shell: cmd + run: | + cd engine\src + flutter\bin\et.bat build --config ci\android_profile + - name: Tar engine/src/out/ci/android_profile/zip_archives/android-arm-profile/windows-x64.zip + run: | + cd engine/src/out/ci/android_profile/zip_archives/android-arm-profile + tar -cvf artifact_61.tar windows-x64.zip + - name: Upload android-arm-profile/windows_android_profile + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_61 + path: engine/src/out/ci/android_profile/zip_archives/android-arm-profile/artifact_61.tar + retention-days: 1 + windows_android_profile_arm64: + runs-on: windows-2022 + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + shell: cmd + run: | + cd engine\src + flutter\bin\et.bat build --config ci\android_profile_arm64 + - name: Tar engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile/windows-x64.zip + run: | + cd engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile + tar -cvf artifact_62.tar windows-x64.zip + - name: Upload android-arm64-profile/windows_android_profile_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_62 + path: engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile/artifact_62.tar + retention-days: 1 + windows_android_profile_x64: + runs-on: windows-2022 + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + shell: cmd + run: | + cd engine\src + flutter\bin\et.bat build --config ci\android_profile_x64 + - name: Tar engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile/windows-x64.zip + run: | + cd engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile + tar -cvf artifact_63.tar windows-x64.zip + - name: Upload android-x64-profile/windows_android_profile_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_63 + path: engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile/artifact_63.tar + retention-days: 1 + windows_android_release: + runs-on: windows-2022 + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + shell: cmd + run: | + cd engine\src + flutter\bin\et.bat build --config ci\android_release + - name: Tar engine/src/out/ci/android_release/zip_archives/android-arm-release/windows-x64.zip + run: | + cd engine/src/out/ci/android_release/zip_archives/android-arm-release + tar -cvf artifact_64.tar windows-x64.zip + - name: Upload android-arm-release/windows_android_release + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_64 + path: engine/src/out/ci/android_release/zip_archives/android-arm-release/artifact_64.tar + retention-days: 1 + windows_android_release_arm64: + runs-on: windows-2022 + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + shell: cmd + run: | + cd engine\src + flutter\bin\et.bat build --config ci\android_release_arm64 + - name: Tar engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release/windows-x64.zip + run: | + cd engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release + tar -cvf artifact_65.tar windows-x64.zip + - name: Upload android-arm64-release/windows_android_release_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_65 + path: engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release/artifact_65.tar + retention-days: 1 + windows_android_release_x64: + runs-on: windows-2022 + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + shell: cmd + run: | + cd engine\src + flutter\bin\et.bat build --config ci\android_release_x64 + - name: Tar engine/src/out/ci/android_release_x64/zip_archives/android-x64-release/windows-x64.zip + run: | + cd engine/src/out/ci/android_release_x64/zip_archives/android-x64-release + tar -cvf artifact_66.tar windows-x64.zip + - name: Upload android-x64-release/windows_android_release_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_66 + path: engine/src/out/ci/android_release_x64/zip_archives/android-x64-release/artifact_66.tar + retention-days: 1 + mac_android_profile: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_profile + - name: Tar engine/src/out/ci/android_profile/zip_archives/android-arm-profile/darwin-x64.zip + run: | + cd engine/src/out/ci/android_profile/zip_archives/android-arm-profile + tar -cvf artifact_67.tar darwin-x64.zip + - name: Upload android-arm-profile/mac_android_profile + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_67 + path: engine/src/out/ci/android_profile/zip_archives/android-arm-profile/artifact_67.tar + retention-days: 1 + mac_android_profile_arm64: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_profile_arm64 + - name: Tar engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile/darwin-x64.zip + run: | + cd engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile + tar -cvf artifact_68.tar darwin-x64.zip + - name: Upload android-arm64-profile/mac_android_profile_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_68 + path: engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile/artifact_68.tar + retention-days: 1 + mac_android_profile_x64: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_profile_x64 + - name: Tar engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile/darwin-x64.zip + run: | + cd engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile + tar -cvf artifact_69.tar darwin-x64.zip + - name: Upload android-x64-profile/mac_android_profile_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_69 + path: engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile/artifact_69.tar + retention-days: 1 + mac_android_release: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_release + - name: Tar engine/src/out/ci/android_release/zip_archives/android-arm-release/darwin-x64.zip + run: | + cd engine/src/out/ci/android_release/zip_archives/android-arm-release + tar -cvf artifact_70.tar darwin-x64.zip + - name: Upload android-arm-release/mac_android_release + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_70 + path: engine/src/out/ci/android_release/zip_archives/android-arm-release/artifact_70.tar + retention-days: 1 + mac_android_release_arm64: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_release_arm64 + - name: Tar engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release/darwin-x64.zip + run: | + cd engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release + tar -cvf artifact_71.tar darwin-x64.zip + - name: Upload android-arm64-release/mac_android_release_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_71 + path: engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release/artifact_71.tar + retention-days: 1 + mac_android_release_x64: + runs-on: macos-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_release_x64 + - name: Tar engine/src/out/ci/android_release_x64/zip_archives/android-x64-release/darwin-x64.zip + run: | + cd engine/src/out/ci/android_release_x64/zip_archives/android-x64-release + tar -cvf artifact_72.tar darwin-x64.zip + - name: Upload android-x64-release/mac_android_release_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_72 + path: engine/src/out/ci/android_release_x64/zip_archives/android-x64-release/artifact_72.tar + retention-days: 1 + linux_android_profile: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_profile + - name: Tar build files + run: | + tar -cvf linux_android_profile.tar engine/src/out/ci/android_profile + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_android_profile-${{ steps.engine_content_hash.outputs.value }} + path: linux_android_profile.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile/zip_archives/android-arm-profile/artifacts.zip + run: | + cd engine/src/out/ci/android_profile/zip_archives/android-arm-profile + tar -cvf artifact_73.tar artifacts.zip + - name: Upload android-arm-profile/linux_android_profile + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_73 + path: engine/src/out/ci/android_profile/zip_archives/android-arm-profile/artifact_73.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile/zip_archives/android-arm-profile/linux-x64.zip + run: | + cd engine/src/out/ci/android_profile/zip_archives/android-arm-profile + tar -cvf artifact_74.tar linux-x64.zip + - name: Upload android-arm-profile/linux_android_profile + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_74 + path: engine/src/out/ci/android_profile/zip_archives/android-arm-profile/artifact_74.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile/zip_archives/android-arm-profile/symbols.zip + run: | + cd engine/src/out/ci/android_profile/zip_archives/android-arm-profile + tar -cvf artifact_75.tar symbols.zip + - name: Upload android-arm-profile/linux_android_profile + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_75 + path: engine/src/out/ci/android_profile/zip_archives/android-arm-profile/artifact_75.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile/zip_archives/download.flutter.io + run: | + cd engine/src/out/ci/android_profile/zip_archives + tar -cvf artifact_76.tar download.flutter.io + - name: Upload /linux_android_profile + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_76 + path: engine/src/out/ci/android_profile/zip_archives/artifact_76.tar + retention-days: 1 + linux_android_release: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_release + - name: Tar build files + run: | + tar -cvf linux_android_release.tar engine/src/out/ci/android_release + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_android_release-${{ steps.engine_content_hash.outputs.value }} + path: linux_android_release.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release/zip_archives/android-arm-release/artifacts.zip + run: | + cd engine/src/out/ci/android_release/zip_archives/android-arm-release + tar -cvf artifact_77.tar artifacts.zip + - name: Upload android-arm-release/linux_android_release + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_77 + path: engine/src/out/ci/android_release/zip_archives/android-arm-release/artifact_77.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release/zip_archives/android-arm-release/linux-x64.zip + run: | + cd engine/src/out/ci/android_release/zip_archives/android-arm-release + tar -cvf artifact_78.tar linux-x64.zip + - name: Upload android-arm-release/linux_android_release + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_78 + path: engine/src/out/ci/android_release/zip_archives/android-arm-release/artifact_78.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release/zip_archives/android-arm-release/symbols.zip + run: | + cd engine/src/out/ci/android_release/zip_archives/android-arm-release + tar -cvf artifact_79.tar symbols.zip + - name: Upload android-arm-release/linux_android_release + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_79 + path: engine/src/out/ci/android_release/zip_archives/android-arm-release/artifact_79.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release/zip_archives/download.flutter.io + run: | + cd engine/src/out/ci/android_release/zip_archives + tar -cvf artifact_80.tar download.flutter.io + - name: Upload /linux_android_release + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_80 + path: engine/src/out/ci/android_release/zip_archives/artifact_80.tar + retention-days: 1 + linux_android_release_arm64: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_release_arm64 + - name: Tar build files + run: | + tar -cvf linux_android_release_arm64.tar engine/src/out/ci/android_release_arm64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_android_release_arm64-${{ steps.engine_content_hash.outputs.value }} + path: linux_android_release_arm64.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release/artifacts.zip + run: | + cd engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release + tar -cvf artifact_81.tar artifacts.zip + - name: Upload android-arm64-release/linux_android_release_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_81 + path: engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release/artifact_81.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release/linux-x64.zip + run: | + cd engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release + tar -cvf artifact_82.tar linux-x64.zip + - name: Upload android-arm64-release/linux_android_release_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_82 + path: engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release/artifact_82.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release/symbols.zip + run: | + cd engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release + tar -cvf artifact_83.tar symbols.zip + - name: Upload android-arm64-release/linux_android_release_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_83 + path: engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release/artifact_83.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release/analyze-snapshot-linux-x64.zip + run: | + cd engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release + tar -cvf artifact_84.tar analyze-snapshot-linux-x64.zip + - name: Upload android-arm64-release/linux_android_release_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_84 + path: engine/src/out/ci/android_release_arm64/zip_archives/android-arm64-release/artifact_84.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_arm64/zip_archives/download.flutter.io + run: | + cd engine/src/out/ci/android_release_arm64/zip_archives + tar -cvf artifact_85.tar download.flutter.io + - name: Upload /linux_android_release_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_85 + path: engine/src/out/ci/android_release_arm64/zip_archives/artifact_85.tar + retention-days: 1 + linux_android_profile_arm64: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_profile_arm64 + - name: Tar build files + run: | + tar -cvf linux_android_profile_arm64.tar engine/src/out/ci/android_profile_arm64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_android_profile_arm64-${{ steps.engine_content_hash.outputs.value }} + path: linux_android_profile_arm64.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile/artifacts.zip + run: | + cd engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile + tar -cvf artifact_86.tar artifacts.zip + - name: Upload android-arm64-profile/linux_android_profile_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_86 + path: engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile/artifact_86.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile/linux-x64.zip + run: | + cd engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile + tar -cvf artifact_87.tar linux-x64.zip + - name: Upload android-arm64-profile/linux_android_profile_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_87 + path: engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile/artifact_87.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile/symbols.zip + run: | + cd engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile + tar -cvf artifact_88.tar symbols.zip + - name: Upload android-arm64-profile/linux_android_profile_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_88 + path: engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile/artifact_88.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile/analyze-snapshot-linux-x64.zip + run: | + cd engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile + tar -cvf artifact_89.tar analyze-snapshot-linux-x64.zip + - name: Upload android-arm64-profile/linux_android_profile_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_89 + path: engine/src/out/ci/android_profile_arm64/zip_archives/android-arm64-profile/artifact_89.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_arm64/zip_archives/download.flutter.io + run: | + cd engine/src/out/ci/android_profile_arm64/zip_archives + tar -cvf artifact_90.tar download.flutter.io + - name: Upload /linux_android_profile_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_90 + path: engine/src/out/ci/android_profile_arm64/zip_archives/artifact_90.tar + retention-days: 1 + linux_android_profile_x64: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_profile_x64 + - name: Tar build files + run: | + tar -cvf linux_android_profile_x64.tar engine/src/out/ci/android_profile_x64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_android_profile_x64-${{ steps.engine_content_hash.outputs.value }} + path: linux_android_profile_x64.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile/artifacts.zip + run: | + cd engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile + tar -cvf artifact_91.tar artifacts.zip + - name: Upload android-x64-profile/linux_android_profile_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_91 + path: engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile/artifact_91.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile/linux-x64.zip + run: | + cd engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile + tar -cvf artifact_92.tar linux-x64.zip + - name: Upload android-x64-profile/linux_android_profile_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_92 + path: engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile/artifact_92.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile/symbols.zip + run: | + cd engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile + tar -cvf artifact_93.tar symbols.zip + - name: Upload android-x64-profile/linux_android_profile_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_93 + path: engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile/artifact_93.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile/analyze-snapshot-linux-x64.zip + run: | + cd engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile + tar -cvf artifact_94.tar analyze-snapshot-linux-x64.zip + - name: Upload android-x64-profile/linux_android_profile_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_94 + path: engine/src/out/ci/android_profile_x64/zip_archives/android-x64-profile/artifact_94.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_x64/zip_archives/download.flutter.io + run: | + cd engine/src/out/ci/android_profile_x64/zip_archives + tar -cvf artifact_95.tar download.flutter.io + - name: Upload /linux_android_profile_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_95 + path: engine/src/out/ci/android_profile_x64/zip_archives/artifact_95.tar + retention-days: 1 + linux_android_release_x64: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_release_x64 + - name: Tar build files + run: | + tar -cvf linux_android_release_x64.tar engine/src/out/ci/android_release_x64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_android_release_x64-${{ steps.engine_content_hash.outputs.value }} + path: linux_android_release_x64.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_x64/zip_archives/android-x64-release/artifacts.zip + run: | + cd engine/src/out/ci/android_release_x64/zip_archives/android-x64-release + tar -cvf artifact_96.tar artifacts.zip + - name: Upload android-x64-release/linux_android_release_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_96 + path: engine/src/out/ci/android_release_x64/zip_archives/android-x64-release/artifact_96.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_x64/zip_archives/android-x64-release/linux-x64.zip + run: | + cd engine/src/out/ci/android_release_x64/zip_archives/android-x64-release + tar -cvf artifact_97.tar linux-x64.zip + - name: Upload android-x64-release/linux_android_release_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_97 + path: engine/src/out/ci/android_release_x64/zip_archives/android-x64-release/artifact_97.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_x64/zip_archives/android-x64-release/symbols.zip + run: | + cd engine/src/out/ci/android_release_x64/zip_archives/android-x64-release + tar -cvf artifact_98.tar symbols.zip + - name: Upload android-x64-release/linux_android_release_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_98 + path: engine/src/out/ci/android_release_x64/zip_archives/android-x64-release/artifact_98.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_x64/zip_archives/android-x64-release/analyze-snapshot-linux-x64.zip + run: | + cd engine/src/out/ci/android_release_x64/zip_archives/android-x64-release + tar -cvf artifact_99.tar analyze-snapshot-linux-x64.zip + - name: Upload android-x64-release/linux_android_release_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_99 + path: engine/src/out/ci/android_release_x64/zip_archives/android-x64-release/artifact_99.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_x64/zip_archives/download.flutter.io + run: | + cd engine/src/out/ci/android_release_x64/zip_archives + tar -cvf artifact_100.tar download.flutter.io + - name: Upload /linux_android_release_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_100 + path: engine/src/out/ci/android_release_x64/zip_archives/artifact_100.tar + retention-days: 1 + linux_android_profile_riscv64: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_profile_riscv64 + - name: Tar build files + run: | + tar -cvf linux_android_profile_riscv64.tar engine/src/out/ci/android_profile_riscv64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_android_profile_riscv64-${{ steps.engine_content_hash.outputs.value }} + path: linux_android_profile_riscv64.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile/artifacts.zip + run: | + cd engine/src/out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile + tar -cvf artifact_101.tar artifacts.zip + - name: Upload android-riscv64-profile/linux_android_profile_riscv64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_101 + path: engine/src/out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile/artifact_101.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile/linux-x64.zip + run: | + cd engine/src/out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile + tar -cvf artifact_102.tar linux-x64.zip + - name: Upload android-riscv64-profile/linux_android_profile_riscv64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_102 + path: engine/src/out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile/artifact_102.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile/symbols.zip + run: | + cd engine/src/out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile + tar -cvf artifact_103.tar symbols.zip + - name: Upload android-riscv64-profile/linux_android_profile_riscv64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_103 + path: engine/src/out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile/artifact_103.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile/analyze-snapshot-linux-x64.zip + run: | + cd engine/src/out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile + tar -cvf artifact_104.tar analyze-snapshot-linux-x64.zip + - name: Upload android-riscv64-profile/linux_android_profile_riscv64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_104 + path: engine/src/out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile/artifact_104.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_profile_riscv64/zip_archives/download.flutter.io + run: | + cd engine/src/out/ci/android_profile_riscv64/zip_archives + tar -cvf artifact_105.tar download.flutter.io + - name: Upload /linux_android_profile_riscv64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_105 + path: engine/src/out/ci/android_profile_riscv64/zip_archives/artifact_105.tar + retention-days: 1 + linux_android_release_riscv64: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_release_riscv64 + - name: Tar build files + run: | + tar -cvf linux_android_release_riscv64.tar engine/src/out/ci/android_release_riscv64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_android_release_riscv64-${{ steps.engine_content_hash.outputs.value }} + path: linux_android_release_riscv64.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_riscv64/zip_archives/android-riscv64-release/artifacts.zip + run: | + cd engine/src/out/ci/android_release_riscv64/zip_archives/android-riscv64-release + tar -cvf artifact_106.tar artifacts.zip + - name: Upload android-riscv64-release/linux_android_release_riscv64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_106 + path: engine/src/out/ci/android_release_riscv64/zip_archives/android-riscv64-release/artifact_106.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_riscv64/zip_archives/android-riscv64-release/linux-x64.zip + run: | + cd engine/src/out/ci/android_release_riscv64/zip_archives/android-riscv64-release + tar -cvf artifact_107.tar linux-x64.zip + - name: Upload android-riscv64-release/linux_android_release_riscv64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_107 + path: engine/src/out/ci/android_release_riscv64/zip_archives/android-riscv64-release/artifact_107.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_riscv64/zip_archives/android-riscv64-release/symbols.zip + run: | + cd engine/src/out/ci/android_release_riscv64/zip_archives/android-riscv64-release + tar -cvf artifact_108.tar symbols.zip + - name: Upload android-riscv64-release/linux_android_release_riscv64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_108 + path: engine/src/out/ci/android_release_riscv64/zip_archives/android-riscv64-release/artifact_108.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_riscv64/zip_archives/android-riscv64-release/analyze-snapshot-linux-x64.zip + run: | + cd engine/src/out/ci/android_release_riscv64/zip_archives/android-riscv64-release + tar -cvf artifact_109.tar analyze-snapshot-linux-x64.zip + - name: Upload android-riscv64-release/linux_android_release_riscv64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_109 + path: engine/src/out/ci/android_release_riscv64/zip_archives/android-riscv64-release/artifact_109.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_release_riscv64/zip_archives/download.flutter.io + run: | + cd engine/src/out/ci/android_release_riscv64/zip_archives + tar -cvf artifact_110.tar download.flutter.io + - name: Upload /linux_android_release_riscv64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_110 + path: engine/src/out/ci/android_release_riscv64/zip_archives/artifact_110.tar + retention-days: 1 + linux_android_aot_engine_global: + runs-on: ubuntu-latest + needs: + - linux_android_profile + - linux_android_release + - linux_android_release_arm64 + - linux_android_profile_arm64 + - linux_android_profile_x64 + - linux_android_release_x64 + - linux_android_profile_riscv64 + - linux_android_release_riscv64 + - guard + defaults: + run: + shell: bash + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Download Artifacts from linux_android_profile + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_android_profile-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_android_profile + run: | + tar -xvf linux_android_profile.tar + rm linux_android_profile.tar + - name: Download Artifacts from linux_android_release + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_android_release-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_android_release + run: | + tar -xvf linux_android_release.tar + rm linux_android_release.tar + - name: Download Artifacts from linux_android_release_arm64 + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_android_release_arm64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_android_release_arm64 + run: | + tar -xvf linux_android_release_arm64.tar + rm linux_android_release_arm64.tar + - name: Download Artifacts from linux_android_profile_arm64 + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_android_profile_arm64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_android_profile_arm64 + run: | + tar -xvf linux_android_profile_arm64.tar + rm linux_android_profile_arm64.tar + - name: Download Artifacts from linux_android_profile_x64 + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_android_profile_x64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_android_profile_x64 + run: | + tar -xvf linux_android_profile_x64.tar + rm linux_android_profile_x64.tar + - name: Download Artifacts from linux_android_release_x64 + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_android_release_x64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_android_release_x64 + run: | + tar -xvf linux_android_release_x64.tar + rm linux_android_release_x64.tar + - name: Download Artifacts from linux_android_profile_riscv64 + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_android_profile_riscv64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_android_profile_riscv64 + run: | + tar -xvf linux_android_profile_riscv64.tar + rm linux_android_profile_riscv64.tar + - name: Download Artifacts from linux_android_release_riscv64 + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_android_release_riscv64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_android_release_riscv64 + run: | + tar -xvf linux_android_release_riscv64.tar + rm linux_android_release_riscv64.tar + - name: Run generator Verify-export-symbols-release-binaries + run: | + cd engine/src + ../../bin/dart flutter/testing/symbols/verify_exported.dart \ + src/out/ci \ + src/flutter/buildtools + linux_android_debug: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_debug + - name: Tar build files + run: | + tar -cvf linux_android_debug.tar engine/src/out/ci/android_debug + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_android_debug-${{ steps.engine_content_hash.outputs.value }} + path: linux_android_debug.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug/zip_archives/android-arm/artifacts.zip + run: | + cd engine/src/out/ci/android_debug/zip_archives/android-arm + tar -cvf artifact_111.tar artifacts.zip + - name: Upload android-arm/linux_android_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_111 + path: engine/src/out/ci/android_debug/zip_archives/android-arm/artifact_111.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug/zip_archives/android-arm/android-arm-embedder.zip + run: | + cd engine/src/out/ci/android_debug/zip_archives/android-arm + tar -cvf artifact_112.tar android-arm-embedder.zip + - name: Upload android-arm/linux_android_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_112 + path: engine/src/out/ci/android_debug/zip_archives/android-arm/artifact_112.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug/zip_archives/android-arm/symbols.zip + run: | + cd engine/src/out/ci/android_debug/zip_archives/android-arm + tar -cvf artifact_113.tar symbols.zip + - name: Upload android-arm/linux_android_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_113 + path: engine/src/out/ci/android_debug/zip_archives/android-arm/artifact_113.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug/zip_archives/download.flutter.io + run: | + cd engine/src/out/ci/android_debug/zip_archives + tar -cvf artifact_114.tar download.flutter.io + - name: Upload /linux_android_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_114 + path: engine/src/out/ci/android_debug/zip_archives/artifact_114.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug/zip_archives/sky_engine.zip + run: | + cd engine/src/out/ci/android_debug/zip_archives + tar -cvf artifact_115.tar sky_engine.zip + - name: Upload /linux_android_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_115 + path: engine/src/out/ci/android_debug/zip_archives/artifact_115.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug/zip_archives/android-javadoc.zip + run: | + cd engine/src/out/ci/android_debug/zip_archives + tar -cvf artifact_116.tar android-javadoc.zip + - name: Upload /linux_android_debug + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_116 + path: engine/src/out/ci/android_debug/zip_archives/artifact_116.tar + retention-days: 1 + linux_android_debug_arm64: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_debug_arm64 + - name: Tar build files + run: | + tar -cvf linux_android_debug_arm64.tar engine/src/out/ci/android_debug_arm64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_android_debug_arm64-${{ steps.engine_content_hash.outputs.value }} + path: linux_android_debug_arm64.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_arm64/zip_archives/android-arm64/artifacts.zip + run: | + cd engine/src/out/ci/android_debug_arm64/zip_archives/android-arm64 + tar -cvf artifact_117.tar artifacts.zip + - name: Upload android-arm64/linux_android_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_117 + path: engine/src/out/ci/android_debug_arm64/zip_archives/android-arm64/artifact_117.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_arm64/zip_archives/android-arm64/android-arm64-embedder.zip + run: | + cd engine/src/out/ci/android_debug_arm64/zip_archives/android-arm64 + tar -cvf artifact_118.tar android-arm64-embedder.zip + - name: Upload android-arm64/linux_android_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_118 + path: engine/src/out/ci/android_debug_arm64/zip_archives/android-arm64/artifact_118.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_arm64/zip_archives/android-arm64/symbols.zip + run: | + cd engine/src/out/ci/android_debug_arm64/zip_archives/android-arm64 + tar -cvf artifact_119.tar symbols.zip + - name: Upload android-arm64/linux_android_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_119 + path: engine/src/out/ci/android_debug_arm64/zip_archives/android-arm64/artifact_119.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_arm64/zip_archives/download.flutter.io + run: | + cd engine/src/out/ci/android_debug_arm64/zip_archives + tar -cvf artifact_120.tar download.flutter.io + - name: Upload /linux_android_debug_arm64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_120 + path: engine/src/out/ci/android_debug_arm64/zip_archives/artifact_120.tar + retention-days: 1 + linux_android_debug_x86: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_debug_x86 + - name: Tar build files + run: | + tar -cvf linux_android_debug_x86.tar engine/src/out/ci/android_debug_x86 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_android_debug_x86-${{ steps.engine_content_hash.outputs.value }} + path: linux_android_debug_x86.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_x86/zip_archives/android-x86/artifacts.zip + run: | + cd engine/src/out/ci/android_debug_x86/zip_archives/android-x86 + tar -cvf artifact_121.tar artifacts.zip + - name: Upload android-x86/linux_android_debug_x86 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_121 + path: engine/src/out/ci/android_debug_x86/zip_archives/android-x86/artifact_121.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_x86/zip_archives/android-x86/android-x86-embedder.zip + run: | + cd engine/src/out/ci/android_debug_x86/zip_archives/android-x86 + tar -cvf artifact_122.tar android-x86-embedder.zip + - name: Upload android-x86/linux_android_debug_x86 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_122 + path: engine/src/out/ci/android_debug_x86/zip_archives/android-x86/artifact_122.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_x86/zip_archives/android-x86/symbols.zip + run: | + cd engine/src/out/ci/android_debug_x86/zip_archives/android-x86 + tar -cvf artifact_123.tar symbols.zip + - name: Upload android-x86/linux_android_debug_x86 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_123 + path: engine/src/out/ci/android_debug_x86/zip_archives/android-x86/artifact_123.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_x86/zip_archives/download.flutter.io + run: | + cd engine/src/out/ci/android_debug_x86/zip_archives + tar -cvf artifact_124.tar download.flutter.io + - name: Upload /linux_android_debug_x86 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_124 + path: engine/src/out/ci/android_debug_x86/zip_archives/artifact_124.tar + retention-days: 1 + linux_android_debug_x64: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_debug_x64 + - name: Tar build files + run: | + tar -cvf linux_android_debug_x64.tar engine/src/out/ci/android_debug_x64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_android_debug_x64-${{ steps.engine_content_hash.outputs.value }} + path: linux_android_debug_x64.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_x64/zip_archives/android-x64/artifacts.zip + run: | + cd engine/src/out/ci/android_debug_x64/zip_archives/android-x64 + tar -cvf artifact_125.tar artifacts.zip + - name: Upload android-x64/linux_android_debug_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_125 + path: engine/src/out/ci/android_debug_x64/zip_archives/android-x64/artifact_125.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_x64/zip_archives/android-x64/android-x64-embedder.zip + run: | + cd engine/src/out/ci/android_debug_x64/zip_archives/android-x64 + tar -cvf artifact_126.tar android-x64-embedder.zip + - name: Upload android-x64/linux_android_debug_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_126 + path: engine/src/out/ci/android_debug_x64/zip_archives/android-x64/artifact_126.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_x64/zip_archives/android-x64/symbols.zip + run: | + cd engine/src/out/ci/android_debug_x64/zip_archives/android-x64 + tar -cvf artifact_127.tar symbols.zip + - name: Upload android-x64/linux_android_debug_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_127 + path: engine/src/out/ci/android_debug_x64/zip_archives/android-x64/artifact_127.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_x64/zip_archives/download.flutter.io + run: | + cd engine/src/out/ci/android_debug_x64/zip_archives + tar -cvf artifact_128.tar download.flutter.io + - name: Upload /linux_android_debug_x64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_128 + path: engine/src/out/ci/android_debug_x64/zip_archives/artifact_128.tar + retention-days: 1 + linux_android_debug_riscv64: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/android_debug_riscv64 + - name: Tar build files + run: | + tar -cvf linux_android_debug_riscv64.tar engine/src/out/ci/android_debug_riscv64 + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: artifacts-linux_android_debug_riscv64-${{ steps.engine_content_hash.outputs.value }} + path: linux_android_debug_riscv64.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_riscv64/zip_archives/android-riscv64/artifacts.zip + run: | + cd engine/src/out/ci/android_debug_riscv64/zip_archives/android-riscv64 + tar -cvf artifact_129.tar artifacts.zip + - name: Upload android-riscv64/linux_android_debug_riscv64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_129 + path: engine/src/out/ci/android_debug_riscv64/zip_archives/android-riscv64/artifact_129.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_riscv64/zip_archives/android-riscv64/android-riscv64-embedder.zip + run: | + cd engine/src/out/ci/android_debug_riscv64/zip_archives/android-riscv64 + tar -cvf artifact_130.tar android-riscv64-embedder.zip + - name: Upload android-riscv64/linux_android_debug_riscv64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_130 + path: engine/src/out/ci/android_debug_riscv64/zip_archives/android-riscv64/artifact_130.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_riscv64/zip_archives/android-riscv64/symbols.zip + run: | + cd engine/src/out/ci/android_debug_riscv64/zip_archives/android-riscv64 + tar -cvf artifact_131.tar symbols.zip + - name: Upload android-riscv64/linux_android_debug_riscv64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_131 + path: engine/src/out/ci/android_debug_riscv64/zip_archives/android-riscv64/artifact_131.tar + retention-days: 1 + - name: Tar engine/src/out/ci/android_debug_riscv64/zip_archives/download.flutter.io + run: | + cd engine/src/out/ci/android_debug_riscv64/zip_archives + tar -cvf artifact_132.tar download.flutter.io + - name: Upload /linux_android_debug_riscv64 + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_132 + path: engine/src/out/ci/android_debug_riscv64/zip_archives/artifact_132.tar + retention-days: 1 + linux_android_debug_engine_global: + runs-on: ubuntu-latest + needs: + - linux_android_debug + - linux_android_debug_arm64 + - linux_android_debug_x86 + - linux_android_debug_x64 + - linux_android_debug_riscv64 + - guard + defaults: + run: + shell: bash + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/standard.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Download Artifacts from linux_android_debug + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_android_debug-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_android_debug + run: | + tar -xvf linux_android_debug.tar + rm linux_android_debug.tar + - name: Download Artifacts from linux_android_debug_arm64 + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_android_debug_arm64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_android_debug_arm64 + run: | + tar -xvf linux_android_debug_arm64.tar + rm linux_android_debug_arm64.tar + - name: Download Artifacts from linux_android_debug_x86 + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_android_debug_x86-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_android_debug_x86 + run: | + tar -xvf linux_android_debug_x86.tar + rm linux_android_debug_x86.tar + - name: Download Artifacts from linux_android_debug_x64 + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_android_debug_x64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_android_debug_x64 + run: | + tar -xvf linux_android_debug_x64.tar + rm linux_android_debug_x64.tar + - name: Download Artifacts from linux_android_debug_riscv64 + uses: actions/download-artifact@v4 + with: + name: artifacts-linux_android_debug_riscv64-${{ steps.engine_content_hash.outputs.value }} + - name: Extract Artifacts from linux_android_debug_riscv64 + run: | + tar -xvf linux_android_debug_riscv64.tar + rm linux_android_debug_riscv64.tar + - name: Run generator Verify-export-symbols-release-binaries + run: | + cd engine/src + ../../bin/dart flutter/testing/symbols/verify_exported.dart \ + src/out/ci \ + src/flutter/buildtools + linux_wasm_release: + runs-on: ubuntu-latest + defaults: + run: + shell: bash + needs: + - guard + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + if: runner.os != 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Free disk space + if: runner.os == 'Linux' && runner.arch == 'X64' + run: curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash + - name: Set up depot_tools + if: runner.os == 'Windows' + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools") + echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Copy gclient file + run: | + cp engine/scripts/web.gclient .gclient + - name: GClient sync + run: | + gclient sync -D --no-history --shallow --with_branch_heads + - name: Build engine + run: | + cd engine/src + ./flutter/bin/et build --config ci/wasm_release + - name: Tar engine/src/out/wasm_release/zip_archives/flutter-web-sdk.zip + run: | + cd engine/src/out/wasm_release/zip_archives + tar -cvf artifact_133.tar flutter-web-sdk.zip + - name: Upload /linux_wasm_release + uses: actions/upload-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_133 + path: engine/src/out/wasm_release/zip_archives/artifact_133.tar + retention-days: 1 + publish_artifacts: + defaults: + run: + shell: bash + needs: + - mac_host_debug + - mac_host_profile + - mac_host_release + - mac_debug_arm64 + - mac_profile_arm64 + - mac_release_arm64 + - mac_host_engine_global + - mac_ios_engine_no_ext_safe_global + - windows_host_debug + - windows_host_profile + - windows_host_release + - windows_host_debug_arm64 + - windows_host_profile_arm64 + - windows_host_release_arm64 + - linux_host_debug + - linux_host_release + - linux_host_engine_global + - linux_host_debug_desktop + - linux_host_profile_desktop + - linux_host_release_desktop + - linux_profile_arm64 + - linux_debug_arm64 + - linux_release_arm64 + - windows_android_profile + - windows_android_profile_arm64 + - windows_android_profile_x64 + - windows_android_release + - windows_android_release_arm64 + - windows_android_release_x64 + - mac_android_profile + - mac_android_profile_arm64 + - mac_android_profile_x64 + - mac_android_release + - mac_android_release_arm64 + - mac_android_release_x64 + - linux_android_profile + - linux_android_release + - linux_android_release_arm64 + - linux_android_profile_arm64 + - linux_android_profile_x64 + - linux_android_release_x64 + - linux_android_profile_riscv64 + - linux_android_release_riscv64 + - linux_android_debug + - linux_android_debug_arm64 + - linux_android_debug_x86 + - linux_android_debug_x64 + - linux_android_debug_riscv64 + - linux_wasm_release + - guard + runs-on: ubuntu-latest + if: ${{ needs.guard.outputs.should_run == 'true' }} + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + path: '' + - name: Set up depot_tools + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools + # Append depot_tools to the PATH for subsequent steps + echo "$HOME/depot_tools" >> $GITHUB_PATH + - name: Generate engine content hash + id: engine_content_hash + run: | + engine_content_hash=$(bin/internal/content_aware_hash.sh) + echo "::notice:: Engine content hash: ${engine_content_hash}" + echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT + - name: Download darwin-x64/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_0 + path: artifact-0/ + - name: Extract darwin-x64/artifacts.zip + run: | + tar -xvf artifact-0/artifact_0.tar -C artifact-0/ + rm artifact-0/artifact_0.tar + - name: Download /dart-sdk-darwin-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_1 + path: artifact-1/ + - name: Extract /dart-sdk-darwin-x64.zip + run: | + tar -xvf artifact-1/artifact_1.tar -C artifact-1/ + rm artifact-1/artifact_1.tar + - name: Download darwin-x64-profile/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_2 + path: artifact-2/ + - name: Extract darwin-x64-profile/artifacts.zip + run: | + tar -xvf artifact-2/artifact_2.tar -C artifact-2/ + rm artifact-2/artifact_2.tar + - name: Download darwin-x64-release/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_3 + path: artifact-3/ + - name: Extract darwin-x64-release/artifacts.zip + run: | + tar -xvf artifact-3/artifact_3.tar -C artifact-3/ + rm artifact-3/artifact_3.tar + - name: Download darwin-x64/font-subset.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_4 + path: artifact-4/ + - name: Extract darwin-x64/font-subset.zip + run: | + tar -xvf artifact-4/artifact_4.tar -C artifact-4/ + rm artifact-4/artifact_4.tar + - name: Download darwin-arm64/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_5 + path: artifact-5/ + - name: Extract darwin-arm64/artifacts.zip + run: | + tar -xvf artifact-5/artifact_5.tar -C artifact-5/ + rm artifact-5/artifact_5.tar + - name: Download /dart-sdk-darwin-arm64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_6 + path: artifact-6/ + - name: Extract /dart-sdk-darwin-arm64.zip + run: | + tar -xvf artifact-6/artifact_6.tar -C artifact-6/ + rm artifact-6/artifact_6.tar + - name: Download darwin-arm64-profile/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_7 + path: artifact-7/ + - name: Extract darwin-arm64-profile/artifacts.zip + run: | + tar -xvf artifact-7/artifact_7.tar -C artifact-7/ + rm artifact-7/artifact_7.tar + - name: Download darwin-arm64/font-subset.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_8 + path: artifact-8/ + - name: Extract darwin-arm64/font-subset.zip + run: | + tar -xvf artifact-8/artifact_8.tar -C artifact-8/ + rm artifact-8/artifact_8.tar + - name: Download darwin-arm64-release/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_9 + path: artifact-9/ + - name: Extract darwin-arm64-release/artifacts.zip + run: | + tar -xvf artifact-9/artifact_9.tar -C artifact-9/ + rm artifact-9/artifact_9.tar + - name: Download darwin-x64/FlutterEmbedder.framework.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_10 + path: artifact-10/ + - name: Extract darwin-x64/FlutterEmbedder.framework.zip + run: | + tar -xvf artifact-10/artifact_10.tar -C artifact-10/ + rm artifact-10/artifact_10.tar + - name: Download darwin-x64/FlutterMacOS.framework.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_11 + path: artifact-11/ + - name: Extract darwin-x64/FlutterMacOS.framework.zip + run: | + tar -xvf artifact-11/artifact_11.tar -C artifact-11/ + rm artifact-11/artifact_11.tar + - name: Download darwin-x64-profile/FlutterMacOS.framework.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_12 + path: artifact-12/ + - name: Extract darwin-x64-profile/FlutterMacOS.framework.zip + run: | + tar -xvf artifact-12/artifact_12.tar -C artifact-12/ + rm artifact-12/artifact_12.tar + - name: Download darwin-x64-release/FlutterMacOS.framework.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_13 + path: artifact-13/ + - name: Extract darwin-x64-release/FlutterMacOS.framework.zip + run: | + tar -xvf artifact-13/artifact_13.tar -C artifact-13/ + rm artifact-13/artifact_13.tar + - name: Download darwin-x64/gen_snapshot.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_14 + path: artifact-14/ + - name: Extract darwin-x64/gen_snapshot.zip + run: | + tar -xvf artifact-14/artifact_14.tar -C artifact-14/ + rm artifact-14/artifact_14.tar + - name: Download darwin-x64-profile/gen_snapshot.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_15 + path: artifact-15/ + - name: Extract darwin-x64-profile/gen_snapshot.zip + run: | + tar -xvf artifact-15/artifact_15.tar -C artifact-15/ + rm artifact-15/artifact_15.tar + - name: Download darwin-x64-release/gen_snapshot.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_16 + path: artifact-16/ + - name: Extract darwin-x64-release/gen_snapshot.zip + run: | + tar -xvf artifact-16/artifact_16.tar -C artifact-16/ + rm artifact-16/artifact_16.tar + - name: Download darwin-x64/framework.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_17 + path: artifact-17/ + - name: Extract darwin-x64/framework.zip + run: | + tar -xvf artifact-17/artifact_17.tar -C artifact-17/ + rm artifact-17/artifact_17.tar + - name: Download darwin-x64-profile/framework.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_18 + path: artifact-18/ + - name: Extract darwin-x64-profile/framework.zip + run: | + tar -xvf artifact-18/artifact_18.tar -C artifact-18/ + rm artifact-18/artifact_18.tar + - name: Download darwin-x64-release/framework.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_19 + path: artifact-19/ + - name: Extract darwin-x64-release/framework.zip + run: | + tar -xvf artifact-19/artifact_19.tar -C artifact-19/ + rm artifact-19/artifact_19.tar + - name: Download ios/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_20 + path: artifact-20/ + - name: Extract ios/artifacts.zip + run: | + tar -xvf artifact-20/artifact_20.tar -C artifact-20/ + rm artifact-20/artifact_20.tar + - name: Download ios-profile/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_21 + path: artifact-21/ + - name: Extract ios-profile/artifacts.zip + run: | + tar -xvf artifact-21/artifact_21.tar -C artifact-21/ + rm artifact-21/artifact_21.tar + - name: Download ios-release/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_22 + path: artifact-22/ + - name: Extract ios-release/artifacts.zip + run: | + tar -xvf artifact-22/artifact_22.tar -C artifact-22/ + rm artifact-22/artifact_22.tar + - name: Download windows-x64/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_23 + path: artifact-23/ + - name: Extract windows-x64/artifacts.zip + run: | + tar -xvf artifact-23/artifact_23.tar -C artifact-23/ + rm artifact-23/artifact_23.tar + - name: Download windows-x64/windows-x64-embedder.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_24 + path: artifact-24/ + - name: Extract windows-x64/windows-x64-embedder.zip + run: | + tar -xvf artifact-24/artifact_24.tar -C artifact-24/ + rm artifact-24/artifact_24.tar + - name: Download windows-x64/font-subset.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_25 + path: artifact-25/ + - name: Extract windows-x64/font-subset.zip + run: | + tar -xvf artifact-25/artifact_25.tar -C artifact-25/ + rm artifact-25/artifact_25.tar + - name: Download /dart-sdk-windows-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_26 + path: artifact-26/ + - name: Extract /dart-sdk-windows-x64.zip + run: | + tar -xvf artifact-26/artifact_26.tar -C artifact-26/ + rm artifact-26/artifact_26.tar + - name: Download windows-x64-debug/windows-x64-flutter.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_27 + path: artifact-27/ + - name: Extract windows-x64-debug/windows-x64-flutter.zip + run: | + tar -xvf artifact-27/artifact_27.tar -C artifact-27/ + rm artifact-27/artifact_27.tar + - name: Download windows-x64/flutter-cpp-client-wrapper.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_28 + path: artifact-28/ + - name: Extract windows-x64/flutter-cpp-client-wrapper.zip + run: | + tar -xvf artifact-28/artifact_28.tar -C artifact-28/ + rm artifact-28/artifact_28.tar + - name: Download windows-x64-profile/windows-x64-flutter.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_29 + path: artifact-29/ + - name: Extract windows-x64-profile/windows-x64-flutter.zip + run: | + tar -xvf artifact-29/artifact_29.tar -C artifact-29/ + rm artifact-29/artifact_29.tar + - name: Download windows-x64-release/windows-x64-flutter.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_30 + path: artifact-30/ + - name: Extract windows-x64-release/windows-x64-flutter.zip + run: | + tar -xvf artifact-30/artifact_30.tar -C artifact-30/ + rm artifact-30/artifact_30.tar + - name: Download windows-arm64/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_31 + path: artifact-31/ + - name: Extract windows-arm64/artifacts.zip + run: | + tar -xvf artifact-31/artifact_31.tar -C artifact-31/ + rm artifact-31/artifact_31.tar + - name: Download windows-arm64/windows-arm64-embedder.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_32 + path: artifact-32/ + - name: Extract windows-arm64/windows-arm64-embedder.zip + run: | + tar -xvf artifact-32/artifact_32.tar -C artifact-32/ + rm artifact-32/artifact_32.tar + - name: Download windows-arm64/font-subset.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_33 + path: artifact-33/ + - name: Extract windows-arm64/font-subset.zip + run: | + tar -xvf artifact-33/artifact_33.tar -C artifact-33/ + rm artifact-33/artifact_33.tar + - name: Download /dart-sdk-windows-arm64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_34 + path: artifact-34/ + - name: Extract /dart-sdk-windows-arm64.zip + run: | + tar -xvf artifact-34/artifact_34.tar -C artifact-34/ + rm artifact-34/artifact_34.tar + - name: Download windows-arm64-debug/windows-arm64-flutter.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_35 + path: artifact-35/ + - name: Extract windows-arm64-debug/windows-arm64-flutter.zip + run: | + tar -xvf artifact-35/artifact_35.tar -C artifact-35/ + rm artifact-35/artifact_35.tar + - name: Download windows-arm64/flutter-cpp-client-wrapper.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_36 + path: artifact-36/ + - name: Extract windows-arm64/flutter-cpp-client-wrapper.zip + run: | + tar -xvf artifact-36/artifact_36.tar -C artifact-36/ + rm artifact-36/artifact_36.tar + - name: Download windows-arm64-profile/windows-arm64-flutter.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_37 + path: artifact-37/ + - name: Extract windows-arm64-profile/windows-arm64-flutter.zip + run: | + tar -xvf artifact-37/artifact_37.tar -C artifact-37/ + rm artifact-37/artifact_37.tar + - name: Download windows-arm64-release/windows-arm64-flutter.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_38 + path: artifact-38/ + - name: Extract windows-arm64-release/windows-arm64-flutter.zip + run: | + tar -xvf artifact-38/artifact_38.tar -C artifact-38/ + rm artifact-38/artifact_38.tar + - name: Download /dart-sdk-linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_39 + path: artifact-39/ + - name: Extract /dart-sdk-linux-x64.zip + run: | + tar -xvf artifact-39/artifact_39.tar -C artifact-39/ + rm artifact-39/artifact_39.tar + - name: Download /flutter_patched_sdk.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_40 + path: artifact-40/ + - name: Extract /flutter_patched_sdk.zip + run: | + tar -xvf artifact-40/artifact_40.tar -C artifact-40/ + rm artifact-40/artifact_40.tar + - name: Download linux-x64/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_41 + path: artifact-41/ + - name: Extract linux-x64/artifacts.zip + run: | + tar -xvf artifact-41/artifact_41.tar -C artifact-41/ + rm artifact-41/artifact_41.tar + - name: Download linux-x64/font-subset.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_42 + path: artifact-42/ + - name: Extract linux-x64/font-subset.zip + run: | + tar -xvf artifact-42/artifact_42.tar -C artifact-42/ + rm artifact-42/artifact_42.tar + - name: Download linux-x64/linux-x64-embedder.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_43 + path: artifact-43/ + - name: Extract linux-x64/linux-x64-embedder.zip + run: | + tar -xvf artifact-43/artifact_43.tar -C artifact-43/ + rm artifact-43/artifact_43.tar + - name: Download /flutter_patched_sdk_product.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_44 + path: artifact-44/ + - name: Extract /flutter_patched_sdk_product.zip + run: | + tar -xvf artifact-44/artifact_44.tar -C artifact-44/ + rm artifact-44/artifact_44.tar + - name: Download /ios-docs.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_45 + path: artifact-45/ + - name: Extract /ios-docs.zip + run: | + tar -xvf artifact-45/artifact_45.tar -C artifact-45/ + rm artifact-45/artifact_45.tar + - name: Download /macos-docs.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_46 + path: artifact-46/ + - name: Extract /macos-docs.zip + run: | + tar -xvf artifact-46/artifact_46.tar -C artifact-46/ + rm artifact-46/artifact_46.tar + - name: Download /linux-docs.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_47 + path: artifact-47/ + - name: Extract /linux-docs.zip + run: | + tar -xvf artifact-47/artifact_47.tar -C artifact-47/ + rm artifact-47/artifact_47.tar + - name: Download /windows-docs.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_48 + path: artifact-48/ + - name: Extract /windows-docs.zip + run: | + tar -xvf artifact-48/artifact_48.tar -C artifact-48/ + rm artifact-48/artifact_48.tar + - name: Download /impeller-docs.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_49 + path: artifact-49/ + - name: Extract /impeller-docs.zip + run: | + tar -xvf artifact-49/artifact_49.tar -C artifact-49/ + rm artifact-49/artifact_49.tar + - name: Download /engine_stamp.json + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_50 + path: artifact-50/ + - name: Extract /engine_stamp.json + run: | + tar -xvf artifact-50/artifact_50.tar -C artifact-50/ + rm artifact-50/artifact_50.tar + - name: Download linux-x64-debug/linux-x64-flutter-gtk.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_51 + path: artifact-51/ + - name: Extract linux-x64-debug/linux-x64-flutter-gtk.zip + run: | + tar -xvf artifact-51/artifact_51.tar -C artifact-51/ + rm artifact-51/artifact_51.tar + - name: Download linux-x64-profile/linux-x64-flutter-gtk.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_52 + path: artifact-52/ + - name: Extract linux-x64-profile/linux-x64-flutter-gtk.zip + run: | + tar -xvf artifact-52/artifact_52.tar -C artifact-52/ + rm artifact-52/artifact_52.tar + - name: Download linux-x64-release/linux-x64-flutter-gtk.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_53 + path: artifact-53/ + - name: Extract linux-x64-release/linux-x64-flutter-gtk.zip + run: | + tar -xvf artifact-53/artifact_53.tar -C artifact-53/ + rm artifact-53/artifact_53.tar + - name: Download linux-arm64-profile/linux-arm64-flutter-gtk.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_54 + path: artifact-54/ + - name: Extract linux-arm64-profile/linux-arm64-flutter-gtk.zip + run: | + tar -xvf artifact-54/artifact_54.tar -C artifact-54/ + rm artifact-54/artifact_54.tar + - name: Download linux-arm64/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_55 + path: artifact-55/ + - name: Extract linux-arm64/artifacts.zip + run: | + tar -xvf artifact-55/artifact_55.tar -C artifact-55/ + rm artifact-55/artifact_55.tar + - name: Download linux-arm64/linux-arm64-embedder.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_56 + path: artifact-56/ + - name: Extract linux-arm64/linux-arm64-embedder.zip + run: | + tar -xvf artifact-56/artifact_56.tar -C artifact-56/ + rm artifact-56/artifact_56.tar + - name: Download linux-arm64/font-subset.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_57 + path: artifact-57/ + - name: Extract linux-arm64/font-subset.zip + run: | + tar -xvf artifact-57/artifact_57.tar -C artifact-57/ + rm artifact-57/artifact_57.tar + - name: Download linux-arm64-debug/linux-arm64-flutter-gtk.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_58 + path: artifact-58/ + - name: Extract linux-arm64-debug/linux-arm64-flutter-gtk.zip + run: | + tar -xvf artifact-58/artifact_58.tar -C artifact-58/ + rm artifact-58/artifact_58.tar + - name: Download /dart-sdk-linux-arm64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_59 + path: artifact-59/ + - name: Extract /dart-sdk-linux-arm64.zip + run: | + tar -xvf artifact-59/artifact_59.tar -C artifact-59/ + rm artifact-59/artifact_59.tar + - name: Download linux-arm64-release/linux-arm64-flutter-gtk.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_60 + path: artifact-60/ + - name: Extract linux-arm64-release/linux-arm64-flutter-gtk.zip + run: | + tar -xvf artifact-60/artifact_60.tar -C artifact-60/ + rm artifact-60/artifact_60.tar + - name: Download android-arm-profile/windows-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_61 + path: artifact-61/ + - name: Extract android-arm-profile/windows-x64.zip + run: | + tar -xvf artifact-61/artifact_61.tar -C artifact-61/ + rm artifact-61/artifact_61.tar + - name: Download android-arm64-profile/windows-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_62 + path: artifact-62/ + - name: Extract android-arm64-profile/windows-x64.zip + run: | + tar -xvf artifact-62/artifact_62.tar -C artifact-62/ + rm artifact-62/artifact_62.tar + - name: Download android-x64-profile/windows-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_63 + path: artifact-63/ + - name: Extract android-x64-profile/windows-x64.zip + run: | + tar -xvf artifact-63/artifact_63.tar -C artifact-63/ + rm artifact-63/artifact_63.tar + - name: Download android-arm-release/windows-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_64 + path: artifact-64/ + - name: Extract android-arm-release/windows-x64.zip + run: | + tar -xvf artifact-64/artifact_64.tar -C artifact-64/ + rm artifact-64/artifact_64.tar + - name: Download android-arm64-release/windows-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_65 + path: artifact-65/ + - name: Extract android-arm64-release/windows-x64.zip + run: | + tar -xvf artifact-65/artifact_65.tar -C artifact-65/ + rm artifact-65/artifact_65.tar + - name: Download android-x64-release/windows-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_66 + path: artifact-66/ + - name: Extract android-x64-release/windows-x64.zip + run: | + tar -xvf artifact-66/artifact_66.tar -C artifact-66/ + rm artifact-66/artifact_66.tar + - name: Download android-arm-profile/darwin-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_67 + path: artifact-67/ + - name: Extract android-arm-profile/darwin-x64.zip + run: | + tar -xvf artifact-67/artifact_67.tar -C artifact-67/ + rm artifact-67/artifact_67.tar + - name: Download android-arm64-profile/darwin-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_68 + path: artifact-68/ + - name: Extract android-arm64-profile/darwin-x64.zip + run: | + tar -xvf artifact-68/artifact_68.tar -C artifact-68/ + rm artifact-68/artifact_68.tar + - name: Download android-x64-profile/darwin-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_69 + path: artifact-69/ + - name: Extract android-x64-profile/darwin-x64.zip + run: | + tar -xvf artifact-69/artifact_69.tar -C artifact-69/ + rm artifact-69/artifact_69.tar + - name: Download android-arm-release/darwin-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_70 + path: artifact-70/ + - name: Extract android-arm-release/darwin-x64.zip + run: | + tar -xvf artifact-70/artifact_70.tar -C artifact-70/ + rm artifact-70/artifact_70.tar + - name: Download android-arm64-release/darwin-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_71 + path: artifact-71/ + - name: Extract android-arm64-release/darwin-x64.zip + run: | + tar -xvf artifact-71/artifact_71.tar -C artifact-71/ + rm artifact-71/artifact_71.tar + - name: Download android-x64-release/darwin-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_72 + path: artifact-72/ + - name: Extract android-x64-release/darwin-x64.zip + run: | + tar -xvf artifact-72/artifact_72.tar -C artifact-72/ + rm artifact-72/artifact_72.tar + - name: Download android-arm-profile/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_73 + path: artifact-73/ + - name: Extract android-arm-profile/artifacts.zip + run: | + tar -xvf artifact-73/artifact_73.tar -C artifact-73/ + rm artifact-73/artifact_73.tar + - name: Download android-arm-profile/linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_74 + path: artifact-74/ + - name: Extract android-arm-profile/linux-x64.zip + run: | + tar -xvf artifact-74/artifact_74.tar -C artifact-74/ + rm artifact-74/artifact_74.tar + - name: Download android-arm-profile/symbols.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_75 + path: artifact-75/ + - name: Extract android-arm-profile/symbols.zip + run: | + tar -xvf artifact-75/artifact_75.tar -C artifact-75/ + rm artifact-75/artifact_75.tar + - name: Download /download.flutter.io + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_76 + path: artifact-76/ + - name: Extract /download.flutter.io + run: | + tar -xvf artifact-76/artifact_76.tar -C artifact-76/ + rm artifact-76/artifact_76.tar + - name: Download android-arm-release/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_77 + path: artifact-77/ + - name: Extract android-arm-release/artifacts.zip + run: | + tar -xvf artifact-77/artifact_77.tar -C artifact-77/ + rm artifact-77/artifact_77.tar + - name: Download android-arm-release/linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_78 + path: artifact-78/ + - name: Extract android-arm-release/linux-x64.zip + run: | + tar -xvf artifact-78/artifact_78.tar -C artifact-78/ + rm artifact-78/artifact_78.tar + - name: Download android-arm-release/symbols.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_79 + path: artifact-79/ + - name: Extract android-arm-release/symbols.zip + run: | + tar -xvf artifact-79/artifact_79.tar -C artifact-79/ + rm artifact-79/artifact_79.tar + - name: Download /download.flutter.io + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_80 + path: artifact-80/ + - name: Extract /download.flutter.io + run: | + tar -xvf artifact-80/artifact_80.tar -C artifact-80/ + rm artifact-80/artifact_80.tar + - name: Download android-arm64-release/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_81 + path: artifact-81/ + - name: Extract android-arm64-release/artifacts.zip + run: | + tar -xvf artifact-81/artifact_81.tar -C artifact-81/ + rm artifact-81/artifact_81.tar + - name: Download android-arm64-release/linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_82 + path: artifact-82/ + - name: Extract android-arm64-release/linux-x64.zip + run: | + tar -xvf artifact-82/artifact_82.tar -C artifact-82/ + rm artifact-82/artifact_82.tar + - name: Download android-arm64-release/symbols.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_83 + path: artifact-83/ + - name: Extract android-arm64-release/symbols.zip + run: | + tar -xvf artifact-83/artifact_83.tar -C artifact-83/ + rm artifact-83/artifact_83.tar + - name: Download android-arm64-release/analyze-snapshot-linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_84 + path: artifact-84/ + - name: Extract android-arm64-release/analyze-snapshot-linux-x64.zip + run: | + tar -xvf artifact-84/artifact_84.tar -C artifact-84/ + rm artifact-84/artifact_84.tar + - name: Download /download.flutter.io + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_85 + path: artifact-85/ + - name: Extract /download.flutter.io + run: | + tar -xvf artifact-85/artifact_85.tar -C artifact-85/ + rm artifact-85/artifact_85.tar + - name: Download android-arm64-profile/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_86 + path: artifact-86/ + - name: Extract android-arm64-profile/artifacts.zip + run: | + tar -xvf artifact-86/artifact_86.tar -C artifact-86/ + rm artifact-86/artifact_86.tar + - name: Download android-arm64-profile/linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_87 + path: artifact-87/ + - name: Extract android-arm64-profile/linux-x64.zip + run: | + tar -xvf artifact-87/artifact_87.tar -C artifact-87/ + rm artifact-87/artifact_87.tar + - name: Download android-arm64-profile/symbols.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_88 + path: artifact-88/ + - name: Extract android-arm64-profile/symbols.zip + run: | + tar -xvf artifact-88/artifact_88.tar -C artifact-88/ + rm artifact-88/artifact_88.tar + - name: Download android-arm64-profile/analyze-snapshot-linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_89 + path: artifact-89/ + - name: Extract android-arm64-profile/analyze-snapshot-linux-x64.zip + run: | + tar -xvf artifact-89/artifact_89.tar -C artifact-89/ + rm artifact-89/artifact_89.tar + - name: Download /download.flutter.io + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_90 + path: artifact-90/ + - name: Extract /download.flutter.io + run: | + tar -xvf artifact-90/artifact_90.tar -C artifact-90/ + rm artifact-90/artifact_90.tar + - name: Download android-x64-profile/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_91 + path: artifact-91/ + - name: Extract android-x64-profile/artifacts.zip + run: | + tar -xvf artifact-91/artifact_91.tar -C artifact-91/ + rm artifact-91/artifact_91.tar + - name: Download android-x64-profile/linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_92 + path: artifact-92/ + - name: Extract android-x64-profile/linux-x64.zip + run: | + tar -xvf artifact-92/artifact_92.tar -C artifact-92/ + rm artifact-92/artifact_92.tar + - name: Download android-x64-profile/symbols.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_93 + path: artifact-93/ + - name: Extract android-x64-profile/symbols.zip + run: | + tar -xvf artifact-93/artifact_93.tar -C artifact-93/ + rm artifact-93/artifact_93.tar + - name: Download android-x64-profile/analyze-snapshot-linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_94 + path: artifact-94/ + - name: Extract android-x64-profile/analyze-snapshot-linux-x64.zip + run: | + tar -xvf artifact-94/artifact_94.tar -C artifact-94/ + rm artifact-94/artifact_94.tar + - name: Download /download.flutter.io + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_95 + path: artifact-95/ + - name: Extract /download.flutter.io + run: | + tar -xvf artifact-95/artifact_95.tar -C artifact-95/ + rm artifact-95/artifact_95.tar + - name: Download android-x64-release/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_96 + path: artifact-96/ + - name: Extract android-x64-release/artifacts.zip + run: | + tar -xvf artifact-96/artifact_96.tar -C artifact-96/ + rm artifact-96/artifact_96.tar + - name: Download android-x64-release/linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_97 + path: artifact-97/ + - name: Extract android-x64-release/linux-x64.zip + run: | + tar -xvf artifact-97/artifact_97.tar -C artifact-97/ + rm artifact-97/artifact_97.tar + - name: Download android-x64-release/symbols.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_98 + path: artifact-98/ + - name: Extract android-x64-release/symbols.zip + run: | + tar -xvf artifact-98/artifact_98.tar -C artifact-98/ + rm artifact-98/artifact_98.tar + - name: Download android-x64-release/analyze-snapshot-linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_99 + path: artifact-99/ + - name: Extract android-x64-release/analyze-snapshot-linux-x64.zip + run: | + tar -xvf artifact-99/artifact_99.tar -C artifact-99/ + rm artifact-99/artifact_99.tar + - name: Download /download.flutter.io + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_100 + path: artifact-100/ + - name: Extract /download.flutter.io + run: | + tar -xvf artifact-100/artifact_100.tar -C artifact-100/ + rm artifact-100/artifact_100.tar + - name: Download android-riscv64-profile/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_101 + path: artifact-101/ + - name: Extract android-riscv64-profile/artifacts.zip + run: | + tar -xvf artifact-101/artifact_101.tar -C artifact-101/ + rm artifact-101/artifact_101.tar + - name: Download android-riscv64-profile/linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_102 + path: artifact-102/ + - name: Extract android-riscv64-profile/linux-x64.zip + run: | + tar -xvf artifact-102/artifact_102.tar -C artifact-102/ + rm artifact-102/artifact_102.tar + - name: Download android-riscv64-profile/symbols.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_103 + path: artifact-103/ + - name: Extract android-riscv64-profile/symbols.zip + run: | + tar -xvf artifact-103/artifact_103.tar -C artifact-103/ + rm artifact-103/artifact_103.tar + - name: Download android-riscv64-profile/analyze-snapshot-linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_104 + path: artifact-104/ + - name: Extract android-riscv64-profile/analyze-snapshot-linux-x64.zip + run: | + tar -xvf artifact-104/artifact_104.tar -C artifact-104/ + rm artifact-104/artifact_104.tar + - name: Download /download.flutter.io + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_105 + path: artifact-105/ + - name: Extract /download.flutter.io + run: | + tar -xvf artifact-105/artifact_105.tar -C artifact-105/ + rm artifact-105/artifact_105.tar + - name: Download android-riscv64-release/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_106 + path: artifact-106/ + - name: Extract android-riscv64-release/artifacts.zip + run: | + tar -xvf artifact-106/artifact_106.tar -C artifact-106/ + rm artifact-106/artifact_106.tar + - name: Download android-riscv64-release/linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_107 + path: artifact-107/ + - name: Extract android-riscv64-release/linux-x64.zip + run: | + tar -xvf artifact-107/artifact_107.tar -C artifact-107/ + rm artifact-107/artifact_107.tar + - name: Download android-riscv64-release/symbols.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_108 + path: artifact-108/ + - name: Extract android-riscv64-release/symbols.zip + run: | + tar -xvf artifact-108/artifact_108.tar -C artifact-108/ + rm artifact-108/artifact_108.tar + - name: Download android-riscv64-release/analyze-snapshot-linux-x64.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_109 + path: artifact-109/ + - name: Extract android-riscv64-release/analyze-snapshot-linux-x64.zip + run: | + tar -xvf artifact-109/artifact_109.tar -C artifact-109/ + rm artifact-109/artifact_109.tar + - name: Download /download.flutter.io + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_110 + path: artifact-110/ + - name: Extract /download.flutter.io + run: | + tar -xvf artifact-110/artifact_110.tar -C artifact-110/ + rm artifact-110/artifact_110.tar + - name: Download android-arm/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_111 + path: artifact-111/ + - name: Extract android-arm/artifacts.zip + run: | + tar -xvf artifact-111/artifact_111.tar -C artifact-111/ + rm artifact-111/artifact_111.tar + - name: Download android-arm/android-arm-embedder.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_112 + path: artifact-112/ + - name: Extract android-arm/android-arm-embedder.zip + run: | + tar -xvf artifact-112/artifact_112.tar -C artifact-112/ + rm artifact-112/artifact_112.tar + - name: Download android-arm/symbols.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_113 + path: artifact-113/ + - name: Extract android-arm/symbols.zip + run: | + tar -xvf artifact-113/artifact_113.tar -C artifact-113/ + rm artifact-113/artifact_113.tar + - name: Download /download.flutter.io + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_114 + path: artifact-114/ + - name: Extract /download.flutter.io + run: | + tar -xvf artifact-114/artifact_114.tar -C artifact-114/ + rm artifact-114/artifact_114.tar + - name: Download /sky_engine.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_115 + path: artifact-115/ + - name: Extract /sky_engine.zip + run: | + tar -xvf artifact-115/artifact_115.tar -C artifact-115/ + rm artifact-115/artifact_115.tar + - name: Download /android-javadoc.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_116 + path: artifact-116/ + - name: Extract /android-javadoc.zip + run: | + tar -xvf artifact-116/artifact_116.tar -C artifact-116/ + rm artifact-116/artifact_116.tar + - name: Download android-arm64/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_117 + path: artifact-117/ + - name: Extract android-arm64/artifacts.zip + run: | + tar -xvf artifact-117/artifact_117.tar -C artifact-117/ + rm artifact-117/artifact_117.tar + - name: Download android-arm64/android-arm64-embedder.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_118 + path: artifact-118/ + - name: Extract android-arm64/android-arm64-embedder.zip + run: | + tar -xvf artifact-118/artifact_118.tar -C artifact-118/ + rm artifact-118/artifact_118.tar + - name: Download android-arm64/symbols.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_119 + path: artifact-119/ + - name: Extract android-arm64/symbols.zip + run: | + tar -xvf artifact-119/artifact_119.tar -C artifact-119/ + rm artifact-119/artifact_119.tar + - name: Download /download.flutter.io + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_120 + path: artifact-120/ + - name: Extract /download.flutter.io + run: | + tar -xvf artifact-120/artifact_120.tar -C artifact-120/ + rm artifact-120/artifact_120.tar + - name: Download android-x86/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_121 + path: artifact-121/ + - name: Extract android-x86/artifacts.zip + run: | + tar -xvf artifact-121/artifact_121.tar -C artifact-121/ + rm artifact-121/artifact_121.tar + - name: Download android-x86/android-x86-embedder.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_122 + path: artifact-122/ + - name: Extract android-x86/android-x86-embedder.zip + run: | + tar -xvf artifact-122/artifact_122.tar -C artifact-122/ + rm artifact-122/artifact_122.tar + - name: Download android-x86/symbols.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_123 + path: artifact-123/ + - name: Extract android-x86/symbols.zip + run: | + tar -xvf artifact-123/artifact_123.tar -C artifact-123/ + rm artifact-123/artifact_123.tar + - name: Download /download.flutter.io + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_124 + path: artifact-124/ + - name: Extract /download.flutter.io + run: | + tar -xvf artifact-124/artifact_124.tar -C artifact-124/ + rm artifact-124/artifact_124.tar + - name: Download android-x64/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_125 + path: artifact-125/ + - name: Extract android-x64/artifacts.zip + run: | + tar -xvf artifact-125/artifact_125.tar -C artifact-125/ + rm artifact-125/artifact_125.tar + - name: Download android-x64/android-x64-embedder.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_126 + path: artifact-126/ + - name: Extract android-x64/android-x64-embedder.zip + run: | + tar -xvf artifact-126/artifact_126.tar -C artifact-126/ + rm artifact-126/artifact_126.tar + - name: Download android-x64/symbols.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_127 + path: artifact-127/ + - name: Extract android-x64/symbols.zip + run: | + tar -xvf artifact-127/artifact_127.tar -C artifact-127/ + rm artifact-127/artifact_127.tar + - name: Download /download.flutter.io + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_128 + path: artifact-128/ + - name: Extract /download.flutter.io + run: | + tar -xvf artifact-128/artifact_128.tar -C artifact-128/ + rm artifact-128/artifact_128.tar + - name: Download android-riscv64/artifacts.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_129 + path: artifact-129/ + - name: Extract android-riscv64/artifacts.zip + run: | + tar -xvf artifact-129/artifact_129.tar -C artifact-129/ + rm artifact-129/artifact_129.tar + - name: Download android-riscv64/android-riscv64-embedder.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_130 + path: artifact-130/ + - name: Extract android-riscv64/android-riscv64-embedder.zip + run: | + tar -xvf artifact-130/artifact_130.tar -C artifact-130/ + rm artifact-130/artifact_130.tar + - name: Download android-riscv64/symbols.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_131 + path: artifact-131/ + - name: Extract android-riscv64/symbols.zip + run: | + tar -xvf artifact-131/artifact_131.tar -C artifact-131/ + rm artifact-131/artifact_131.tar + - name: Download /download.flutter.io + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_132 + path: artifact-132/ + - name: Extract /download.flutter.io + run: | + tar -xvf artifact-132/artifact_132.tar -C artifact-132/ + rm artifact-132/artifact_132.tar + - name: Download /flutter-web-sdk.zip + uses: actions/download-artifact@v4 + with: + name: artifact_${{ steps.engine_content_hash.outputs.value }}_133 + path: artifact-133/ + - name: Extract /flutter-web-sdk.zip + run: | + tar -xvf artifact-133/artifact_133.tar -C artifact-133/ + rm artifact-133/artifact_133.tar + - name: Publish darwin-x64/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-0/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-x64 + - name: Publish /dart-sdk-darwin-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-1/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish darwin-x64-profile/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-2/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-x64-profile + - name: Publish darwin-x64-release/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-3/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-x64-release + - name: Publish darwin-x64/font-subset.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-4/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-x64 + - name: Publish darwin-arm64/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-5/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-arm64 + - name: Publish /dart-sdk-darwin-arm64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-6/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish darwin-arm64-profile/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-7/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-arm64-profile + - name: Publish darwin-arm64/font-subset.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-8/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-arm64 + - name: Publish darwin-arm64-release/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-9/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-arm64-release + - name: Publish darwin-x64/FlutterEmbedder.framework.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-10/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-x64 + - name: Publish darwin-x64/FlutterMacOS.framework.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-11/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-x64 + - name: Publish darwin-x64-profile/FlutterMacOS.framework.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-12/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-x64-profile + - name: Publish darwin-x64-release/FlutterMacOS.framework.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-13/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-x64-release + - name: Publish darwin-x64/gen_snapshot.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-14/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-x64 + - name: Publish darwin-x64-profile/gen_snapshot.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-15/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-x64-profile + - name: Publish darwin-x64-release/gen_snapshot.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-16/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-x64-release + - name: Publish darwin-x64/framework.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-17/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-x64 + - name: Publish darwin-x64-profile/framework.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-18/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-x64-profile + - name: Publish darwin-x64-release/framework.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-19/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/darwin-x64-release + - name: Publish ios/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-20/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ios + - name: Publish ios-profile/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-21/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ios-profile + - name: Publish ios-release/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-22/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ios-release + - name: Publish windows-x64/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-23/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/windows-x64 + - name: Publish windows-x64/windows-x64-embedder.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-24/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/windows-x64 + - name: Publish windows-x64/font-subset.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-25/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/windows-x64 + - name: Publish /dart-sdk-windows-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-26/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish windows-x64-debug/windows-x64-flutter.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-27/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/windows-x64-debug + - name: Publish windows-x64/flutter-cpp-client-wrapper.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-28/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/windows-x64 + - name: Publish windows-x64-profile/windows-x64-flutter.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-29/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/windows-x64-profile + - name: Publish windows-x64-release/windows-x64-flutter.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-30/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/windows-x64-release + - name: Publish windows-arm64/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-31/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/windows-arm64 + - name: Publish windows-arm64/windows-arm64-embedder.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-32/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/windows-arm64 + - name: Publish windows-arm64/font-subset.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-33/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/windows-arm64 + - name: Publish /dart-sdk-windows-arm64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-34/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish windows-arm64-debug/windows-arm64-flutter.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-35/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/windows-arm64-debug + - name: Publish windows-arm64/flutter-cpp-client-wrapper.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-36/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/windows-arm64 + - name: Publish windows-arm64-profile/windows-arm64-flutter.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-37/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/windows-arm64-profile + - name: Publish windows-arm64-release/windows-arm64-flutter.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-38/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/windows-arm64-release + - name: Publish /dart-sdk-linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-39/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish /flutter_patched_sdk.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-40/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish linux-x64/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-41/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/linux-x64 + - name: Publish linux-x64/font-subset.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-42/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/linux-x64 + - name: Publish linux-x64/linux-x64-embedder.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-43/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/linux-x64 + - name: Publish /flutter_patched_sdk_product.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-44/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish /ios-docs.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-45/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish /macos-docs.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-46/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish /linux-docs.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-47/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish /windows-docs.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-48/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish /impeller-docs.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-49/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish /engine_stamp.json + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-50/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish linux-x64-debug/linux-x64-flutter-gtk.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-51/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/linux-x64-debug + - name: Publish linux-x64-profile/linux-x64-flutter-gtk.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-52/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/linux-x64-profile + - name: Publish linux-x64-release/linux-x64-flutter-gtk.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-53/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/linux-x64-release + - name: Publish linux-arm64-profile/linux-arm64-flutter-gtk.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-54/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/linux-arm64-profile + - name: Publish linux-arm64/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-55/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/linux-arm64 + - name: Publish linux-arm64/linux-arm64-embedder.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-56/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/linux-arm64 + - name: Publish linux-arm64/font-subset.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-57/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/linux-arm64 + - name: Publish linux-arm64-debug/linux-arm64-flutter-gtk.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-58/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/linux-arm64-debug + - name: Publish /dart-sdk-linux-arm64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-59/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish linux-arm64-release/linux-arm64-flutter-gtk.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-60/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/linux-arm64-release + - name: Publish android-arm-profile/windows-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-61/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm-profile + - name: Publish android-arm64-profile/windows-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-62/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64-profile + - name: Publish android-x64-profile/windows-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-63/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64-profile + - name: Publish android-arm-release/windows-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-64/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm-release + - name: Publish android-arm64-release/windows-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-65/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64-release + - name: Publish android-x64-release/windows-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-66/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64-release + - name: Publish android-arm-profile/darwin-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-67/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm-profile + - name: Publish android-arm64-profile/darwin-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-68/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64-profile + - name: Publish android-x64-profile/darwin-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-69/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64-profile + - name: Publish android-arm-release/darwin-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-70/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm-release + - name: Publish android-arm64-release/darwin-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-71/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64-release + - name: Publish android-x64-release/darwin-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-72/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64-release + - name: Publish android-arm-profile/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-73/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm-profile + - name: Publish android-arm-profile/linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-74/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm-profile + - name: Publish android-arm-profile/symbols.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-75/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm-profile + - name: Publish /download.flutter.io + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-76/ + destination-dir: ./ + - name: Publish android-arm-release/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-77/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm-release + - name: Publish android-arm-release/linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-78/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm-release + - name: Publish android-arm-release/symbols.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-79/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm-release + - name: Publish /download.flutter.io + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-80/ + destination-dir: ./ + - name: Publish android-arm64-release/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-81/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64-release + - name: Publish android-arm64-release/linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-82/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64-release + - name: Publish android-arm64-release/symbols.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-83/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64-release + - name: Publish android-arm64-release/analyze-snapshot-linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-84/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64-release + - name: Publish /download.flutter.io + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-85/ + destination-dir: ./ + - name: Publish android-arm64-profile/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-86/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64-profile + - name: Publish android-arm64-profile/linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-87/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64-profile + - name: Publish android-arm64-profile/symbols.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-88/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64-profile + - name: Publish android-arm64-profile/analyze-snapshot-linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-89/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64-profile + - name: Publish /download.flutter.io + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-90/ + destination-dir: ./ + - name: Publish android-x64-profile/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-91/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64-profile + - name: Publish android-x64-profile/linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-92/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64-profile + - name: Publish android-x64-profile/symbols.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-93/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64-profile + - name: Publish android-x64-profile/analyze-snapshot-linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-94/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64-profile + - name: Publish /download.flutter.io + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-95/ + destination-dir: ./ + - name: Publish android-x64-release/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-96/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64-release + - name: Publish android-x64-release/linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-97/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64-release + - name: Publish android-x64-release/symbols.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-98/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64-release + - name: Publish android-x64-release/analyze-snapshot-linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-99/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64-release + - name: Publish /download.flutter.io + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-100/ + destination-dir: ./ + - name: Publish android-riscv64-profile/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-101/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-riscv64-profile + - name: Publish android-riscv64-profile/linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-102/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-riscv64-profile + - name: Publish android-riscv64-profile/symbols.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-103/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-riscv64-profile + - name: Publish android-riscv64-profile/analyze-snapshot-linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-104/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-riscv64-profile + - name: Publish /download.flutter.io + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-105/ + destination-dir: ./ + - name: Publish android-riscv64-release/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-106/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-riscv64-release + - name: Publish android-riscv64-release/linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-107/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-riscv64-release + - name: Publish android-riscv64-release/symbols.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-108/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-riscv64-release + - name: Publish android-riscv64-release/analyze-snapshot-linux-x64.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-109/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-riscv64-release + - name: Publish /download.flutter.io + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-110/ + destination-dir: ./ + - name: Publish android-arm/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-111/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm + - name: Publish android-arm/android-arm-embedder.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-112/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm + - name: Publish android-arm/symbols.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-113/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm + - name: Publish /download.flutter.io + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-114/ + destination-dir: ./ + - name: Publish /sky_engine.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-115/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish /android-javadoc.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-116/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ + - name: Publish android-arm64/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-117/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64 + - name: Publish android-arm64/android-arm64-embedder.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-118/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64 + - name: Publish android-arm64/symbols.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-119/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-arm64 + - name: Publish /download.flutter.io + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-120/ + destination-dir: ./ + - name: Publish android-x86/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-121/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x86 + - name: Publish android-x86/android-x86-embedder.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-122/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x86 + - name: Publish android-x86/symbols.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-123/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x86 + - name: Publish /download.flutter.io + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-124/ + destination-dir: ./ + - name: Publish android-x64/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-125/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64 + - name: Publish android-x64/android-x64-embedder.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-126/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64 + - name: Publish android-x64/symbols.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-127/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-x64 + - name: Publish /download.flutter.io + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-128/ + destination-dir: ./ + - name: Publish android-riscv64/artifacts.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-129/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-riscv64 + - name: Publish android-riscv64/android-riscv64-embedder.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-130/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-riscv64 + - name: Publish android-riscv64/symbols.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-131/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/android-riscv64 + - name: Publish /download.flutter.io + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-132/ + destination-dir: ./ + - name: Publish /flutter-web-sdk.zip + uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c + with: + r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} + r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} + r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} + r2-bucket: ${{ env.R2_BUCKET }} + source-dir: artifact-133/ + destination-dir: flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/ diff --git a/.vscode/launch.json b/.vscode/launch.json index ce472432..aed3b1d8 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,6 +4,48 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + { + "name": "github workflow generator", + "type": "dart", + "request": "launch", + "cwd": "engine/src/", + "program": "flutter/tools/pkg/github_workflow_generator/bin/run.dart", + "args": [ + "-i", + "flutter/ci/builders/mac_host_engine.json", + "-i", + "flutter/ci/builders/mac_ios_engine_no_ext_safe.json", + "-i", + "flutter/ci/builders/windows_host_engine.json", + "-i", + "flutter/ci/builders/windows_arm_host_engine.json", + "-i", + "flutter/ci/builders/linux_host_engine.json", + "-i", + "flutter/ci/builders/linux_host_desktop_engine.json", + "-i", + "flutter/ci/builders/linux_arm_host_engine.json", + "-i", + "flutter/ci/builders/windows_android_aot_engine.json", + "-i", + "flutter/ci/builders/mac_android_aot_engine.json", + "-i", + "flutter/ci/builders/linux_android_aot_engine.json", + "-i", + "flutter/ci/builders/linux_android_debug_engine.json", + "-i", + "flutter/ci/builders/linux_web_engine_build.json", + "-o", + "../../.github/workflows/build-and-upload-engine-artifacts.yml", + ] + }, + { + "name": "Hello World (debug)", + "type": "dart", + "request": "launch", + "cwd": "examples/hello_world", + "program": "lib/main.dart", + }, { "name": "Hello World (host arm64, debug)", "type": "dart", diff --git a/DEPS b/DEPS index 1a868ea7..2f80286f 100644 --- a/DEPS +++ b/DEPS @@ -446,7 +446,7 @@ deps = { Var('flutter_git') + '/third_party/ocmock' + '@' + Var('ocmock_rev'), 'engine/src/flutter/third_party/libpng': - Var('flutter_git') + '/third_party/libpng' + '@' + 'de36b892e921c684ef718fec24739ae9bb49c977', + Var('flutter_git') + '/third_party/libpng' + '@' + 'f139fd5d80944f5453b079672e50f32ca98ef076', 'engine/src/flutter/third_party/zlib': Var('chromium_git') + '/chromium/src/third_party/zlib.git' + '@' + '7d77fb7fd66d8a5640618ad32c71fdeb7d3e02df', @@ -607,7 +607,7 @@ deps = { 'version': Var('clang_version'), } ], - 'condition': 'host_os == "mac"', # On ARM64 Macs too because Goma doesn't support the host-arm64 toolchain. + 'condition': 'host_os == "mac" and host_cpu == "x64"', 'dep_type': 'cipd', }, @@ -629,7 +629,7 @@ deps = { 'version': Var('clang_version'), } ], - 'condition': 'host_os == "linux" or host_os == "mac"', + 'condition': 'host_os == "linux" and host_cpu == "x64"', 'dep_type': 'cipd', }, diff --git a/bin/flutter b/bin/flutter index 39d3aab8..e3cb97b4 100755 --- a/bin/flutter +++ b/bin/flutter @@ -21,6 +21,8 @@ set -e # Needed because if it is set, cd may print the path it changed to. unset CDPATH +export FLUTTER_STORAGE_BASE_URL=https://engine.flutter0.dev + # On Mac OS, readlink -f doesn't work, so follow_links traverses the path one # link at a time, and then cds into the link destination and find out where it # ends up. diff --git a/bin/flutter-dev b/bin/flutter-dev index b70147e1..0f258f3f 100755 --- a/bin/flutter-dev +++ b/bin/flutter-dev @@ -26,6 +26,8 @@ set -e # Needed because if it is set, cd may print the path it changed to. unset CDPATH +export FLUTTER_STORAGE_BASE_URL=https://engine.flutter0.dev + # On Mac OS, readlink -f doesn't work, so follow_links traverses the path one # link at a time, and then cds into the link destination and find out where it # ends up. diff --git a/bin/flutter-dev.bat b/bin/flutter-dev.bat index 64a913ea..e86a4a6a 100644 --- a/bin/flutter-dev.bat +++ b/bin/flutter-dev.bat @@ -13,6 +13,8 @@ REM -------------------------------------------------------------------------- SETLOCAL +SET FLUTTER_STORAGE_BASE_URL=https://engine.flutter0.dev + REM This is a helper script for development purposes. It runs the Flutter tool REM from source code directly, without using the prebuilt snapshot. This is REM useful for development, as it allows you to make changes to the tool and see diff --git a/bin/flutter.bat b/bin/flutter.bat index 246cbb5d..9eece44d 100644 --- a/bin/flutter.bat +++ b/bin/flutter.bat @@ -16,6 +16,8 @@ SETLOCAL REM To debug the tool, you can uncomment the following line to enable debug mode: REM SET FLUTTER_TOOL_ARGS="--enable-asserts %FLUTTER_TOOL_ARGS%" +SET FLUTTER_STORAGE_BASE_URL=https://engine.flutter0.dev + FOR %%i IN ("%~dp0..") DO SET FLUTTER_ROOT=%%~fi REM If available, add location of bundled mingit to PATH diff --git a/bin/internal/engine.version b/bin/internal/engine.version deleted file mode 100644 index 49e861ae..00000000 --- a/bin/internal/engine.version +++ /dev/null @@ -1 +0,0 @@ -bd34ac7d237e5b9f303ec9952d404f5cb0c7ab32 \ No newline at end of file diff --git a/engine/scripts/slim.gclient b/engine/scripts/slim.gclient new file mode 100644 index 00000000..99eed16e --- /dev/null +++ b/engine/scripts/slim.gclient @@ -0,0 +1,22 @@ +# Copy this file to the root of your flutter checkout to bootstrap gclient +# or just run gclient sync in an empty directory with this file. +solutions = [ + { + "custom_deps": {}, + "deps_file": "DEPS", + "managed": False, + "name": ".", + "safesync_url": "", + + # If you are using SSH to connect to GitHub, change the URL to: + # git@github.com:knopp/flutter_zero.git + "url": "https://github.com/knopp/flutter_zero.git", + + # Uncomment the custom_vars section below if you plan to build the web engine. + "custom_vars": { + "download_esbuild": False, + "download_android_deps" : False, + "download_jdk": False, + }, + }, +] \ No newline at end of file diff --git a/engine/scripts/standard.gclient b/engine/scripts/standard.gclient index a05a39e3..871f1ef7 100644 --- a/engine/scripts/standard.gclient +++ b/engine/scripts/standard.gclient @@ -9,8 +9,8 @@ solutions = [ "safesync_url": "", # If you are using SSH to connect to GitHub, change the URL to: - # git@github.com:flutter/flutter.git - "url": "https://github.com/flutter/flutter.git", + # git@github.com:knopp/flutter_zero.git + "url": "https://github.com/knopp/flutter_zero.git", # Uncomment the custom_vars section below if you plan to build the web engine. # "custom_vars": { diff --git a/engine/scripts/web.gclient b/engine/scripts/web.gclient new file mode 100644 index 00000000..516c5c43 --- /dev/null +++ b/engine/scripts/web.gclient @@ -0,0 +1,22 @@ +# Copy this file to the root of your flutter checkout to bootstrap gclient +# or just run gclient sync in an empty directory with this file. +solutions = [ + { + "custom_deps": {}, + "deps_file": "DEPS", + "managed": False, + "name": ".", + "safesync_url": "", + + # If you are using SSH to connect to GitHub, change the URL to: + # git@github.com:knopp/flutter_zero.git + "url": "https://github.com/knopp/flutter_zero.git", + + # Uncomment the custom_vars section below if you plan to build the web engine. + "custom_vars": { + "download_esbuild": True, + "download_android_deps" : False, + "download_jdk": False, + }, + }, +] \ No newline at end of file diff --git a/engine/src/build/config/darwin/darwin_sdk.gni b/engine/src/build/config/darwin/darwin_sdk.gni index 6c3cd0ce..025027ed 100644 --- a/engine/src/build/config/darwin/darwin_sdk.gni +++ b/engine/src/build/config/darwin/darwin_sdk.gni @@ -67,7 +67,7 @@ declare_args() { ios_swift_lib_paths = [] # Version of iOS that we're targeting for tests. - ios_testing_deployment_target = "13.0" + ios_testing_deployment_target = "14.5" } if (target_os == "ios" || target_os == "macos") { diff --git a/engine/src/build/toolchain/android/BUILD.gn b/engine/src/build/toolchain/android/BUILD.gn index 1fd53092..81585be8 100644 --- a/engine/src/build/toolchain/android/BUILD.gn +++ b/engine/src/build/toolchain/android/BUILD.gn @@ -74,7 +74,7 @@ template("android_toolchain") { if (host_os == "linux") { host_dir = "linux-x64" } else if (host_os == "mac") { - host_dir = "mac-x64" + host_dir = "mac-arm64" } else { assert(false, "Unknown host") } diff --git a/engine/src/build/toolchain/mac/BUILD.gn b/engine/src/build/toolchain/mac/BUILD.gn index a3dfd6f2..cb347d55 100644 --- a/engine/src/build/toolchain/mac/BUILD.gn +++ b/engine/src/build/toolchain/mac/BUILD.gn @@ -461,7 +461,7 @@ if (is_ios) { is_clang = true sysroot_rel = rebase_path(ios_sdk_path, root_build_dir) - sysroot_flags = "-isysroot $sysroot_rel -mios-simulator-version-min=$ios_deployment_target" + sysroot_flags = "-isysroot $sysroot_rel" } # Toolchain used for iOS simulator targets (x64). @@ -478,7 +478,7 @@ if (is_ios) { is_clang = true sysroot_rel = rebase_path(ios_sdk_path, root_build_dir) - sysroot_flags = "-isysroot $sysroot_rel -mios-simulator-version-min=$ios_deployment_target" + sysroot_flags = "-isysroot $sysroot_rel" } } diff --git a/engine/src/flutter/bin/et b/engine/src/flutter/bin/et index a40b078f..c0b06ca3 100755 --- a/engine/src/flutter/bin/et +++ b/engine/src/flutter/bin/et @@ -40,6 +40,9 @@ case "$(uname -m)" in arm64) CPU="arm64" ;; + aarch64) + CPU="arm64" + ;; x86_64) CPU="x64" ;; diff --git a/engine/src/flutter/build/copy_info_plist.py b/engine/src/flutter/build/copy_info_plist.py index de90f0dc..050b8e1d 100644 --- a/engine/src/flutter/build/copy_info_plist.py +++ b/engine/src/flutter/build/copy_info_plist.py @@ -27,6 +27,12 @@ def get_clang_version(): clang_executable = str( os.path.join(_src_root_dir, 'flutter', 'buildtools', 'mac-x64', 'clang', 'bin', 'clang++') ) + if not os.path.exists(clang_executable): + clang_executable = str( + os.path.join( + _src_root_dir, 'flutter', 'buildtools', 'mac-arm64', 'clang', 'bin', 'clang++' + ) + ) version = subprocess.check_output([clang_executable, '--version']) return version.splitlines()[0] diff --git a/engine/src/flutter/ci/bin/format.dart b/engine/src/flutter/ci/bin/format.dart index a796c238..822db068 100644 --- a/engine/src/flutter/ci/bin/format.dart +++ b/engine/src/flutter/ci/bin/format.dart @@ -1261,7 +1261,7 @@ Future _getDiffBaseRevision(ProcessManager processManager, Directory rep if (upstreamUrl.isEmpty) { upstream = 'origin'; } - await _runGit(['fetch', upstream, 'main'], processRunner); + await _runGit(['fetch', upstream, 'master'], processRunner); var result = ''; try { // This is the preferred command to use, but developer checkouts often do diff --git a/engine/src/flutter/ci/builders/linux_android_debug_engine.json b/engine/src/flutter/ci/builders/linux_android_debug_engine.json index 272b75b9..80ff10ff 100644 --- a/engine/src/flutter/ci/builders/linux_android_debug_engine.json +++ b/engine/src/flutter/ci/builders/linux_android_debug_engine.json @@ -23,8 +23,7 @@ "out/ci/android_debug/zip_archives/android-arm/symbols.zip", "out/ci/android_debug/zip_archives/download.flutter.io", "out/ci/android_debug/zip_archives/sky_engine.zip", - "out/ci/android_debug/zip_archives/android-javadoc.zip", - "out/ci/android_debug/zip_archives/flutter_gpu.zip" + "out/ci/android_debug/zip_archives/android-javadoc.zip" ], "realm": "production" } @@ -52,7 +51,6 @@ "targets": [ "flutter", "flutter/sky/dist:zip_old_location", - "flutter/lib/gpu/dist:zip_old_location", "flutter/shell/platform/android:embedding_jars", "flutter/shell/platform/android:abi_jars", "flutter/shell/platform/embedder:embedder-archive" diff --git a/engine/src/flutter/ci/builders/linux_android_emulator.json b/engine/src/flutter/ci/builders/linux_android_emulator.json index 94d43842..101367ff 100644 --- a/engine/src/flutter/ci/builders/linux_android_emulator.json +++ b/engine/src/flutter/ci/builders/linux_android_emulator.json @@ -34,9 +34,6 @@ "ninja": { "config": "ci/android_emulator_debug_x64", "targets": [ - "flutter/impeller/renderer/backend/vulkan:vulkan_android_unittests", - "flutter/impeller/renderer/backend/vulkan:vulkan_android_apk_unittests", - "flutter/impeller/toolkit/android:unittests", "flutter/shell/platform/android:flutter_shell_native_unittests" ] }, @@ -64,12 +61,6 @@ "--type", "android" ] - }, - { - "language": "dart", - "name": "skia_gold_client/e2e_test", - "script": "flutter/testing/skia_gold_client/tool/e2e_test.dart", - "max_attempts": 1 } ] } diff --git a/engine/src/flutter/ci/builders/mac_ios_engine_no_ext_safe.json b/engine/src/flutter/ci/builders/mac_ios_engine_no_ext_safe.json new file mode 100644 index 00000000..9788c3bc --- /dev/null +++ b/engine/src/flutter/ci/builders/mac_ios_engine_no_ext_safe.json @@ -0,0 +1,332 @@ +{ + "_comment": [ + "The builds defined in this file should not contain tests, ", + "and the file should not contain builds that are essentially tests. ", + "The only builds in this file should be the builds necessary to produce ", + "release artifacts. ", + "Tests to run on mac hosts should go in one of the other mac_ build ", + "definition files." + ], + "luci_flags": { + "upload_content_hash": true + }, + "builds": [ + { + "drone_dimensions": [ + "device_type=none", + "os=Mac-15.5|Mac-15.7", + "cpu=arm64" + ], + "gclient_variables": { + "download_android_deps": false, + "download_jdk": false, + "use_rbe": true + }, + "gn": [ + "--target-dir", + "ci/ios_debug_sim", + "--ios", + "--runtime-mode", + "debug", + "--simulator", + "--no-lto", + "--rbe", + "--no-goma", + "--xcode-symlinks" + ], + "name": "ci/ios_debug_sim", + "description": "Produces debug mode artifacts to target the x64 iOS simulator.", + "ninja": { + "config": "ci/ios_debug_sim" + }, + "postsubmit_overrides": { + "gn": [ + "--target-dir", + "ci/ios_debug_sim", + "--ios", + "--runtime-mode", + "debug", + "--simulator", + "--no-lto", + "--no-rbe", + "--no-goma" + ] + }, + "properties": { + "$flutter/osx_sdk": { + "sdk_version": "16c5032a" + } + } + }, + { + "drone_dimensions": [ + "device_type=none", + "os=Mac-15.5|Mac-15.7", + "cpu=arm64" + ], + "gclient_variables": { + "download_android_deps": false, + "download_jdk": false, + "use_rbe": true + }, + "gn": [ + "--target-dir", + "ci/ios_debug_sim_arm64", + "--ios", + "--runtime-mode", + "debug", + "--simulator", + "--simulator-cpu=arm64", + "--no-lto", + "--rbe", + "--no-goma", + "--xcode-symlinks" + ], + "name": "ci/ios_debug_sim_arm64", + "description": "Produces debug mode artifacts to target the arm64 iOS simulator.", + "ninja": { + "config": "ci/ios_debug_sim_arm64" + }, + "postsubmit_overrides": { + "gn": [ + "--target-dir", + "ci/ios_debug_sim_arm64", + "--ios", + "--runtime-mode", + "debug", + "--simulator", + "--simulator-cpu=arm64", + "--no-lto", + "--no-rbe", + "--no-goma" + ] + }, + "properties": { + "$flutter/osx_sdk": { + "sdk_version": "16c5032a" + } + } + }, + { + "drone_dimensions": [ + "device_type=none", + "os=Mac-15.5|Mac-15.7", + "cpu=arm64" + ], + "gclient_variables": { + "download_android_deps": false, + "download_jdk": false, + "use_rbe": true + }, + "gn": [ + "--target-dir", + "ci/ios_debug", + "--ios", + "--runtime-mode", + "debug", + "--rbe", + "--no-goma", + "--xcode-symlinks" + ], + "name": "ci/ios_debug", + "description": "Produces debug mode artifacts to target iOS.", + "ninja": { + "config": "ci/ios_debug", + "targets": [ + "flutter/lib/snapshot:generate_snapshot_bins", + "flutter/shell/platform/darwin/ios:flutter_framework" + ] + }, + "postsubmit_overrides": { + "gn": [ + "--target-dir", + "ci/ios_debug", + "--ios", + "--runtime-mode", + "debug", + "--no-rbe", + "--no-goma" + ] + }, + "properties": { + "$flutter/osx_sdk": { + "sdk_version": "16c5032a" + } + } + }, + { + "drone_dimensions": [ + "device_type=none", + "os=Mac-15.5|Mac-15.7", + "cpu=arm64" + ], + "gclient_variables": { + "download_android_deps": false, + "download_jdk": false, + "use_rbe": true + }, + "gn": [ + "--target-dir", + "ci/ios_profile", + "--ios", + "--runtime-mode", + "profile", + "--rbe", + "--no-goma", + "--xcode-symlinks" + ], + "name": "ci/ios_profile", + "description": "Produces profile mode artifacts to target iOS.", + "ninja": { + "config": "ci/ios_profile", + "targets": [ + "flutter/lib/snapshot:generate_snapshot_bins", + "flutter/shell/platform/darwin/ios:flutter_framework" + ] + }, + "postsubmit_overrides": { + "gn": [ + "--target-dir", + "ci/ios_profile", + "--ios", + "--runtime-mode", + "profile", + "--no-rbe", + "--no-goma" + ] + }, + "properties": { + "$flutter/osx_sdk": { + "sdk_version": "16c5032a" + } + } + }, + { + "drone_dimensions": [ + "device_type=none", + "os=Mac-15.5|Mac-15.7", + "cpu=arm64" + ], + "gclient_variables": { + "download_android_deps": false, + "download_jdk": false, + "use_rbe": true + }, + "gn": [ + "--target-dir", + "ci/ios_release", + "--ios", + "--runtime-mode", + "release", + "--rbe", + "--no-goma", + "--xcode-symlinks" + ], + "name": "ci/ios_release", + "description": "Produces release mode artifacts to target iOS.", + "ninja": { + "config": "ci/ios_release", + "targets": [ + "flutter/lib/snapshot:generate_snapshot_bins", + "flutter/shell/platform/darwin/ios:flutter_framework" + ] + }, + "postsubmit_overrides": { + "gn": [ + "--target-dir", + "ci/ios_release", + "--ios", + "--runtime-mode", + "release", + "--no-rbe", + "--no-goma" + ] + }, + "properties": { + "$flutter/osx_sdk": { + "sdk_version": "16c5032a" + } + } + } + ], + "generators": { + "tasks": [ + { + "name": "Debug-ios-Flutter.xcframework", + "parameters": [ + "--no-extension-safe-frameworks", + "--dst", + "out/debug", + "--arm64-out-dir", + "out/ci/ios_debug", + "--simulator-x64-out-dir", + "out/ci/ios_debug_sim", + "--simulator-arm64-out-dir", + "out/ci/ios_debug_sim_arm64" + ], + "script": "flutter/sky/tools/create_ios_framework.py", + "language": "python3" + }, + { + "name": "Profile-ios-Flutter.xcframework", + "parameters": [ + "--no-extension-safe-frameworks", + "--dst", + "out/profile", + "--arm64-out-dir", + "out/ci/ios_profile", + "--simulator-x64-out-dir", + "out/ci/ios_debug_sim", + "--simulator-arm64-out-dir", + "out/ci/ios_debug_sim_arm64" + ], + "script": "flutter/sky/tools/create_ios_framework.py", + "language": "python3" + }, + { + "name": "Release-ios-Flutter.xcframework", + "parameters": [ + "--no-extension-safe-frameworks", + "--dst", + "out/release", + "--arm64-out-dir", + "out/ci/ios_release", + "--simulator-x64-out-dir", + "out/ci/ios_debug_sim", + "--simulator-arm64-out-dir", + "out/ci/ios_debug_sim_arm64", + "--dsym", + "--strip" + ], + "script": "flutter/sky/tools/create_ios_framework.py", + "language": "python3" + }, + { + "name": "Verify-export-symbols-release-binaries", + "parameters": [ + "src/out/ci", + "src/flutter/buildtools" + ], + "script": "flutter/testing/symbols/verify_exported.dart", + "language": "dart" + } + ] + }, + "archives": [ + { + "source": "out/debug/artifacts.zip", + "destination": "ios/artifacts.zip", + "realm": "production" + }, + { + "source": "out/profile/artifacts.zip", + "destination": "ios-profile/artifacts.zip", + "realm": "production" + }, + { + "source": "out/release/artifacts.zip", + "destination": "ios-release/artifacts.zip", + "realm": "production" + } + ] +} diff --git a/engine/src/flutter/pubspec.yaml b/engine/src/flutter/pubspec.yaml index 42d668b2..61eb0e69 100644 --- a/engine/src/flutter/pubspec.yaml +++ b/engine/src/flutter/pubspec.yaml @@ -103,6 +103,7 @@ workspace: - tools/pkg/engine_repo_tools - tools/pkg/git_repo_tools - tools/pkg/process_fakes + - tools/pkg/github_workflow_generator # Declare all dependencies that are used by one or more packages. # diff --git a/engine/src/flutter/runtime/dart_vm.cc b/engine/src/flutter/runtime/dart_vm.cc index 8bb0ddbc..763a6ee7 100644 --- a/engine/src/flutter/runtime/dart_vm.cc +++ b/engine/src/flutter/runtime/dart_vm.cc @@ -6,6 +6,7 @@ #include +#include #include #include diff --git a/engine/src/flutter/shell/platform/android/BUILD.gn b/engine/src/flutter/shell/platform/android/BUILD.gn index 291b12f0..ce9e9190 100644 --- a/engine/src/flutter/shell/platform/android/BUILD.gn +++ b/engine/src/flutter/shell/platform/android/BUILD.gn @@ -85,9 +85,7 @@ source_set("flutter_shell_native_src") { defines = [] - libs = [ - "android", - ] + libs = [ "android" ] } action("gen_android_build_config_java") { @@ -638,9 +636,10 @@ action("embedding_jars") { outputs = [] args = [] - base_name = "$root_out_dir/zip_archives/download.flutter.io/io/flutter/" + - "flutter_embedding_$flutter_runtime_mode/1.0.0-$engine_version/" + - "flutter_embedding_$flutter_runtime_mode-1.0.0-${engine_version}" + base_name = + "$root_out_dir/zip_archives/download.flutter.io/io/flutter/" + + "flutter_embedding_$flutter_runtime_mode/1.0.0-${engine_version}/" + + "flutter_embedding_$flutter_runtime_mode-1.0.0-${engine_version}" foreach(source, base_sources) { extension = get_path_info(source, "extension") name = get_path_info(source, "name") @@ -700,6 +699,36 @@ action("embedding_jars") { ] } } + + hash_base_name2 = + "$root_out_dir/zip_archives/download.flutter.io/io/flutter/" + + "flutter_embedding_$flutter_runtime_mode/1.0.0-${content_hash}/" + + "flutter_embedding_$flutter_runtime_mode-1.0.0-${content_hash}" + foreach(source, hash_sources) { + extension = get_path_info(source, "extension") + name = get_path_info(source, "name") + if (extension == "jar") { + outputs += [ + "${hash_base_name2}.jar", + "${hash_base_name2}-sources.jar", + ] + args += [ + "-i", + "${name}.jar", + rebase_path("${hash_base_name2}.jar"), + "-i", + "${name}-sources.jar", + rebase_path("${hash_base_name2}-sources.jar"), + ] + } else { + outputs += [ "${hash_base_name2}.${extension}" ] + args += [ + "-i", + rebase_path(source), + rebase_path("${hash_base_name2}.${extension}"), + ] + } + } } # Renames android artifacts and places them in the final @@ -758,4 +787,19 @@ action("abi_jars") { rebase_path("${hash_base_name}.${extension}"), ] } + + hash_base_name2 = + "$root_out_dir/zip_archives/download.flutter.io/io/flutter/" + + "${artifact_id}/1.0.0-${content_hash}/" + + "${artifact_id}-1.0.0-${content_hash}" + foreach(source, hash_sources) { + extension = get_path_info(source, "extension") + name = get_path_info(source, "name") + outputs += [ "${hash_base_name2}.${extension}" ] + args += [ + "-i", + rebase_path(source), + rebase_path("${hash_base_name2}.${extension}"), + ] + } } diff --git a/engine/src/flutter/shell/platform/embedder/embedder.cc b/engine/src/flutter/shell/platform/embedder/embedder.cc index 515a31e3..08d29bfe 100644 --- a/engine/src/flutter/shell/platform/embedder/embedder.cc +++ b/engine/src/flutter/shell/platform/embedder/embedder.cc @@ -11,6 +11,7 @@ #include #include +#include "flutter/fml/build_config.h" #include "flutter/fml/closure.h" #include "flutter/fml/make_copyable.h" #include "flutter/fml/thread.h" diff --git a/engine/src/flutter/testing/run_tests.py b/engine/src/flutter/testing/run_tests.py index 36c100c2..602c59c9 100755 --- a/engine/src/flutter/testing/run_tests.py +++ b/engine/src/flutter/testing/run_tests.py @@ -779,8 +779,6 @@ def run_android_tests(android_variant='android_debug_unopt', adb_path=None): adb_path = 'adb' run_android_unittest('flutter_shell_native_unittests', android_variant, adb_path) - run_android_unittest('impeller_toolkit_android_unittests', android_variant, adb_path) - run_android_unittest('impeller_vulkan_android_unittests', android_variant, adb_path) def run_objc_tests(ios_variant='ios_debug_sim_unopt', test_filter=None): @@ -1093,6 +1091,7 @@ def contains_png_recursive(directory): return True return False + def main(): parser = argparse.ArgumentParser( description=""" diff --git a/engine/src/flutter/testing/symbols/verify_exported.dart b/engine/src/flutter/testing/symbols/verify_exported.dart index 14e5e42b..65a66f53 100644 --- a/engine/src/flutter/testing/symbols/verify_exported.dart +++ b/engine/src/flutter/testing/symbols/verify_exported.dart @@ -39,15 +39,24 @@ void main(List arguments) { final String engineCheckoutPath = Platform.environment['ENGINE_CHECKOUT_PATH']!; outPath = p.join(engineCheckoutPath, outPath); } - final String buildToolsPath = arguments.length == 1 + String buildToolsPath = arguments.length == 1 ? p.join(p.dirname(outPath), 'flutter', 'buildtools') : arguments[1]; + if (p.isRelative(buildToolsPath)) { + if (!Platform.environment.containsKey('ENGINE_CHECKOUT_PATH')) { + print('ENGINE_CHECKOUT_PATH env variable is mandatory when using relative destination path'); + exit(1); + } + final String engineCheckoutPath = Platform.environment['ENGINE_CHECKOUT_PATH']!; + buildToolsPath = p.join(engineCheckoutPath, buildToolsPath); + } + String platform; if (Platform.isLinux) { platform = 'linux-x64'; } else if (Platform.isMacOS) { - platform = 'mac-x64'; + platform = 'mac-arm64'; } else { throw UnimplementedError('Script only support running on Linux or MacOS.'); } diff --git a/engine/src/flutter/third_party/cpu_features/BUILD.gn b/engine/src/flutter/third_party/cpu_features/BUILD.gn new file mode 100644 index 00000000..45e51b32 --- /dev/null +++ b/engine/src/flutter/third_party/cpu_features/BUILD.gn @@ -0,0 +1,61 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +config("cpu_features_config") { + cflags = [ "-Wno-unused-function" ] + defines = [ + "STACK_LINE_READER_BUFFER_SIZE=1024", + "HAVE_STRONG_GETAUXVAL", + ] + include_dirs = [ "src/include" ] +} + +config("ndk_compat_headers") { + include_dirs = [ "src/ndk_compat" ] +} + +source_set("cpuinfo") { + sources = [ + "src/src/copy.inl", + "src/src/define_introspection.inl", + "src/src/define_introspection_and_hwcaps.inl", + "src/src/equals.inl", + "src/src/filesystem.c", + "src/src/hwcaps.c", + "src/src/stack_line_reader.c", + "src/src/string_view.c", + ] + if (current_cpu == "x86" || current_cpu == "x64") { + sources += [ + "src/src/impl_x86__base_implementation.inl", + "src/src/impl_x86_freebsd.c", + "src/src/impl_x86_linux_or_android.c", + "src/src/impl_x86_macos.c", + "src/src/impl_x86_windows.c", + ] + } else if (current_cpu == "arm") { + sources += [ "src/src/impl_arm_linux_or_android.c" ] + } else if (current_cpu == "arm64") { + sources += [ "src/src/impl_aarch64_linux_or_android.c" ] + } else if (current_cpu == "mips") { + sources += [ "src/src/impl_mips_linux_or_android.c" ] + } else if (current_cpu == "ppc") { + sources += [ "src/src/impl_ppc_linux.c" ] + } else if (current_cpu == "riscv64") { + sources += [ "src/src/impl_riscv_linux.c" ] + } else { + error("Missing definition for architecture: $current_cpu") + } + configs += [ ":cpu_features_config" ] +} + +source_set("ndk_compat") { + sources = [ + "src/ndk_compat/cpu-features.c", + "src/ndk_compat/cpu-features.h", + ] + configs += [ ":cpu_features_config" ] + public_configs = [ ":ndk_compat_headers" ] + deps = [ ":cpuinfo" ] +} diff --git a/engine/src/flutter/tools/pkg/github_workflow_generator/.gitignore b/engine/src/flutter/tools/pkg/github_workflow_generator/.gitignore new file mode 100644 index 00000000..3a857904 --- /dev/null +++ b/engine/src/flutter/tools/pkg/github_workflow_generator/.gitignore @@ -0,0 +1,3 @@ +# https://dart.dev/guides/libraries/private-files +# Created by `dart pub` +.dart_tool/ diff --git a/engine/src/flutter/tools/pkg/github_workflow_generator/README.md b/engine/src/flutter/tools/pkg/github_workflow_generator/README.md new file mode 100644 index 00000000..1c3d6d8c --- /dev/null +++ b/engine/src/flutter/tools/pkg/github_workflow_generator/README.md @@ -0,0 +1,12 @@ +Generates Github Workflows for CI builders descriptions. + +Example usage: + +```bash +cd engine/src +dart flutter/tools/pkg/github_workflow_generator/bin/run.dart \ + -i flutter/ci/builders/mac_host_engine.json \ + -o ../../../.github/workflows/build-and-upload-engine-artifacts.yml +``` + +Multiple input files may be specified for single output file. diff --git a/engine/src/flutter/tools/pkg/github_workflow_generator/analysis_options.yaml b/engine/src/flutter/tools/pkg/github_workflow_generator/analysis_options.yaml new file mode 100644 index 00000000..1b82311c --- /dev/null +++ b/engine/src/flutter/tools/pkg/github_workflow_generator/analysis_options.yaml @@ -0,0 +1,18 @@ +# This file configures the static analysis results for your project (errors, +# warnings, and lints). +# +# This enables the 'recommended' set of lints from `package:lints`. +# This set helps identify many issues that may lead to problems when running +# or consuming Dart code, and enforces writing Dart using a single, idiomatic +# style and format. +# +# If you want a smaller set of lints you can change this to specify +# 'package:lints/core.yaml'. These are just the most critical lints +# (the recommended set includes the core lints). +# The core lints are also what is used by pub.dev for scoring packages. + +include: ../../../analysis_options.yaml + +formatter: + page_width: 120 + trailing_commas: preserve diff --git a/engine/src/flutter/tools/pkg/github_workflow_generator/bin/run.dart b/engine/src/flutter/tools/pkg/github_workflow_generator/bin/run.dart new file mode 100644 index 00000000..783e008a --- /dev/null +++ b/engine/src/flutter/tools/pkg/github_workflow_generator/bin/run.dart @@ -0,0 +1,5 @@ +import 'package:github_workflow_generator/github_workflow_generator.dart' as github_workflow_generator; + +void main(List arguments) { + github_workflow_generator.main(arguments); +} diff --git a/engine/src/flutter/tools/pkg/github_workflow_generator/lib/github_workflow_generator.dart b/engine/src/flutter/tools/pkg/github_workflow_generator/lib/github_workflow_generator.dart new file mode 100644 index 00000000..ab667908 --- /dev/null +++ b/engine/src/flutter/tools/pkg/github_workflow_generator/lib/github_workflow_generator.dart @@ -0,0 +1,578 @@ +// ignore_for_file: avoid_print, specify_nonobvious_local_variable_types, public_member_api_docs + +import 'dart:convert'; +import 'dart:io'; + +import 'package:args/args.dart'; +import 'package:engine_build_configs/engine_build_configs.dart'; +import 'package:path/path.dart' as path; + +class YamlWriter { + YamlWriter() { + root = YamlWriterSection._(this, isArray: false); + } + + late final YamlWriterSection root; + + final _buffer = StringBuffer(); +} + +class _Artifact { + _Artifact({ + required this.artifactName, + required this.sourcePath, + required this.outputPath, + required this.id, + }); + + final String artifactName; + final String sourcePath; + final String outputPath; + final int id; +} + +/// Gathers all artifacts and and publishes them as a very last job +/// in the workflow (to prevent uploading artifacts when some of the workflows fail). +class ArtifactPublisher { + void uploadArtifact( + YamlWriterSection steps, { + required String sourceJobName, + required String sourcePath, + required String outputPath, + }) { + // First tar the artifact to preserve attributes. + final id = _count++; + final sourceDir = path.dirname(sourcePath); + final sourceName = path.basename(sourcePath); + final name = 'artifact_\${{ steps.engine_content_hash.outputs.value }}_$id'; + { + final step = steps.beginMap('name', 'Tar $sourcePath'); + final run = step.beginMap('run', '|'); + run.writeln('cd $sourceDir'); + run.writeln('tar -cvf artifact_$id.tar $sourceName'); + } + { + final step = steps.beginMap('name', 'Upload $outputPath/$sourceJobName'); + step.write('uses', 'actions/upload-artifact@v4'); + final w = step.beginMap('with'); + w.write('name', name); + w.write('path', '$sourceDir/artifact_$id.tar'); + w.write('retention-days', '1'); + } + _dependentJobs.add(sourceJobName); + _artifacts.add( + _Artifact( + artifactName: name, + sourcePath: sourcePath, + outputPath: outputPath, + id: id, + ), + ); + } + + void writePublishJob(YamlWriterSection jobsSection) { + if (_artifacts.isEmpty) { + return; + } + final job = jobsSection.beginMap('publish_artifacts'); + final defaults = job.beginMap('defaults'); + final run = defaults.beginMap('run'); + run.writeln('shell: bash'); + final needs = job.beginArray('needs'); + _dependentJobs.forEach(needs.writeln); + needs.writeln('guard'); + job.write('runs-on', 'ubuntu-latest'); + job.write('if', r"${{ needs.guard.outputs.should_run == 'true' }}"); + final steps = job.beginArray('steps'); + { + final step = steps.beginMap('name', 'Checkout the repository'); + step.write('uses', 'actions/checkout@v4'); + final w = step.beginMap('with'); + w.write('path', "''"); + } + { + final step = steps.beginMap('name', 'Set up depot_tools'); + final run = step.beginMap('run', '|'); + run.writeln(r'git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools'); + run.writeln('# Append depot_tools to the PATH for subsequent steps'); + run.writeln(r'echo "$HOME/depot_tools" >> $GITHUB_PATH'); + } + { + final step = steps.beginMap('name', 'Generate engine content hash'); + step.write('id', 'engine_content_hash'); + final run = step.beginMap('run', '|'); + run.writeln(r'engine_content_hash=$(bin/internal/content_aware_hash.sh)'); + run.writeln(r'echo "::notice:: Engine content hash: ${engine_content_hash}"'); + run.writeln(r'echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT'); + } + for (final artifact in _artifacts) { + final name = path.basename(artifact.sourcePath); + { + final step = steps.beginMap('name', 'Download ${artifact.outputPath}/$name'); + step.write('uses', 'actions/download-artifact@v4'); + final w = step.beginMap('with'); + w.write('name', artifact.artifactName); + w.write('path', 'artifact-${artifact.id}/'); + } + { + // Extract the tarball. + final step = steps.beginMap('name', 'Extract ${artifact.outputPath}/$name'); + final run = step.beginMap('run', '|'); + run.writeln('tar -xvf artifact-${artifact.id}/artifact_${artifact.id}.tar -C artifact-${artifact.id}/'); + run.writeln('rm artifact-${artifact.id}/artifact_${artifact.id}.tar'); + } + } + for (final artifact in _artifacts) { + final name = path.basename(artifact.sourcePath); + final step = steps.beginMap('name', 'Publish ${artifact.outputPath}/$name'); + step.write('uses', 'ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c'); + final w = step.beginMap('with'); + w.write('r2-account-id', r'${{ secrets.R2_ACCOUNT_ID }}'); + w.write('r2-access-key-id', r'${{ secrets.R2_ACCESS_KEY_ID }}'); + w.write('r2-secret-access-key', r'${{ secrets.R2_SECRET_ACCESS_KEY }}'); + w.write('r2-bucket', r'${{ env.R2_BUCKET }}'); + w.write('source-dir', 'artifact-${artifact.id}/'); + if (name.contains('flutter.io')) { + // android + w.write( + 'destination-dir', + './', + ); + } else { + w.write( + 'destination-dir', + 'flutter_infra_release/flutter/\${{ steps.engine_content_hash.outputs.value }}/${artifact.outputPath}', + ); + } + } + } + + final _dependentJobs = {}; + final _artifacts = <_Artifact>[]; + int _count = 0; +} + +class YamlWriterSection { + YamlWriterSection._(this.writer, {required bool isArray}) : _isArray = isArray; + + final YamlWriter writer; + + void writeln(String line) { + final arrayPrefix = _isArray ? '- ' : ''; + writer._buffer.writeln('${' ' * _indentationLevel}$arrayPrefix$line'); + } + + void write(String label, String value) { + final line = value.isEmpty ? '$label:' : '$label: $value'; + writeln(line); + } + + YamlWriterSection beginMap(String label, [String value = '']) { + write(label, value); + final section = YamlWriterSection._(writer, isArray: false); + section._indentationLevel = _indentationLevel + 1; + return section; + } + + YamlWriterSection beginArray(String label, [String value = '']) { + write(label, value); + final section = YamlWriterSection._(writer, isArray: true); + section._indentationLevel = _indentationLevel + 1; + return section; + } + + int _indentationLevel = 0; + final bool _isArray; +} + +class BuildConfigWriter { + BuildConfigWriter({ + required BuilderConfig config, + required YamlWriterSection jobsSections, + required ArtifactPublisher artifactPublisher, + }) : _config = config, + _jobsSections = jobsSections, + _artifactPublisher = artifactPublisher; + + void write() { + for (final build in _config.builds) { + final job = _jobsSections.beginMap(_nameForBuild(build)); + job.write('runs-on', _getRunnerForBuilder(build)); + final defaults = job.beginMap('defaults'); + final run = defaults.beginMap('run'); + run.writeln('shell: bash'); + final needs = job.beginArray('needs'); + needs.writeln('guard'); + job.write('if', r"${{ needs.guard.outputs.should_run == 'true' }}"); + final steps = job.beginArray('steps'); + + _writePrelude(steps); + { + final step = steps.beginMap('name', 'Build engine'); + if (_getRunnerForBuilder(build).startsWith('windows')) { + // et.sh refuses to run on Windows, so we need to use et.bat + step.write('shell', 'cmd'); + final run = step.beginMap('run', '|'); + run.writeln(r'cd engine\src'); + run.writeln('flutter\\bin\\et.bat build --config ${build.name}'); + } else { + final run = step.beginMap('run', '|'); + run.writeln('cd engine/src'); + run.writeln('./flutter/bin/et build --config ${build.name}'); + } + } + for (final generator in build.generators) { + _writeBuildTask(steps, generator); + } + // For global generators we need to upload artifacts so that we can use them + // in dependent jobs. + if (_config.generators.isNotEmpty) { + { + final step = steps.beginMap('name', 'Tar build files'); + final run = step.beginMap('run', '|'); + run.writeln('tar -cvf ${_nameForBuild(build)}.tar engine/src/out/${build.name}'); + } + { + final step = steps.beginMap('name', 'Upload build files'); + step.write('uses', 'actions/upload-artifact@v4'); + final w = step.beginMap('with'); + w.write('name', 'artifacts-${_nameForBuild(build)}-\${{ steps.engine_content_hash.outputs.value }}'); + w.write('path', '${_nameForBuild(build)}.tar'); + w.write('retention-days', '1'); + } + } + for (final archive in build.archives) { + for (final assetPath in archive.includePaths) { + if (!assetPath.startsWith(archive.basePath)) { + throw Exception('Archive include path $assetPath does not start with base path ${archive.basePath}'); + } + final relativePath = assetPath.substring(archive.basePath.length); + var relativePathDir = path.dirname(relativePath); + if (relativePathDir == '.') { + relativePathDir = ''; + } + _artifactPublisher.uploadArtifact( + steps, + sourceJobName: _nameForBuild(build), + sourcePath: 'engine/src/$assetPath', + outputPath: relativePathDir, + ); + } + } + } + if (_config.generators.isNotEmpty || _config.archives.isNotEmpty) { + final globalJobName = '${path.basenameWithoutExtension(_config.path)}_global'; + final job = _jobsSections.beginMap(globalJobName); + job.write('runs-on', _getRunnerForBuilder(_config.builds.first)); + final needs = job.beginArray('needs'); + for (final build in _config.builds) { + needs.writeln(_nameForBuild(build)); + } + needs.writeln('guard'); + final defaults = job.beginMap('defaults'); + final run = defaults.beginMap('run'); + run.writeln('shell: bash'); + job.write('if', r"${{ needs.guard.outputs.should_run == 'true' }}"); + final steps = job.beginArray('steps'); + _writePrelude(steps); + for (final build in _config.builds) { + final step = steps.beginMap('name', 'Download Artifacts from ${_nameForBuild(build)}'); + { + step.write('uses', 'actions/download-artifact@v4'); + final w = step.beginMap('with'); + w.write('name', 'artifacts-${_nameForBuild(build)}-\${{ steps.engine_content_hash.outputs.value }}'); + } + { + final step = steps.beginMap('name', 'Extract Artifacts from ${_nameForBuild(build)}'); + final run = step.beginMap('run', '|'); + run.writeln('tar -xvf ${_nameForBuild(build)}.tar'); + run.writeln('rm ${_nameForBuild(build)}.tar'); + } + } + for (final generator in _config.generators) { + _writeTestTask(steps, generator); + } + for (final archive in _config.archives) { + if (path.basename(archive.source) != path.basename(archive.destination)) { + throw Exception( + 'Global archive source and destination must have the same filename: ${archive.source} vs ${archive.destination}', + ); + } + var relativePathDir = path.dirname(archive.destination); + if (relativePathDir == '.') { + relativePathDir = ''; + } + _artifactPublisher.uploadArtifact( + steps, + sourceJobName: globalJobName, + sourcePath: 'engine/src/${archive.source}', + outputPath: relativePathDir, + ); + } + } + } + + void _writePrelude(YamlWriterSection steps) { + { + final step = steps.beginMap('name', 'Checkout the repository'); + step.write('uses', 'actions/checkout@v4'); + final w = step.beginMap('with'); + w.write('path', "''"); + } + { + final step = steps.beginMap('name', 'Set up depot_tools'); + step.write('if', "runner.os != 'Windows'"); + final run = step.beginMap('run', '|'); + run.writeln(r'git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools'); + run.writeln('# Append depot_tools to the PATH for subsequent steps'); + run.writeln(r'echo "$HOME/depot_tools" >> $GITHUB_PATH'); + } + if (_config.generators.any((b) => b.name == 'api-documentation')) { + final step = steps.beginMap('name', 'Install doxygen'); + step.write('if', "runner.os == 'Linux'"); + step.write('uses', 'ssciwr/doxygen-install@501e53b879da7648ab392ee226f5b90e42148449'); + final w = step.beginMap('with'); + w.write('version', '1.14.0'); + } + { + final step = steps.beginMap('name', 'Free disk space'); + // The script fails on arm64 Linux runners. + step.write('if', "runner.os == 'Linux' && runner.arch == 'X64'"); + step.write( + 'run', + 'curl -fsSL https://raw.githubusercontent.com/apache/arrow/e49d8ae15583ceff03237571569099a6ad62be32/ci/scripts/util_free_space.sh | bash', + ); + } + { + final step = steps.beginMap('name', 'Set up depot_tools'); + step.write('if', "runner.os == 'Windows'"); + final run = step.beginMap('run', '|'); + run.writeln(r'git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/depot_tools'); + run.writeln('# Append depot_tools to the PATH for subsequent steps'); + run.writeln(r'DEPOT_TOOLS_WIN=$(cygpath -w "$HOME/depot_tools")'); + run.writeln(r'echo "$DEPOT_TOOLS_WIN" >> $GITHUB_PATH'); + } + { + final step = steps.beginMap('name', 'Generate engine content hash'); + step.write('id', 'engine_content_hash'); + final run = step.beginMap('run', '|'); + run.writeln(r'engine_content_hash=$(bin/internal/content_aware_hash.sh)'); + run.writeln(r'echo "::notice:: Engine content hash: ${engine_content_hash}"'); + run.writeln(r'echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT'); + } + { + final step = steps.beginMap('name', 'Copy gclient file'); + final run = step.beginMap('run', '|'); + if (path.basename(_config.path).contains('android')) { + run.writeln('cp engine/scripts/standard.gclient .gclient'); + } else if (path.basename(_config.path).contains('web')) { + run.writeln('cp engine/scripts/web.gclient .gclient'); + } else { + run.writeln('cp engine/scripts/slim.gclient .gclient'); + } + } + { + final step = steps.beginMap('name', 'GClient sync'); + final run = step.beginMap('run', '|'); + run.writeln('gclient sync -D --no-history --shallow --with_branch_heads'); + } + } + + String _taskLauncherScript(String script, {required String language}) { + if (language == 'dart') { + return '../../bin/dart $script'; + } else if (language == 'python3') { + return 'python3 $script'; + } else if (language == 'bash' || language == '') { + return script; + } else { + throw Exception('Unsupported generator language: $language'); + } + } + + void _writeBuildTask(YamlWriterSection steps, BuildTask generator) { + final step = steps.beginMap('name', 'Run generator ${generator.name}'); + final run = step.beginMap('run', '|'); + run.writeln('cd engine/src'); + for (final script in generator.scripts) { + final launcher = _taskLauncherScript(script, language: generator.language); + if (generator.parameters.isEmpty) { + run.writeln(launcher); + } else { + run.writeln('$launcher \\'); + for (final (index, arg) in generator.parameters.indexed) { + final suffix = index == generator.parameters.length - 1 ? '' : r' \'; + run.writeln(' $arg$suffix'); + } + } + } + } + + void _writeTestTask(YamlWriterSection steps, TestTask generator) { + final step = steps.beginMap('name', 'Run generator ${generator.name}'); + final run = step.beginMap('run', '|'); + run.writeln('cd engine/src'); + final launcher = _taskLauncherScript(generator.script, language: generator.language); + if (generator.parameters.isEmpty) { + run.writeln(launcher); + } else { + run.writeln('$launcher \\'); + for (final (index, arg) in generator.parameters.indexed) { + final suffix = index == generator.parameters.length - 1 ? '' : r' \'; + run.writeln(' $arg$suffix'); + } + } + } + + String _getRunnerForBuilder(Build build) { + final bool isArm = path.basename(_config.path).contains('_arm_'); + for (final record in build.droneDimensions) { + if (record.startsWith('os=Mac')) { + return 'macos-latest'; + } else if (record.startsWith('os=Linux')) { + return isArm ? 'ubuntu-24.04-arm' : 'ubuntu-latest'; + } else if (record.startsWith('os=Windows')) { + return isArm ? 'windows-11-arm' : 'windows-2022'; + } + } + throw Exception('Unknown OS for build: ${build.name}'); + } + + String _nameForBuild(Build build) { + var name = build.name.replaceAll(r'\', '/'); + if (!name.startsWith('ci/')) { + throw Exception('Unexpected build name format: $name'); + } + name = name.substring(3); // Remove 'ci/' prefix. + final prefix = _prefix(); + if (name.startsWith('${prefix}_')) { + return name; + } else { + return '${_prefix()}_$name'; + } + } + + String _prefix() { + // Get the prefix from config path filename (first part before underscore). + final filename = path.basename(_config.path); + final prefix = filename.split('_').first; + return prefix; + } + + final BuilderConfig _config; + final YamlWriterSection _jobsSections; + final ArtifactPublisher _artifactPublisher; +} + +void _writeGuardJob(YamlWriterSection jobsSection) { + final job = jobsSection.beginMap('guard'); + job.write('runs-on', 'ubuntu-latest'); + final outputs = job.beginMap('outputs'); + outputs.write('should_run', r'${{ steps.check.outputs.should_run }}'); + final steps = job.beginArray('steps'); + { + final step = steps.beginMap('name', 'Checkout the repository'); + step.write('uses', 'actions/checkout@v4'); + final w = step.beginMap('with'); + w.write('path', "''"); + } + { + final step = steps.beginMap('name', 'Generate engine content hash'); + step.write('id', 'engine_content_hash'); + final run = step.beginMap('run', '|'); + run.writeln(r'engine_content_hash=$(bin/internal/content_aware_hash.sh)'); + run.writeln(r'echo "::notice:: Engine content hash: ${engine_content_hash}"'); + run.writeln(r'echo "value=${engine_content_hash}" >> $GITHUB_OUTPUT'); + } + { + final check = steps.beginMap('name', 'Check if engine.stamp exists'); + check.write('id', 'check'); + final run = check.beginMap('run', '|'); + run.writeln( + r'URL="https://engine.flutter0.dev/flutter_infra_release/flutter/${{ steps.engine_content_hash.outputs.value }}/engine_stamp.json"', + ); + run.writeln(r'if curl --head --silent --fail "$URL" > /dev/null; then'); + run.writeln(r' echo "Engine stamp exists at $URL"'); + run.writeln(r' echo "should_run=false" >> $GITHUB_OUTPUT'); + run.writeln(r'else'); + run.writeln(r' echo "Engine stamp does not exist at $URL"'); + run.writeln(r' echo "should_run=true" >> $GITHUB_OUTPUT'); + run.writeln(r'fi'); + } +} + +void main(List arguments) { + final parser = ArgParser(); + parser.addMultiOption( + 'input', + abbr: 'i', + help: 'Path to the builder config JSON file.', + valueHelp: 'path', + defaultsTo: [], + ); + parser.addOption( + 'output', + abbr: 'o', + help: 'Path to output YAML file. If not specified, output to stdout.', + valueHelp: 'path', + defaultsTo: '', + ); + + final ArgResults args; + try { + args = parser.parse(arguments); + } on FormatException catch (e) { + print('Error parsing arguments: ${e.message}'); + print('Usage:\n${parser.usage}'); + exit(1); + } + + final input = args['input'] as List; + if (input.isEmpty) { + print('No input files specified. Use --input to specify at least one builder config JSON file.'); + exit(1); + } + + final yamlWriter = YamlWriter(); + final root = yamlWriter.root; + root.writeln('# This file is generated through `scripts/update_github_workflow.sh.`'); + root.writeln('# Do not edit directly.'); + root.write('name', 'Engine Artifacts'); + + final on = root.beginMap('on'); + final push = on.beginMap('push'); + push.write('branches', '["master"]'); + + final env = root.beginMap('env'); + env.write('DEPOT_TOOLS_WIN_TOOLCHAIN', '0'); + env.write('FLUTTER_PREBUILT_DART_SDK', '1'); + env.write('R2_BUCKET', 'flutter-zero-engine'); + env.write('ENGINE_CHECKOUT_PATH', r'${{ github.workspace }}/engine'); + + final jobs = root.beginMap('jobs'); + + _writeGuardJob(jobs); + + final artifactPublisher = ArtifactPublisher(); + + for (final inputPath in args['input'] as List) { + final content = File(inputPath).readAsStringSync(); + final map = jsonDecode(content) as Map; + final buildConfig = BuilderConfig.fromJson(path: inputPath, map: map); + final writer = BuildConfigWriter( + config: buildConfig, + jobsSections: jobs, + artifactPublisher: artifactPublisher, + ); + writer.write(); + } + + artifactPublisher.writePublishJob(jobs); + + if (args['output'] != '') { + final outputFile = File(args['output'] as String); + outputFile.writeAsStringSync(yamlWriter._buffer.toString()); + } else { + print(yamlWriter._buffer.toString()); + } +} diff --git a/engine/src/flutter/tools/pkg/github_workflow_generator/pubspec.yaml b/engine/src/flutter/tools/pkg/github_workflow_generator/pubspec.yaml new file mode 100644 index 00000000..4565058c --- /dev/null +++ b/engine/src/flutter/tools/pkg/github_workflow_generator/pubspec.yaml @@ -0,0 +1,16 @@ +name: github_workflow_generator +description: Generate github actions to build engine artifacts. +resolution: workspace +publish_to: none + +environment: + sdk: ^3.9.0-0 + +# Add regular dependencies here. +dependencies: + engine_build_configs: + args: any + path: ^1.9.0 + +dev_dependencies: + test: ^1.25.6 diff --git a/engine/src/flutter/tools/pkg/github_workflow_generator/test/github_action_generator_test.dart b/engine/src/flutter/tools/pkg/github_workflow_generator/test/github_action_generator_test.dart new file mode 100644 index 00000000..dd6edc18 --- /dev/null +++ b/engine/src/flutter/tools/pkg/github_workflow_generator/test/github_action_generator_test.dart @@ -0,0 +1,5 @@ +// ignore_for_file: unused_import +import '../lib/github_workflow_generator.dart'; +import 'package:test/test.dart'; + +void main() {} diff --git a/engine/src/flutter/tools/pub_get_offline.py b/engine/src/flutter/tools/pub_get_offline.py index cdf3129e..2bc0f920 100644 --- a/engine/src/flutter/tools/pub_get_offline.py +++ b/engine/src/flutter/tools/pub_get_offline.py @@ -46,6 +46,7 @@ os.path.join(ENGINE_DIR, 'tools', 'pkg', 'engine_repo_tools'), os.path.join(ENGINE_DIR, 'tools', 'pkg', 'git_repo_tools'), os.path.join(ENGINE_DIR, 'tools', 'pkg', 'process_fakes'), + os.path.join(ENGINE_DIR, 'tools', 'pkg', 'github_workflow_generator'), ] diff --git a/examples/hello_world/pubspec.yaml b/examples/hello_world/pubspec.yaml index 2950214a..8fb8fe56 100644 --- a/examples/hello_world/pubspec.yaml +++ b/examples/hello_world/pubspec.yaml @@ -3,6 +3,8 @@ description: "A new Flutter project." publish_to: 'none' version: 0.1.0+1 +resolution: workspace + environment: sdk: ^3.11.0-169.0.dev diff --git a/packages/flutter_tools/lib/src/flutter_cache.dart b/packages/flutter_tools/lib/src/flutter_cache.dart index 31f5fbc8..6fb1adbf 100644 --- a/packages/flutter_tools/lib/src/flutter_cache.dart +++ b/packages/flutter_tools/lib/src/flutter_cache.dart @@ -252,7 +252,7 @@ class FlutterSdk extends EngineCachedArtifact { final Platform _platform; @override - List getPackageDirs() => const ['sky_engine', 'flutter_gpu']; + List getPackageDirs() => const ['sky_engine']; @override List> getBinaryDirs() { diff --git a/packages/flutter_tools_patches/0003-Don-t-try-to-download-flutter_gpu.patch b/packages/flutter_tools_patches/0003-Don-t-try-to-download-flutter_gpu.patch new file mode 100644 index 00000000..640375cc --- /dev/null +++ b/packages/flutter_tools_patches/0003-Don-t-try-to-download-flutter_gpu.patch @@ -0,0 +1,25 @@ +From d3633c83f8dfe138a3abe2d39d6524b11c2dbac0 Mon Sep 17 00:00:00 2001 +From: Matej Knopp +Date: Thu, 8 Jan 2026 19:31:38 +0100 +Subject: [PATCH] Don't try to download flutter_gpu + +--- + packages/flutter_tools/lib/src/flutter_cache.dart | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/packages/flutter_tools/lib/src/flutter_cache.dart b/packages/flutter_tools/lib/src/flutter_cache.dart +index 31f5fbc825a..6fb1adbfd33 100644 +--- a/packages/flutter_tools/lib/src/flutter_cache.dart ++++ b/packages/flutter_tools/lib/src/flutter_cache.dart +@@ -252,7 +252,7 @@ class FlutterSdk extends EngineCachedArtifact { + final Platform _platform; + + @override +- List getPackageDirs() => const ['sky_engine', 'flutter_gpu']; ++ List getPackageDirs() => const ['sky_engine']; + + @override + List> getBinaryDirs() { +-- +2.51.2 + diff --git a/pubspec.yaml b/pubspec.yaml index fc49ba07..6fb659a5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,6 +3,8 @@ name: _flutter_packages environment: sdk: ^3.9.0-0 +workspace: + - examples/hello_world dependencies: _discoveryapis_commons: 1.0.7 diff --git a/update_flutter_tools.sh b/scripts/update_flutter_tools.sh similarity index 93% rename from update_flutter_tools.sh rename to scripts/update_flutter_tools.sh index 19d3fdfb..d5aada48 100755 --- a/update_flutter_tools.sh +++ b/scripts/update_flutter_tools.sh @@ -2,7 +2,7 @@ set -e -REPO_PATH=$(dirname "$(readlink -f "$0")") +REPO_PATH=$(dirname "$(readlink -f "$0")")/.. mkdir -p "$REPO_PATH/_tmp"; cd "$REPO_PATH/_tmp"; diff --git a/scripts/update_github_workflow.sh b/scripts/update_github_workflow.sh new file mode 100755 index 00000000..81e2ce9a --- /dev/null +++ b/scripts/update_github_workflow.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +REPO_PATH=$(dirname "$(readlink -f "$0")")/.. + +cd engine/src + +${REPO_PATH}/bin/dart flutter/tools/pkg/github_workflow_generator/bin/run.dart \ + -i flutter/ci/builders/mac_host_engine.json \ + -i flutter/ci/builders/mac_ios_engine_no_ext_safe.json \ + -i flutter/ci/builders/windows_host_engine.json \ + -i flutter/ci/builders/windows_arm_host_engine.json \ + -i flutter/ci/builders/linux_host_engine.json \ + -i flutter/ci/builders/linux_host_desktop_engine.json \ + -i flutter/ci/builders/linux_arm_host_engine.json \ + -i flutter/ci/builders/windows_android_aot_engine.json \ + -i flutter/ci/builders/mac_android_aot_engine.json \ + -i flutter/ci/builders/linux_android_aot_engine.json \ + -i flutter/ci/builders/linux_android_debug_engine.json \ + -i flutter/ci/builders/linux_web_engine_build.json \ + -o "${REPO_PATH}/.github/workflows/build-and-upload-engine-artifacts.yml"