name: Build and Test For Dubbo 3.1

on: [push, pull_request, workflow_dispatch]

permissions:
  contents: read

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:
  license:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - name: Check License
        uses: apache/skywalking-eyes@main
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  build-source:
    runs-on: ubuntu-20.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-20.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-20.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-20.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-20.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-20.04 (JobId: ${{matrix.job_id}})"
    runs-on: ubuntu-20.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-20.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
