name: Go

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:

  build:
    name: FIFO CI
    runs-on: ubuntu-18.04
    timeout-minutes: 5
    steps:

    - name: Set up Go 1.13
      uses: actions/setup-go@v1
      with:
        go-version: 1.13
      id: go

    - name: Setup Go binary path
      shell: bash
      run: |
        echo "::set-env name=GOPATH::${{ github.workspace }}"
        echo "::add-path::${{ github.workspace }}/bin"

    - name: Check out code
      uses: actions/checkout@v2
      with:
        path: src/github.com/containerd/fifo
        fetch-depth: 25

    - name: Checkout project
      uses: actions/checkout@v2
      with:
        repository: containerd/project
        path: src/github.com/containerd/project

    - name: Install dependencies
      env:
        GO111MODULE: off
      run: |
        go get -u github.com/vbatts/git-validation
        go get -u github.com/kunalkushwaha/ltag
        go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
        (
          cd "${GOPATH}/src/github.com/golangci/golangci-lint/cmd/golangci-lint"
          git checkout v1.23.8
          go build -v && go install
        )

    - name: Check DCO/whitespace/commit message
      env:
        GITHUB_COMMIT_URL: ${{ github.event.pull_request.commits_url }}
        DCO_VERBOSITY: "-q"
        DCO_RANGE: ""
      working-directory: src/github.com/containerd/fifo
      run: |
        if [ -z "${GITHUB_COMMIT_URL}" ]; then
          DCO_RANGE=$(jq -r '.before +".."+ .after' ${GITHUB_EVENT_PATH})
        else
          DCO_RANGE=$(curl ${GITHUB_COMMIT_URL} | jq -r '.[0].parents[0].sha +".."+ .[-1].sha')
        fi
        ../project/script/validate/dco

    - name: Check file headers
      run: ../project/script/validate/fileheader ../project/
      working-directory: src/github.com/containerd/fifo

    - name: Go Linting
      run: make check
      working-directory: src/github.com/containerd/fifo

    - name: Build & Test
      working-directory: src/github.com/containerd/fifo
      run: |
        make test

Move from Travis to GitHub Actions
Move from Travis to GitHub Actions

Signed-off-by: Phil Estes <dbac1f450dc8326caa7ba104b384a0eca642250c@linux.vnet.ibm.com>
