name: CI

on:
  push:
    branches: [ master ]
  pull_request:
    branches: "*"
  pull_request_target:
    branches: "*"

jobs:
  build:
    name: ${{ matrix.os }} - Go${{ matrix.go_version }} - JDK${{ matrix.jdk_version }}

    runs-on: ${{ matrix.os }}

    strategy:
      matrix:
        os:
          - ubuntu-latest
        go_version:
          - 1.13
        jdk_version:
          - 1.8
    env:
      # DING_TOKEN: 049ae645b5dfb16e3240f81c1757333549ca46b30a5d6b40df562c63c36cf166
      # DING_SIGN: SEC128fb97348610e9d4529bfb59ad7f3fd716b972785a0d04f1cee2c83ec160e59
      DING_TOKEN: ${{ secrets.DING_TOKEN }}
      DING_SIGN: ${{ secrets.DING_SIGN }}

    steps:
    - uses: actions/checkout@v2

    - name: Set up JDK ${{ matrix.jdk_version }}
      uses: actions/setup-java@v1
      with:
        java-version: ${{ matrix.jdk_version }}

    - name: Set up Go ${{ matrix.go_version }}
      uses: actions/setup-go@v2
      with:
        go-version: ${{ matrix.go_version }}
      id: go

    - name: Cache Go Dependence
      uses: actions/cache@v2
      with:
        path: ~/go/pkg/mod
        key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
        restore-keys: ${{ runner.os }}-go-

    - 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: Java Test And Package
      run: |
        mvn clean package -DskipTests=true -f test_hessian/pom.xml
        mvn test -f test_hessian/pom.xml
        mvn clean package -f test_dubbo/pom.xml
        git reset --hard

    - name: Validate License
      run: |
        sh before_validate_license.sh
        chmod u+x /tmp/tools/license/license-header-checker
        /tmp/tools/license/license-header-checker -v -a -r -i vendor  /tmp/tools/license/license.txt . go  && [[ -z `git status -s` ]]

    - name: Install go ci lint
      run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.27.0

    - name: Run Linter
      run: golangci-lint run --timeout=10m -v

    - name: Go Test
      run: GO111MODULE=on && go mod vendor && go test -race -v && go test -bench . -race -coverprofile=coverage.txt

    - name: Coverage
      run: bash <(curl -s https://codecov.io/bash)

    - name: Hello world
      run: echo Hello world ${{ secrets.DING_TOKEN }} ${{ secrets.DING_SIGN }}

      #      # Because the contexts of push and PR are different, there are two Notify.
      #      # Notifications are triggered only in the apache/dubbo-go-hessian2 repository.
      #    - name: DingTalk Message Notify only Push
      #      uses: zcong1993/actions-ding@v3.0.1
      #      # Whether job is successful or not, always () is always true.
      #      if: |
      #        always() &&
      #        github.event_name == 'push' &&
      #        github.repository == 'apache/dubbo-go-hessian2'
      #      with:
      #        # DingDing bot token
      #        dingToken: ${{ env.DING_TOKEN }}
      #        secret: ${{ env.DING_SIGN }}
      #        # Post Body to send
      #        body: |
      #          {
      #            "msgtype": "markdown",
      #            "markdown": {
      #                "title": "Github Actions",
      #                "text": "## Github Actions \n - name: CI \n - repository: ${{ github.repository }} \n - trigger: ${{ github.actor }} \n - event: ${{ github.event_name }} \n - ref: ${{ github.ref }} \n - status: [${{ job.status	}}](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) \n - environment: ${{ runner.os }} \n > SHA: [${{ github.sha }}](${{ github.event.compare }})"
      #            }
      #          }
      #
      #    - name: DingTalk Message Notify only PR
      #      uses: zcong1993/actions-ding@v3.0.1
      #      if: |
      #        always() &&
      #        github.event_name == 'pull_request' &&
      #        github.repository == 'apache/dubbo-go-hessian2'
      #      with:
      #        dingToken: ${{ env.DING_TOKEN }}
      #        secret: ${{ env.DING_SIGN }}
      #        body: |
      #          {
      #            "msgtype": "markdown",
      #            "markdown": {
      #                "title": "Github Actions",
      #                "text": "## Github Actions \n - name: CI \n - repository: ${{ github.repository }} \n - pr_title: **${{ github.event.pull_request.title }}** \n - trigger: ${{ github.actor }} \n - event: ${{ github.event_name }} \n - ref: [${{ github.ref }}](${{ github.event.pull_request._links.html.href }}) \n - status: [${{ job.status	}}](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) \n - environment: ${{ runner.os }} \n > SHA: [${{ github.sha }}](${{ github.event.pull_request._links.html.href }})"
      #            }
      #          }
