name: Build and Test For Dubbo 3.1

on: [push, pull_request, workflow_dispatch]

env:
  FORK_COUNT: 2
  FAIL_FAST: 0
  SHOW_ERROR_DETAIL: 1
  #multi-version size limit
  VERSIONS_LIMIT: 4
  CANDIDATE_VERSIONS: '
    spring.version:4.3.30.RELEASE;
    spring-boot.version:1.5.22.RELEASE;
    spring-boot.version:2.4.1;
    '

jobs:
  build-source:
    runs-on: ubuntu-18.04
    outputs:
      version: ${{ steps.dubbo-version.outputs.version }}
    steps:
      - uses: actions/checkout@v2
        with:
          path: dubbo
      - uses: actions/setup-java@v1
        with:
          java-version: 8
      - uses: actions/cache@v2
        name: "Cache local Maven repository"
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
      - name: "Dubbo cache"
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository/org/apache/dubbo
          key: ${{ runner.os }}-dubbo-snapshot-${{ github.sha }}
      - name: "Build Dubbo with Maven"
        run: |
          cd ./dubbo
          ./mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress --fail-fast clean source:jar install -Pjacoco,rat,checkstyle -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=5 -Dmaven.test.skip=true -Dmaven.test.skip.exec=true -DembeddedZookeeperPath=${{ github.workspace }}/.tmp/zookeeper
      - name: "Pack rat file if failure"
        if: failure()
        run: 7z a ${{ github.workspace }}/rat.zip *rat.txt -r
      - name: "Upload rat file if failure"
        if: failure()
        uses: actions/upload-artifact@v2
        with:
          name: "rat-file"
          path: ${{ github.workspace }}/rat.zip
      - name: "Pack checkstyle file if failure"
        if: failure()
        run: 7z a ${{ github.workspace }}/checkstyle.zip *checkstyle* -r
      - name: "Upload checkstyle file if failure"
        if: failure()
        uses: actions/upload-artifact@v2
        with:
          name: "checkstyle-file"
          path: ${{ github.workspace }}/checkstyle.zip
      - name: "Calculate Dubbo Version"
        id: dubbo-version
        run: |
          REVISION=`awk '/<revision>[^<]+<\/revision>/{gsub(/<revision>|<\/revision>/,"",$1);print $1;exit;}' ./dubbo/pom.xml`
          echo "::set-output name=version::$REVISION"
          echo "dubbo version: $REVISION"

  unit-test-prepare:
    name: " Preparation for Unit Test On ${{ matrix.os }} (JDK: ${{ matrix.jdk }})"
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ ubuntu-18.04, windows-2019 ]
        jdk: [ 8, 11, 17 ]
    env:
      DISABLE_FILE_SYSTEM_TEST: true
      ZOOKEEPER_VERSION: 3.6.3
    steps:
      - uses: actions/cache@v2
        name: "Cache zookeeper binary archive"
        id: "cache-zookeeper"
        with:
          path: ${{ github.workspace }}/.tmp/zookeeper
          key: zookeeper-${{ runner.os }}-${{ env.ZOOKEEPER_VERSION }}
          restore-keys: |
            zookeeper-${{ runner.os }}-${{ env.ZOOKEEPER_VERSION }}
      - name: "Set up msys2 if necessary"
        if: ${{ startsWith( matrix.os, 'windows') && steps.cache-zookeeper.outputs.cache-hit != 'true' }}
        uses: msys2/setup-msys2@v2
        with:
          release: false  # support cache, see https://github.com/msys2/setup-msys2#context
      - name: "Download zookeeper binary archive in Linux OS"
        if: ${{ startsWith( matrix.os, 'ubuntu') && steps.cache-zookeeper.outputs.cache-hit != 'true' }}
        run: |
          mkdir -p ${{ github.workspace }}/.tmp/zookeeper
          wget -c https://archive.apache.org/dist/zookeeper/zookeeper-${{ env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION }}-bin.tar.gz -O ${{ github.workspace }}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
          wget -c https://apache.website-solution.net/zookeeper/zookeeper-${{ env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION }}-bin.tar.gz -O ${{ github.workspace }}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
          wget -c http://apache.stu.edu.tw/zookeeper/zookeeper-${{ env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION }}-bin.tar.gz -O ${{ github.workspace }}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
          wget -c http://ftp.jaist.ac.jp/pub/apache/zookeeper/zookeeper-${{ env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION }}-bin.tar.gz -O ${{ github.workspace }}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
          wget -c http://apache.mirror.cdnetworks.com/zookeeper/zookeeper-${{ env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION }}-bin.tar.gz -O ${{ github.workspace }}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
          wget -c http://mirror.apache-kr.org/apache/zookeeper/zookeeper-${{ env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION }}-bin.tar.gz -O ${{ github.workspace }}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz
          echo "list the downloaded zookeeper binary archive"
          ls -al ${{ github.workspace }}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz
      - name: "Download zookeeper binary archive in Windows OS"
        if: ${{ startsWith( matrix.os, 'windows') && steps.cache-zookeeper.outputs.cache-hit != 'true' }}
        shell: msys2 {0}
        run: |
          mkdir -p ${{ github.workspace }}/.tmp/zookeeper
          wget -c https://archive.apache.org/dist/zookeeper/zookeeper-${{ env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION }}-bin.tar.gz -O ${{ github.workspace }}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
          wget -c https://apache.website-solution.net/zookeeper/zookeeper-${{ env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION }}-bin.tar.gz -O ${{ github.workspace }}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
          wget -c http://apache.stu.edu.tw/zookeeper/zookeeper-${{ env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION }}-bin.tar.gz -O ${{ github.workspace }}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
          wget -c http://ftp.jaist.ac.jp/pub/apache/zookeeper/zookeeper-${{ env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION }}-bin.tar.gz -O ${{ github.workspace }}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
          wget -c http://apache.mirror.cdnetworks.com/zookeeper/zookeeper-${{ env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION }}-bin.tar.gz -O ${{ github.workspace }}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
          wget -c http://mirror.apache-kr.org/apache/zookeeper/zookeeper-${{ env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION }}-bin.tar.gz -O ${{ github.workspace }}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz
          echo "list the downloaded zookeeper binary archive"
          ls -al ${{ github.workspace }}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz

  unit-test:
    needs: [build-source, unit-test-prepare]
    name: "Unit Test On ${{ matrix.os }} (JDK: ${{ matrix.jdk }})"
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ ubuntu-18.04, windows-2019 ]
        jdk: [ 8, 11, 17 ]
    env:
      DISABLE_FILE_SYSTEM_TEST: true
    steps:
      - uses: actions/checkout@v2
      - name: "Set up JDK ${{ matrix.jdk }}"
        uses: actions/setup-java@v1
        with:
          java-version: ${{ matrix.jdk }}
      - uses: actions/cache@v2
        name: "Cache local Maven repository"
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-maven-
      - name: "Test with Maven with Integration Tests"
        timeout-minutes: 70
        if: ${{ startsWith( matrix.os, 'ubuntu') }}
        run: ./mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress --fail-fast clean test verify -Pjacoco -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=5 -DskipTests=false -DskipIntegrationTests=false -Dcheckstyle.skip=false -Dcheckstyle_unix.skip=false -Drat.skip=false -Dmaven.javadoc.skip=true -DembeddedZookeeperPath=${{ github.workspace }}/.tmp/zookeeper
      - name: "Test with Maven without Integration Tests"
        timeout-minutes: 90
        if: ${{ startsWith( matrix.os, 'windows') }}
        run: ./mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress --fail-fast clean test verify -Pjacoco -D"http.keepAlive=false" -D"maven.wagon.http.pool=false" -D"maven.wagon.httpconnectionManager.ttlSeconds=120" -D"maven.wagon.http.retryHandler.count=5" -DskipTests=false -DskipIntegrationTests=true -D"checkstyle.skip=false" -D"checkstyle_unix.skip=true" -D"rat.skip=false" -D"maven.javadoc.skip=true" -D"embeddedZookeeperPath=${{ github.workspace }}/.tmp/zookeeper"
      - name: "Upload coverage to Codecov"
        uses: codecov/codecov-action@v1

  unit-test-fastjson2:
    needs: [build-source, unit-test-prepare]
    name: "Unit Test On ${{ matrix.os }} (JDK: ${{ matrix.jdk }}, Serialization: fastjson2)"
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ ubuntu-18.04, windows-2019 ]
        jdk: [ 8, 11, 17 ]
    env:
      DISABLE_FILE_SYSTEM_TEST: true
      DUBBO_DEFAULT_SERIALIZATION: fastjson2
      MAVEN_SUREFIRE_ADD_OPENS: true
    steps:
      - uses: actions/checkout@v2
      - name: "Set up JDK ${{ matrix.jdk }}"
        uses: actions/setup-java@v1
        with:
          java-version: ${{ matrix.jdk }}
      - uses: actions/cache@v2
        name: "Cache local Maven repository"
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-maven-
      - name: "Test with Maven with Integration Tests"
        timeout-minutes: 70
        if: ${{ startsWith( matrix.os, 'ubuntu') }}
        run: ./mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress --fail-fast clean test verify -Pjacoco -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=5 -DskipTests=false -DskipIntegrationTests=false -Dcheckstyle.skip=false -Dcheckstyle_unix.skip=false -Drat.skip=false -Dmaven.javadoc.skip=true -DembeddedZookeeperPath=${{ github.workspace }}/.tmp/zookeeper
      - name: "Test with Maven without Integration Tests"
        timeout-minutes: 90
        if: ${{ startsWith( matrix.os, 'windows') }}
        run: ./mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress --fail-fast clean test verify -Pjacoco -D"http.keepAlive=false" -D"maven.wagon.http.pool=false" -D"maven.wagon.httpconnectionManager.ttlSeconds=120" -D"maven.wagon.http.retryHandler.count=5" -DskipTests=false -DskipIntegrationTests=true -D"checkstyle.skip=false" -D"checkstyle_unix.skip=true" -D"rat.skip=false" -D"maven.javadoc.skip=true" -D"embeddedZookeeperPath=${{ github.workspace }}/.tmp/zookeeper"
      - name: "Upload coverage to Codecov"
        uses: codecov/codecov-action@v1

  integration-test-prepare:
    runs-on: ubuntu-18.04
    env:
      JOB_COUNT: 3
    steps:
      - uses: actions/checkout@v2
        with:
          repository: 'apache/dubbo-samples'
          ref: master
      - 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

  integration-test-job:
    needs: [build-source, integration-test-prepare]
    name: "Integration Test on ubuntu-18.04 (JobId: ${{matrix.job_id}})"
    runs-on: ubuntu-18.04
    timeout-minutes: 30
    env:
      JAVA_VER: 8
      TEST_CASE_FILE: jobs/testjob_${{matrix.job_id}}.txt
    strategy:
      fail-fast: false
      matrix:
        job_id: [1, 2, 3]
    steps:
      - uses: actions/checkout@v2
        with:
          repository: 'apache/dubbo-samples'
          ref: master
      - name: "Cache local Maven repository"
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-maven-
      - name: "Restore Dubbo cache"
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository/org/apache/dubbo
          key: ${{ runner.os }}-dubbo-snapshot-${{ github.sha }}
      - name: "Download test list"
        uses: actions/download-artifact@v2
        with:
          name: test-list
          path: test/jobs/
      - name: "Set up JDK 8"
        uses: actions/setup-java@v1
        with:
          java-version: 8
      - name: "Init Candidate Versions"
        run: |
          DUBBO_VERSION="${{needs.build-source.outputs.version}}"
          CANDIDATE_VERSIONS="dubbo.version:$DUBBO_VERSION;compiler.version:$DUBBO_VERSION;$CANDIDATE_VERSIONS;dubbo.compiler.version:$DUBBO_VERSION"
          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*

  integration-test-result:
    needs: [integration-test-job]
    if: always()
    runs-on: ubuntu-18.04
    env:
      JAVA_VER: 8
    steps:
      - uses: actions/checkout@v2
        with:
          repository: 'apache/dubbo-samples'
          ref: master
      - name: "Download test result"
        uses: actions/download-artifact@v2
        with:
          name: test-result
          path: test/jobs/
      - name: "Merge test result"
        run: ./test/scripts/merge-test-results.sh
