Skip to content

Generate and upload artifacts through Github actions workflow. #14

Generate and upload artifacts through Github actions workflow.

Generate and upload artifacts through Github actions workflow. #14

# This file is generated. Do not edit directly.
name: Build and Upload Engine Artifacts
on:
pull_request:
env:
DEPOT_TOOLS_WIN_TOOLCHAIN: 0
FLUTTER_PREBUILT_DART_SDK: 1
R2_BUCKET: flutter-zero-engine
jobs:
mac_host_debug_framework:
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/host_debug_framework
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/host_debug_framework/obj
rm -rf engine/src/out/ci/host_debug_framework/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_host_debug_framework-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/host_debug_framework
retention-days: 1
mac_host_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/host_debug
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/host_debug/obj
rm -rf engine/src/out/ci/host_debug/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_host_debug-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/host_debug
retention-days: 1
- 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: engine/src/out/ci/host_debug/zip_archives/darwin-x64/artifacts.zip
destination-dir: ${{ 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: engine/src/out/ci/host_debug/zip_archives/dart-sdk-darwin-x64.zip
destination-dir: ${{ steps.engine_content_hash.outputs.value }}/
mac_host_debug_gen_snapshot:
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/host_debug_gen_snapshot
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/host_debug_gen_snapshot/obj
rm -rf engine/src/out/ci/host_debug_gen_snapshot/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_host_debug_gen_snapshot-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/host_debug_gen_snapshot
retention-days: 1
mac_host_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/host_profile
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/host_profile/obj
rm -rf engine/src/out/ci/host_profile/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_host_profile-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/host_profile
retention-days: 1
- 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: engine/src/out/ci/host_profile/zip_archives/darwin-x64-profile/artifacts.zip
destination-dir: ${{ steps.engine_content_hash.outputs.value }}/darwin-x64-profile
mac_host_profile_framework:
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/host_profile_framework
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/host_profile_framework/obj
rm -rf engine/src/out/ci/host_profile_framework/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_host_profile_framework-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/host_profile_framework
retention-days: 1
mac_host_profile_gen_snapshot:
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/host_profile_gen_snapshot
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/host_profile_gen_snapshot/obj
rm -rf engine/src/out/ci/host_profile_gen_snapshot/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_host_profile_gen_snapshot-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/host_profile_gen_snapshot
retention-days: 1
mac_host_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/host_release
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/host_release/obj
rm -rf engine/src/out/ci/host_release/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_host_release-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/host_release
retention-days: 1
- 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: engine/src/out/ci/host_release/zip_archives/darwin-x64-release/artifacts.zip
destination-dir: ${{ 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: engine/src/out/ci/host_release/zip_archives/darwin-x64/font-subset.zip
destination-dir: ${{ steps.engine_content_hash.outputs.value }}/darwin-x64
mac_host_release_framework:
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/host_release_framework
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/host_release_framework/obj
rm -rf engine/src/out/ci/host_release_framework/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_host_release_framework-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/host_release_framework
retention-days: 1
mac_host_release_gen_snapshot:
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/host_release_gen_snapshot
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/host_release_gen_snapshot/obj
rm -rf engine/src/out/ci/host_release_gen_snapshot/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_host_release_gen_snapshot-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/host_release_gen_snapshot
retention-days: 1
mac_debug_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/mac_debug_arm64
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/mac_debug_arm64/obj
rm -rf engine/src/out/ci/mac_debug_arm64/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_debug_arm64-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/mac_debug_arm64
retention-days: 1
- 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: engine/src/out/ci/mac_debug_arm64/zip_archives/darwin-arm64/artifacts.zip
destination-dir: ${{ 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: engine/src/out/ci/mac_debug_arm64/zip_archives/dart-sdk-darwin-arm64.zip
destination-dir: ${{ steps.engine_content_hash.outputs.value }}/
mac_debug_framework_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/mac_debug_framework_arm64
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/mac_debug_framework_arm64/obj
rm -rf engine/src/out/ci/mac_debug_framework_arm64/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_debug_framework_arm64-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/mac_debug_framework_arm64
retention-days: 1
mac_debug_gen_snapshot_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/mac_debug_gen_snapshot_arm64
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/mac_debug_gen_snapshot_arm64/obj
rm -rf engine/src/out/ci/mac_debug_gen_snapshot_arm64/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_debug_gen_snapshot_arm64-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/mac_debug_gen_snapshot_arm64
retention-days: 1
mac_profile_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/mac_profile_arm64
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/mac_profile_arm64/obj
rm -rf engine/src/out/ci/mac_profile_arm64/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_profile_arm64-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/mac_profile_arm64
retention-days: 1
- 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: engine/src/out/ci/mac_profile_arm64/zip_archives/darwin-arm64-profile/artifacts.zip
destination-dir: ${{ steps.engine_content_hash.outputs.value }}/darwin-arm64-profile
mac_profile_framework_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/mac_profile_framework_arm64
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/mac_profile_framework_arm64/obj
rm -rf engine/src/out/ci/mac_profile_framework_arm64/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_profile_framework_arm64-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/mac_profile_framework_arm64
retention-days: 1
mac_profile_gen_snapshot_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/mac_profile_gen_snapshot_arm64
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/mac_profile_gen_snapshot_arm64/obj
rm -rf engine/src/out/ci/mac_profile_gen_snapshot_arm64/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_profile_gen_snapshot_arm64-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/mac_profile_gen_snapshot_arm64
retention-days: 1
mac_release_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/mac_release_arm64
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/mac_release_arm64/obj
rm -rf engine/src/out/ci/mac_release_arm64/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_release_arm64-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/mac_release_arm64
retention-days: 1
- 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: engine/src/out/ci/mac_release_arm64/zip_archives/darwin-arm64/font-subset.zip
destination-dir: ${{ 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: engine/src/out/ci/mac_release_arm64/zip_archives/darwin-arm64-release/artifacts.zip
destination-dir: ${{ steps.engine_content_hash.outputs.value }}/darwin-arm64-release
mac_release_framework_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/mac_release_framework_arm64
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/mac_release_framework_arm64/obj
rm -rf engine/src/out/ci/mac_release_framework_arm64/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_release_framework_arm64-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/mac_release_framework_arm64
retention-days: 1
mac_release_gen_snapshot_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/mac_release_gen_snapshot_arm64
- name: Delete intermediate files
run: |
rm -rf engine/src/out/ci/mac_release_gen_snapshot_arm64/obj
rm -rf engine/src/out/ci/mac_release_gen_snapshot_arm64/gen
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: artifacts-mac_release_gen_snapshot_arm64-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/mac_release_gen_snapshot_arm64
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
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_host_debug_framework
uses: actions/download-artifact@v4
with:
name: artifacts-mac_host_debug_framework-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/host_debug_framework
- name: Download Artifacts from mac_host_debug
uses: actions/download-artifact@v4
with:
name: artifacts-mac_host_debug-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/host_debug
- 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 }}
path: engine/src/out/ci/host_debug_gen_snapshot
- name: Download Artifacts from mac_host_profile
uses: actions/download-artifact@v4
with:
name: artifacts-mac_host_profile-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/host_profile
- 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 }}
path: engine/src/out/ci/host_profile_framework
- 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 }}
path: engine/src/out/ci/host_profile_gen_snapshot
- name: Download Artifacts from mac_host_release
uses: actions/download-artifact@v4
with:
name: artifacts-mac_host_release-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/host_release
- 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 }}
path: engine/src/out/ci/host_release_framework
- 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 }}
path: engine/src/out/ci/host_release_gen_snapshot
- name: Download Artifacts from mac_debug_arm64
uses: actions/download-artifact@v4
with:
name: artifacts-mac_debug_arm64-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/mac_debug_arm64
- 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 }}
path: engine/src/out/ci/mac_debug_framework_arm64
- 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 }}
path: engine/src/out/ci/mac_debug_gen_snapshot_arm64
- name: Download Artifacts from mac_profile_arm64
uses: actions/download-artifact@v4
with:
name: artifacts-mac_profile_arm64-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/mac_profile_arm64
- 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 }}
path: engine/src/out/ci/mac_profile_framework_arm64
- 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 }}
path: engine/src/out/ci/mac_profile_gen_snapshot_arm64
- name: Download Artifacts from mac_release_arm64
uses: actions/download-artifact@v4
with:
name: artifacts-mac_release_arm64-${{ steps.engine_content_hash.outputs.value }}
path: engine/src/out/ci/mac_release_arm64
- 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 }}
path: engine/src/out/ci/mac_release_framework_arm64
- 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 }}
path: engine/src/out/ci/mac_release_gen_snapshot_arm64
- 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
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: 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: engine/src/out/debug/framework/FlutterEmbedder.framework.zip
destination-dir: ${{ 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: engine/src/out/debug/framework/FlutterMacOS.framework.zip
destination-dir: ${{ 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: engine/src/out/profile/framework/FlutterMacOS.framework.zip
destination-dir: ${{ 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: engine/src/out/release/framework/FlutterMacOS.framework.zip
destination-dir: ${{ 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: engine/src/out/debug/snapshot/gen_snapshot.zip
destination-dir: ${{ 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: engine/src/out/profile/snapshot/gen_snapshot.zip
destination-dir: ${{ 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: engine/src/out/release/snapshot/gen_snapshot.zip
destination-dir: ${{ 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: engine/src/out/debug/framework/framework.zip
destination-dir: ${{ 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: engine/src/out/profile/framework/framework.zip
destination-dir: ${{ 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: engine/src/out/release/framework/framework.zip
destination-dir: ${{ steps.engine_content_hash.outputs.value }}/darwin-x64-release