blob: b2b38013f5fbe48a424fa586a3840b649809b7ea [file] [edit]
name: Tree Analyze
on:
pull_request:
branches: [master]
merge_group:
branches: [master]
jobs:
Tree_analyze:
permissions:
contents: read
runs-on: ubuntu-latest
timeout-minutes: 130
steps:
# Note: we must check out the tree for the composite action to be available
- name: Checkout code
if: env.ACT != 'true'
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha || github.sha }}
- name: Checkout code (act local)
if: env.ACT
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Check Engine Changes
id: check_engine
run: |
# 1. Determine local base tracking SHA
if [ "${{ github.event_name }}" = "pull_request" ]; then
BASE_REF="${{ github.event.pull_request.base.sha }}"
elif [ "${{ github.event_name }}" = "merge_group" ]; then
BASE_REF="${{ github.event.merge_group.base_sha }}"
else
BASE_REF="origin/master"
fi
echo "Comparing against base SHA: $BASE_REF"
# 2. Get the changed files using the helper script
CHANGED_FILES=$(.github/scripts/git_files_changed.sh "$BASE_REF")
echo "Changed files in this branch:"
echo "$CHANGED_FILES"
# 3. Check if any file matches engine pattern using the helper script:
if [ "$(echo "$CHANGED_FILES" | .github/scripts/did_engine_change.sh)" = "true" ]; then
echo "Engine file changed - forced to wait for Linux linux_host_engine"
echo "changed=true" >> "$GITHUB_OUTPUT"
else
echo "changed=false" >> "$GITHUB_OUTPUT"
fi
- name: Wait for test check-in
if: steps.check_engine.outputs.changed == 'true' && env.ACT != 'true'
uses: lewagon/wait-on-check-action@9312864dfbc9fd208e9c0417843430751c042800
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
check-name: 'Linux linux_host_engine'
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 30 # seconds
checks-discovery-timeout: 3600 # Wait up to 1 hour for LUCI to register the check
allowed-conclusions: success,neutral
verbose: false
- name: Redirect engine.version
if: steps.check_engine.outputs.changed == 'true' && github.event_name == 'pull_request'
run: echo "FLUTTER_REALM=flutter_archives_v2" >> $GITHUB_ENV
- uses: ./.github/actions/composite-flutter-setup
- name: Run Analyze
run: |
SHARD=analyze LUCI_CI=true dart --enable-asserts dev/bots/test.dart