#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

name: 'OpenJDK GHA Sanity Checks'

on:
  push:
    branches-ignore:
      - pr/*
  workflow_dispatch:
    inputs:
      platforms:
        description: 'Platform(s) to execute on (comma separated, e.g. "linux-x64, macos, aarch64")'
        required: true
        default: 'linux-x64, linux-x64-variants, linux-cross-compile, alpine-linux-x64, macos-x64, macos-aarch64, windows-x64, windows-aarch64, docs'
      configure-arguments:
        description: 'Additional configure arguments'
        required: false
      make-arguments:
        description: 'Additional make arguments'
        required: false
      dry-run:
        description: 'Dry run: skip actual builds and tests'
        required: false

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:

  ###
  ### Determine platforms to include
  ###

  prepare:
    name: 'Prepare the run'
    runs-on: ubuntu-22.04
    env:
      # List of platforms to exclude by default
      EXCLUDED_PLATFORMS: 'alpine-linux-x64'
    outputs:
      linux-x64: ${{ steps.include.outputs.linux-x64 }}
      linux-x64-variants: ${{ steps.include.outputs.linux-x64-variants }}
      linux-cross-compile: ${{ steps.include.outputs.linux-cross-compile }}
      alpine-linux-x64: ${{ steps.include.outputs.alpine-linux-x64 }}
      macos-x64: ${{ steps.include.outputs.macos-x64 }}
      macos-aarch64: ${{ steps.include.outputs.macos-aarch64 }}
      windows-x64: ${{ steps.include.outputs.windows-x64 }}
      windows-aarch64: ${{ steps.include.outputs.windows-aarch64 }}
      docs: ${{ steps.include.outputs.docs }}
      dry-run: ${{ steps.include.outputs.dry-run }}

    steps:
      - name: 'Checkout the scripts'
        uses: actions/checkout@v4
        with:
          sparse-checkout: |
            .github
            make/conf/github-actions.conf

      - name: 'Build JTReg'
        id: jtreg
        uses: ./.github/actions/build-jtreg

      # TODO: Now that we are checking out the repo scripts, we can put the following code
      # into a separate file
      - name: 'Check what jobs to run'
        id: include
        run: |
          # Determine which platform jobs to run

          # Returns 'true' if the input platform list matches any of the platform monikers given as argument,
          # 'false' otherwise.
          # arg $1: platform name or names to look for

          # Convert EXCLUDED_PLATFORMS from a comma-separated string to an array
          IFS=',' read -r -a excluded_array <<< "$EXCLUDED_PLATFORMS"

          function check_platform() {
            if [[ $GITHUB_EVENT_NAME == workflow_dispatch ]]; then
              input='${{ github.event.inputs.platforms }}'
            elif [[ $GITHUB_EVENT_NAME == push ]]; then
              if [[ '${{ !secrets.JDK_SUBMIT_FILTER || startsWith(github.ref, 'refs/heads/submit/') }}' == 'false' ]]; then
                # If JDK_SUBMIT_FILTER is set, and this is not a "submit/" branch, don't run anything
                >&2 echo 'JDK_SUBMIT_FILTER is set and not a "submit/" branch'
                echo 'false'
                return
              else
                input='${{ secrets.JDK_SUBMIT_PLATFORMS }}'
              fi
            fi

            normalized_input="$(echo ,$input, | tr -d ' ')"
            if [[ "$normalized_input" == ",," ]]; then
              # For an empty input, assume all platforms should run, except those in the EXCLUDED_PLATFORMS list
              for excluded in "${excluded_array[@]}"; do
                if [[ "$1" == "$excluded" ]]; then
                  echo 'false'
                  return
                fi
              done
              echo 'true'
              return
            else
              # Check for all acceptable platform names
              for part in $* ; do
                if echo "$normalized_input" | grep -q -e ",$part," ; then
                  echo 'true'
                  return
                fi
              done

              # If not explicitly included, check against the EXCLUDED_PLATFORMS list
              for excluded in "${excluded_array[@]}"; do
                if [[ "$1" == "$excluded" ]]; then
                  echo 'false'
                  return
                fi
              done
            fi

            echo 'false'
          }

          function check_dry_run() {
            if [[ $GITHUB_EVENT_NAME == workflow_dispatch ]]; then
              # Take the user-specified one.
              echo '${{ github.event.inputs.dry-run }}'
              return
            elif [[ $GITHUB_EVENT_NAME == push ]]; then
              # Cut out the real branch name
              BRANCH=${GITHUB_REF##*/}

              # Dry run rebuilds the caches in current branch, so they can be reused
              # for any child PR branches. Because of this, we want to trigger this
              # workflow in master branch, so that actual PR branches can use the cache.
              # This workflow would trigger every time contributors sync their master
              # branches in their personal forks.
              if [[ $BRANCH == "master" ]]; then
                echo 'true'
                return
              fi

              # ...same for stabilization branches
              if [[ $BRANCH =~ "jdk(.*)" ]]; then
                echo 'true'
                return
              fi
            fi

            echo 'false'
          }

          echo "linux-x64=$(check_platform linux-x64 linux x64)" >> $GITHUB_OUTPUT
          echo "linux-x64-variants=$(check_platform linux-x64-variants variants)" >> $GITHUB_OUTPUT
          echo "linux-cross-compile=$(check_platform linux-cross-compile cross-compile)" >> $GITHUB_OUTPUT
          echo "alpine-linux-x64=$(check_platform alpine-linux-x64 alpine-linux x64)" >> $GITHUB_OUTPUT
          echo "macos-x64=$(check_platform macos-x64 macos x64)" >> $GITHUB_OUTPUT
          echo "macos-aarch64=$(check_platform macos-aarch64 macos aarch64)" >> $GITHUB_OUTPUT
          echo "windows-x64=$(check_platform windows-x64 windows x64)" >> $GITHUB_OUTPUT
          echo "windows-aarch64=$(check_platform windows-aarch64 windows aarch64)" >> $GITHUB_OUTPUT
          echo "docs=$(check_platform docs)" >> $GITHUB_OUTPUT
          echo "dry-run=$(check_dry_run)" >> $GITHUB_OUTPUT

  ###
  ### Build jobs
  ###

  build-linux-x64:
    name: linux-x64
    needs: prepare
    uses: ./.github/workflows/build-linux.yml
    with:
      platform: linux-x64
      gcc-major-version: '10'
      configure-arguments: ${{ github.event.inputs.configure-arguments }}
      make-arguments: ${{ github.event.inputs.make-arguments }}
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
    if: needs.prepare.outputs.linux-x64 == 'true'

  build-linux-x64-hs-nopch:
    name: linux-x64-hs-nopch
    needs: prepare
    uses: ./.github/workflows/build-linux.yml
    with:
      platform: linux-x64
      make-target: 'hotspot'
      debug-levels: '[ "debug" ]'
      gcc-major-version: '10'
      extra-conf-options: '--disable-precompiled-headers'
      configure-arguments: ${{ github.event.inputs.configure-arguments }}
      make-arguments: ${{ github.event.inputs.make-arguments }}
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
    if: needs.prepare.outputs.linux-x64-variants == 'true'

  build-linux-x64-hs-zero:
    name: linux-x64-hs-zero
    needs: prepare
    uses: ./.github/workflows/build-linux.yml
    with:
      platform: linux-x64
      make-target: 'hotspot'
      debug-levels: '[ "debug" ]'
      gcc-major-version: '10'
      extra-conf-options: '--with-jvm-variants=zero --disable-precompiled-headers'
      configure-arguments: ${{ github.event.inputs.configure-arguments }}
      make-arguments: ${{ github.event.inputs.make-arguments }}
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
    if: needs.prepare.outputs.linux-x64-variants == 'true'

  build-linux-x64-hs-minimal:
    name: linux-x64-hs-minimal
    needs: prepare
    uses: ./.github/workflows/build-linux.yml
    with:
      platform: linux-x64
      make-target: 'hotspot'
      debug-levels: '[ "debug" ]'
      gcc-major-version: '10'
      extra-conf-options: '--with-jvm-variants=minimal --disable-precompiled-headers'
      configure-arguments: ${{ github.event.inputs.configure-arguments }}
      make-arguments: ${{ github.event.inputs.make-arguments }}
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
    if: needs.prepare.outputs.linux-x64-variants == 'true'

  build-linux-x64-hs-optimized:
    name: linux-x64-hs-optimized
    needs: prepare
    uses: ./.github/workflows/build-linux.yml
    with:
      platform: linux-x64
      make-target: 'hotspot'
      # Technically this is not the "debug" level, but we can't inject a new matrix state for just this job
      debug-levels: '[ "debug" ]'
      gcc-major-version: '10'
      extra-conf-options: '--with-debug-level=optimized --disable-precompiled-headers'
      configure-arguments: ${{ github.event.inputs.configure-arguments }}
      make-arguments: ${{ github.event.inputs.make-arguments }}
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
    if: needs.prepare.outputs.linux-x64-variants == 'true'

  build-linux-x64-static:
    name: linux-x64-static
    needs: prepare
    uses: ./.github/workflows/build-linux.yml
    with:
      platform: linux-x64
      make-target: 'static-jdk-bundles'
      # There are issues with fastdebug static build in GHA due to space limit.
      # Only do release build for now.
      debug-levels: '[ "release" ]'
      gcc-major-version: '10'
      configure-arguments: ${{ github.event.inputs.configure-arguments }}
      make-arguments: ${{ github.event.inputs.make-arguments }}
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
      static-suffix: "-static"
    if: needs.prepare.outputs.linux-x64 == 'true'

  build-linux-x64-static-libs:
    name: linux-x64-static-libs
    needs: prepare
    uses: ./.github/workflows/build-linux.yml
    with:
      platform: linux-x64
      make-target: 'static-libs-bundles'
      # Only build static-libs-bundles for release builds.
      # For debug builds, building static-libs often exceeds disk space.
      debug-levels: '[ "release" ]'
      gcc-major-version: '10'
      configure-arguments: ${{ github.event.inputs.configure-arguments }}
      make-arguments: ${{ github.event.inputs.make-arguments }}
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
      # Upload static libs bundles separately to avoid interference with normal linux-x64 bundle.
      # This bundle is not used by testing jobs, but downstreams use it to check that
      # dependent projects, e.g. libgraal, builds fine.
      bundle-suffix: "-static-libs"
    if: needs.prepare.outputs.linux-x64-variants == 'true'

  build-linux-cross-compile:
    name: linux-cross-compile
    needs: prepare
    uses: ./.github/workflows/build-cross-compile.yml
    with:
      gcc-major-version: '10'
      configure-arguments: ${{ github.event.inputs.configure-arguments }}
      make-arguments: ${{ github.event.inputs.make-arguments }}
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
    if: needs.prepare.outputs.linux-cross-compile == 'true'

  build-alpine-linux-x64:
    name: alpine-linux-x64
    needs: prepare
    uses: ./.github/workflows/build-alpine-linux.yml
    with:
      platform: alpine-linux-x64
      configure-arguments: ${{ github.event.inputs.configure-arguments }}
      make-arguments: ${{ github.event.inputs.make-arguments }}
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
    if: needs.prepare.outputs.alpine-linux-x64 == 'true'

  build-macos-x64:
    name: macos-x64
    needs: prepare
    uses: ./.github/workflows/build-macos.yml
    with:
      platform: macos-x64
      runs-on: 'macos-15-intel'
      xcode-toolset-version: '16.4'
      configure-arguments: ${{ github.event.inputs.configure-arguments }}
      make-arguments: ${{ github.event.inputs.make-arguments }}
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
    if: needs.prepare.outputs.macos-x64 == 'true'

  build-macos-aarch64:
    name: macos-aarch64
    needs: prepare
    uses: ./.github/workflows/build-macos.yml
    with:
      platform: macos-aarch64
      runs-on: 'macos-15'
      xcode-toolset-version: '16.4'
      configure-arguments: ${{ github.event.inputs.configure-arguments }}
      make-arguments: ${{ github.event.inputs.make-arguments }}
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
    if: needs.prepare.outputs.macos-aarch64 == 'true'

  build-windows-x64:
    name: windows-x64
    needs: prepare
    uses: ./.github/workflows/build-windows.yml
    with:
      platform: windows-x64
      msvc-toolset-version: '14.44'
      msvc-toolset-architecture: 'x86.x64'
      configure-arguments: ${{ github.event.inputs.configure-arguments }}
      make-arguments: ${{ github.event.inputs.make-arguments }}
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
    if: needs.prepare.outputs.windows-x64 == 'true'

  build-windows-aarch64:
    name: windows-aarch64
    needs: prepare
    uses: ./.github/workflows/build-windows.yml
    with:
      platform: windows-aarch64
      msvc-toolset-version: '14.44'
      msvc-toolset-architecture: 'arm64'
      make-target: 'hotspot'
      extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin'
      configure-arguments: ${{ github.event.inputs.configure-arguments }}
      make-arguments: ${{ github.event.inputs.make-arguments }}
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
    if: needs.prepare.outputs.windows-aarch64 == 'true'

  build-docs:
    name: docs
    needs: prepare
    uses: ./.github/workflows/build-linux.yml
    with:
      platform: linux-x64
      debug-levels: '[ "debug" ]'
      make-target: 'docs-jdk-bundles'
      # Make sure we never try to make full docs, since that would require a
      # build JDK, and we do not need the additional testing of the graphs.
      extra-conf-options: '--disable-full-docs'
      gcc-major-version: '10'
      configure-arguments: ${{ github.event.inputs.configure-arguments }}
      make-arguments: ${{ github.event.inputs.make-arguments }}
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
    if: needs.prepare.outputs.docs == 'true'

  ###
  ### Test jobs
  ###

  test-linux-x64:
    name: linux-x64
    needs:
      - prepare
      - build-linux-x64
    uses: ./.github/workflows/test.yml
    with:
      platform: linux-x64
      bootjdk-platform: linux-x64
      runs-on: ubuntu-22.04
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
      debug-suffix: -debug

  test-linux-x64-static:
    name: linux-x64-static
    needs:
      - prepare
      - build-linux-x64
      - build-linux-x64-static
    uses: ./.github/workflows/test.yml
    with:
      platform: linux-x64
      bootjdk-platform: linux-x64
      runs-on: ubuntu-22.04
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
      static-suffix: "-static"

  test-macos-aarch64:
    name: macos-aarch64
    needs:
      - prepare
      - build-macos-aarch64
    uses: ./.github/workflows/test.yml
    with:
      platform: macos-aarch64
      bootjdk-platform: macos-aarch64
      runs-on: macos-15
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
      xcode-toolset-version: '16.4'
      debug-suffix: -debug

  test-windows-x64:
    name: windows-x64
    needs:
      - prepare
      - build-windows-x64
    uses: ./.github/workflows/test.yml
    with:
      platform: windows-x64
      bootjdk-platform: windows-x64
      runs-on: windows-2025
      dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
      debug-suffix: -debug
