Generate and upload artifacts through Github actions workflow. #19
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This file is generated. Do not edit directly. | |
| name: Engine Artifacts | |
| on: | |
| pull_request: | |
| env: | |
| DEPOT_TOOLS_WIN_TOOLCHAIN: 0 | |
| FLUTTER_PREBUILT_DART_SDK: 1 | |
| R2_BUCKET: flutter-zero-engine | |
| ENGINE_CHECKOUT_PATH: ${{ github.workspace }}/engine | |
| jobs: | |
| mac_ios_debug_sim: | |
| runs-on: macos-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| 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: 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: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_debug_sim-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_debug_sim | |
| retention-days: 1 | |
| mac_ios_debug_sim_arm64: | |
| runs-on: macos-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| 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: 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: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_debug_sim_arm64-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_debug_sim_arm64 | |
| retention-days: 1 | |
| mac_ios_debug: | |
| runs-on: macos-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| 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: 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: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_debug-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_debug | |
| retention-days: 1 | |
| mac_ios_profile: | |
| runs-on: macos-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| 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: 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: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_profile-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_profile | |
| retention-days: 1 | |
| mac_ios_release: | |
| runs-on: macos-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| 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: 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: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_release-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_release | |
| retention-days: 1 | |
| mac_ios_debug_sim_extension_safe: | |
| runs-on: macos-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| 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: 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_extension_safe | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_debug_sim_extension_safe-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_debug_sim_extension_safe | |
| retention-days: 1 | |
| mac_ios_debug_sim_arm64_extension_safe: | |
| runs-on: macos-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| 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: 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_extension_safe | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_debug_sim_arm64_extension_safe-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_debug_sim_arm64_extension_safe | |
| retention-days: 1 | |
| mac_ios_debug_extension_safe: | |
| runs-on: macos-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| 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: 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_extension_safe | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_debug_extension_safe-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_debug_extension_safe | |
| retention-days: 1 | |
| mac_ios_profile_extension_safe: | |
| runs-on: macos-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| 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: 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_extension_safe | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_profile_extension_safe-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_profile_extension_safe | |
| retention-days: 1 | |
| mac_ios_release_extension_safe: | |
| runs-on: macos-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| 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: 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_extension_safe | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_release_extension_safe-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_release_extension_safe | |
| retention-days: 1 | |
| mac_ios_engine_global: | |
| runs-on: macos-latest | |
| needs: | |
| - mac_ios_debug_sim | |
| - mac_ios_debug_sim_arm64 | |
| - mac_ios_debug | |
| - mac_ios_profile | |
| - mac_ios_release | |
| - mac_ios_debug_sim_extension_safe | |
| - mac_ios_debug_sim_arm64_extension_safe | |
| - mac_ios_debug_extension_safe | |
| - mac_ios_profile_extension_safe | |
| - mac_ios_release_extension_safe | |
| defaults: | |
| run: | |
| shell: bash | |
| 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: 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 }} | |
| path: engine/src/out/ci/ios_debug_sim | |
| - 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 }} | |
| path: engine/src/out/ci/ios_debug_sim_arm64 | |
| - name: Download Artifacts from mac_ios_debug | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_debug-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_debug | |
| - name: Download Artifacts from mac_ios_profile | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_profile-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_profile | |
| - name: Download Artifacts from mac_ios_release | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_release-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_release | |
| - name: Download Artifacts from mac_ios_debug_sim_extension_safe | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_debug_sim_extension_safe-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_debug_sim_extension_safe | |
| - name: Download Artifacts from mac_ios_debug_sim_arm64_extension_safe | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_debug_sim_arm64_extension_safe-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_debug_sim_arm64_extension_safe | |
| - name: Download Artifacts from mac_ios_debug_extension_safe | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_debug_extension_safe-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_debug_extension_safe | |
| - name: Download Artifacts from mac_ios_profile_extension_safe | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_profile_extension_safe-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_profile_extension_safe | |
| - name: Download Artifacts from mac_ios_release_extension_safe | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: artifacts-mac_ios_release_extension_safe-${{ steps.engine_content_hash.outputs.value }} | |
| path: engine/src/out/ci/ios_release_extension_safe | |
| - name: Run generator Debug-ios-Flutter.xcframework | |
| run: | | |
| cd engine/src | |
| python3 flutter/sky/tools/create_ios_framework.py \ | |
| --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 \ | |
| --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 \ | |
| --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: 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: engine/src/out/debug/artifacts.zip | |
| destination-dir: ${{ 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: engine/src/out/profile/artifacts.zip | |
| destination-dir: ${{ 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: engine/src/out/release/artifacts.zip | |
| destination-dir: ${{ steps.engine_content_hash.outputs.value }}/ios-release |