name: Composite Flutter Setup
description: checkouts the tree, setups the environment
inputs:
  ANDROID_TOOLS_VERSION:
    description: 'android tools version'
    default: '13114758'
  ANDROID_PLATFORM:
    description: 'android platform version'
    default: 'android-36'
  ANDROID_BUILDTOOLS:
    description: 'android buildtools version'
    default: '36.1.0'

runs:
  using: 'composite'
  steps:
      # Real checkout on github actions for pull requests
      - name: Checkout code (non-act pull_request)
        uses: actions/checkout@v4
        if: github.event_name == 'pull_request' && !env.ACT
        with:
          fetch-depth: 0
          fetch-tags: true
          # Checkout the PR; not the merge commit - we need to describe tags
          ref: ${{ github.event.pull_request.head.sha }}

      # Real checkout on github actions for post submit
      - name: Checkout code (non-act push)
        uses: actions/checkout@v4
        if: github.event_name == 'push' && !env.ACT
        with:
          fetch-depth: 0
          fetch-tags: true
          # Checkout the PR; not the merge commit - we need to describe tags
          ref: ${{ github.event.pull_request.head.sha }}

      # Fake checkout if running locally
      - name: Checkout code (act local)
        uses: actions/checkout@v4
        if: env.ACT

      # If this is a branch / pr NOT on fluter/flutter, set the remote upstream
      # so the flutter tool can figure out the version
      - name: Set upstream (if not flutter/flutter)
        shell: bash
        if: github.repository != 'flutter/flutter' && !env.ACT
        run: |
          git remote add upstream https://github.com/flutter/flutter.git
          git fetch --all --tags

      # If running locally; install the JDK - Github runners have everything on them
      - name: Set up our JDK environment
        if: env.ACT
        uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00
        with:
          java-version: '21'
          distribution: 'temurin'

      # If running locally; install Android SDK tools - Github runners have everything on them
      - name: Set Android SDK environment variable
        shell: bash
        if: env.ACT
        run: |
          echo "ANDROID_SDK_ROOT=/opt/android/sdk" >> $GITHUB_ENV
          echo "ANDROID_HOME=/opt/android/sdk" >> $GITHUB_ENV
      - name: Get Android SDK version
        shell: bash
        id: android-sdk-version
        if: env.ACT
        run: |
          echo "revision=${{inputs.ANDROID_TOOLS_VERSION}};${{inputs.ANDROID_PLATFORM}};build-tools;${{inputs.ANDROID_BUILDTOOLS}}" >> "$GITHUB_OUTPUT"
      - name: Android SDK Cache
        uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae
        id: android-sdk-setup
        if: env.ACT
        with:
          path: /opt/android/sdk
          key: ${{ runner.os }}-${{ steps.android-sdk-version.outputs.revision }}
      - name: Setup Android SDK (cold cache)
        if: env.ACT && steps.android-sdk-setup.outputs.cache-hit != 'true'
        uses: android-actions/setup-android@9fc6c4e9069bf8d3d10b2204b1fb8f6ef7065407
        with:
          packages: 'tools platform-tools platforms;${{inputs.ANDROID_PLATFORM}} build-tools;${{inputs.ANDROID_BUILDTOOLS}}'
          log-accepted-android-sdk-licenses: false
          cmdline-tools-version: ${{ inputs.ANDROID_TOOLS_VERSION }}
      - name: Setup Android SDK (warm cache)
        shell: bash
        if: env.ACT && steps.android-sdk-setup.outputs.cache-hit == 'true'
        run: |
          echo "/opt/android/sdk/cmdline-tools/${{ inputs.ANDROID_TOOLS_VERSION }}/bin" >> "$GITHUB_PATH"
          echo "/opt/android/sdk/platform-tools" >> "$GITHUB_PATH"

      # ktlint is needed by tree analyze
      - name: ktlint cache
        id: ktlint-cache
        uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae
        with:
          # Cache the ktlint binary in runner.temp to avoid interfering with Flutter's bin folder
          path: ${{ runner.temp }}/ktlint-bin/ktlint
          # Hardcode the version in the key since it's hardcoded in the URL
          key: ${{ runner.os }}-ktlint-1.5.0

      - name: Download and Install ktlint 1.5.0
        if: steps.ktlint-cache.outputs.cache-hit != 'true'
        shell: bash
        run: |
          mkdir -p ${{ runner.temp }}/ktlint-bin

          # 1. Download directly into the temp directory
          curl -fsSL -o ${{ runner.temp }}/ktlint-bin/ktlint https://github.com/ktlint/ktlint/releases/download/1.5.0/ktlint

          # 2. Verify the checksum to ensure the binary hasn't been tampered with
          EXPECTED_SHA="a16be01dcc480aab2f55f444b620142152f66e31564b3b9376506d624c28a2ad"
          echo "$EXPECTED_SHA  ${{ runner.temp }}/ktlint-bin/ktlint" | sha256sum --check -

          # 3. Make the binary executable
          chmod a+x ${{ runner.temp }}/ktlint-bin/ktlint

      - name: Add ktlint to PATH
        shell: bash
        run: |
          echo "${{ runner.temp }}/ktlint-bin" >> "$GITHUB_PATH"

      - name: Add `flutter` to the PATH
        shell: bash
        run: |
          echo "$GITHUB_WORKSPACE/bin" >> "$GITHUB_PATH"

      - name: Setup PUB_CACHE environment variable
        shell: bash
        run: |
          echo "PUB_CACHE=/opt/pub-cache" >> $GITHUB_ENV

      # Get the Flutter revision. This is the key for the cache for artifacts
      # under bin/cache
      - name: Get Flutter version
        shell: bash
        id: flutter-revision
        run: |
          echo "revision=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
      - name: Flutter artifacts cache
        uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae
        id: flutter-artifacts
        with:
          path: ${{ github.workspace }}/bin/cache
          key: ${{ runner.os }}-flutter-${{ steps.flutter-revision.outputs.revision }}

      - name: pub deps hash
        shell: bash
        id: pub-deps-hash
        run: |
          # Generate stable hash of pubspec.yaml files
          find dev examples packages -name "pubspec.yaml" -print0 | sort -z | xargs -0 cat | sha256sum  >> "$RUNNER_TEMP/pub_deps_sha"
          echo "revision=$(cat "$RUNNER_TEMP/pub_deps_sha")" >> "$GITHUB_OUTPUT"
      - name: pub package cache
        uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae
        id: pub-cache
        with:
          path: |
            /opt/pub-cache
            ${{ github.workspace }}/**/.dart_tool
            ${{ github.workspace }}/**/pubspec.lock
          key: ${{ runner.os }}-pub-${{ steps.pub-deps-hash.outputs.revision }}

      - name: Flutter Doctor
        shell: bash
        run: |
          flutter doctor

      - name: flutter pub get (online)
        shell: bash
        if: steps.pub-cache.outputs.cache-hit != 'true'
        run: |
          flutter pub get
