name: CI

on:
  push:
    branches: [master, develop]
  pull_request:
    branches: "*"

jobs:

  build:
    name: ${{ matrix.os }} - Go ${{ matrix.go_version }}
    runs-on: ${{ matrix.os }}
    strategy:
      # If you want to matrix build , you can append the following list.
      matrix:
        go_version:
          - 1.13
        os:
          - ubuntu-latest

    env:
      DING_TOKEN: "6374f1bf8d4f23cde81d4a4b8c1f0bc98cc92b5151ca938ab938d3d7f4230fc4"
      DING_SIGN: "SECa98677289194bb0e5caec3051301d06515750ff1bd2f932a4704298afb2e0ae6"

    steps:

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

    - name: Check out code into the Go module directory
      uses: actions/checkout@v2

    - name: Cache dependencies
      uses: actions/cache@v2
      with:
        # Cache
        path: ~/go/pkg/mod
        # Cache key
        key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
        # An ordered list of keys to use for restoring the cache if no cache hit occurred for key
        restore-keys: |
          ${{ runner.os }}-go-

    - name: Get dependencies
      run: |
        if [ -f Gopkg.toml ]; then
            curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
            dep ensure
        else
            go get -v -t -d ./...
        fi

    - name: License Check
      run: |
        go fmt ./... && [[ -z `git status -s` ]]
        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: Test
      run: |
        chmod u+x before_ut.sh && ./before_ut.sh
        go mod vendor && go test ./... -coverprofile=coverage.txt -covermode=atomic
        chmod +x integrate_test.sh && ./integrate_test.sh

    - name: Coverage
      run: bash <(curl -s https://codecov.io/bash)
      
      # Because the contexts of push and PR are different, there are two Notify.
      # Notifications are triggered only in the apache/dubbo-go 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'
      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'
      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 }})"
            }
          }
