name: Nightly - Dubbo 3

on:
  schedule:
    # nightly build at 2:00+8, should convert into UTC
    - cron:  '0 18 * * *'
    - cron:  '0 21 * * *'
  workflow_dispatch:
    inputs:
      remark:
        description: 'test description'
        required: false
        default: 'test'


env:
  FORK_COUNT: 1
  FAIL_FAST: 0
  SHOW_ERROR_DETAIL: 1
  BUILD_OPTS: --batch-mode --no-transfer-progress --settings ${{github.workspace}}/.mvn/settings.xml
    -Dmaven.wagon.http.retryHandler.count=3 clean package dependency:copy-dependencies -DskipTests
  #multi-version size limit
  VERSIONS_LIMIT: 12
  #candidate versions (the dubbo snapshot version will be extracted from pom.xml and appended before CANDIDATE_VERSIONS )
  CANDIDATE_VERSIONS: '
    spring.version: 4.2.9.RELEASE, 4.3.30.RELEASE, 5.1.20.RELEASE, 5.3.3;
    spring-boot.version: 1.1.12.RELEASE, 1.2.8.RELEASE, 1.3.8.RELEASE, 1.4.7.RELEASE, 1.5.22.RELEASE;
    spring-boot.version: 2.0.9.RELEASE, 2.1.18.RELEASE, 2.2.12.RELEASE, 2.3.7.RELEASE, 2.4.1
    '
  DUBBO_REF: '3.0'
  DUBBO_SPRING_BOOT_REF: '3.0.x'

jobs:
  build-samples:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        java: [8, 11]
    steps:
      - uses: actions/checkout@v1
      - name: Cache local Maven repository
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-samples-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-samples-maven-
      - name: Set up JDK ${{matrix.java}}
        uses: actions/setup-java@v1
        with:
          java-version: ${{matrix.java}}
      - name: Build with Maven
        run: |
          ./mvnw $BUILD_OPTS

  build-dubbo:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
    # Map a step output to a job output
    outputs:
      commit_id: ${{ steps.git-checker.outputs.commit_id }}
      version: ${{ steps.git-checker.outputs.version }}
    steps:
      - uses: actions/checkout@v2
        with:
          repository: 'apache/dubbo'
          ref: ${{env.DUBBO_REF}}
          path: dubbo
      - name: Get commit id and dubbo version
        id: git-checker
        run: |
          # Calculate Dubbo Version
          REVISION=`awk '/<revision>[^<]+<\/revision>/{gsub(/<revision>|<\/revision>/,"",$1);print $1;exit;}' dubbo/pom.xml`
          echo "::set-output name=version::$REVISION"
          echo "dubbo version: $REVISION"
          #
          #concat dubbo/dubbo-spring-boot commit id
          cd dubbo
          dubbo_commit_id=`git log --format="%H" -n 1`
          cd ..
          commit_id=$dubbo_commit_id
          echo "::set-output name=commit_id::$commit_id"
          echo "commit_id: $commit_id"
      - name: Dubbo cache
        id: dubbocache
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository/org/apache/dubbo
          key: ${{ runner.os }}-dubbo-snapshot-${{steps.git-checker.outputs.commit_id}}
      - name: Cache local Maven repository
        if: steps.dubbocache.outputs.cache-hit != 'true'
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-dubbo-${{env.DUBBO_REF}}-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-dubbo-${{env.DUBBO_REF}}-maven-
      - name: Set up JDK 8
        if: steps.dubbocache.outputs.cache-hit != 'true'
        uses: actions/setup-java@v1
        with:
          java-version: 8
      - name: Build dubbo
        if: steps.dubbocache.outputs.cache-hit != 'true'
        run: |
          cd dubbo
          ./mvnw --batch-mode --no-transfer-progress  clean install -Dmaven.test.skip=true -Dmaven.test.skip.exec=true

  prepare_test:
    runs-on: ubuntu-latest
    env:
      #'JOB_COUNT' MUST match 'job_id' list of 'testjob'
      JOB_COUNT: 5
    steps:
      - uses: actions/checkout@v1
      - name: Prepare test list
        run: |
          bash ./test/scripts/prepare-test.sh
      - name: Upload test list
        uses: actions/upload-artifact@v2
        with:
          name: test-list
          path: test/jobs

  testjob:
    needs: [prepare_test, build-dubbo]
    name: 'Integration Test (Java${{matrix.java}}, Job${{matrix.job_id}})'
    runs-on: ubuntu-latest
    env:
      JAVA_VER: ${{matrix.java}}
      TEST_CASE_FILE: jobs/testjob_${{matrix.job_id}}.txt
    strategy:
      fail-fast: false
      matrix:
        java: [8, 11]
        #testjob id list MUST match 'JOB_COUNT' of 'prepare_test'
        job_id: [1,2,3,4,5]
    steps:
      - uses: actions/checkout@v1
      - name: Set up JDK ${{matrix.java}}
        uses: actions/setup-java@v1
        with:
          java-version: ${{matrix.java}}
      - name: Cache local Maven repository
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-samples-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-samples-maven-
      - name: Dubbo cache
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository/org/apache/dubbo
          key: ${{ runner.os }}-dubbo-snapshot-${{needs.build-dubbo.outputs.commit_id}}
      - name: Download test list
        uses: actions/download-artifact@v2
        with:
          name: test-list
          path: test/jobs/
      - name: Init Candidate Versions
        run: |
          DUBBO_VERSION="${{needs.build-dubbo.outputs.version}}"
          CANDIDATE_VERSIONS="dubbo.version:$DUBBO_VERSION;$CANDIDATE_VERSIONS"
          echo "CANDIDATE_VERSIONS=$CANDIDATE_VERSIONS" >> $GITHUB_ENV
      - name: Build test image
        run: |
          cd test && bash ./build-test-image.sh
      - name: Run tests
        run: cd test && bash ./run-tests.sh
      - name: Upload test result
        if: always()
        uses: actions/upload-artifact@v2
        with:
          name: test-result
          path: test/jobs/*-result*

  test_result:
    needs: [testjob]
    name: 'Test Result (Java${{matrix.java}})'
    if: always()
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        java: [8, 11]
    env:
      JAVA_VER: ${{matrix.java}}
    steps:
      - uses: actions/checkout@v1
      - name: Download test result
        uses: actions/download-artifact@v2
        with:
          name: test-result
          path: test/jobs/
      - name: Merge test result - java ${{matrix.java}}
        run: ./test/scripts/merge-test-results.sh
