1name: Continuous Integration
2
3on:
4  push:
5    branches:
6      - '**'
7      # - $default-branch
8  pull_request:
9    branches:
10      - '**'
11      # - $default-branch
12
13jobs:
14  build:
15    env:
16      COVER: true
17    runs-on: ubuntu-20.04
18    steps:
19
20    - name: Check out code
21      uses: actions/checkout@v2
22
23    - name: Set up Go 1.16
24      uses: actions/setup-go@v2
25      with:
26        go-version: 1.16.x
27      id: go
28
29    - name: Get dependencies
30      run: |
31        curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.36.0
32        curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
33        chmod +x ./cc-test-reporter
34
35    - name: Verify Code Generation
36      run: |
37        make verify-generate
38
39    - name: Lint
40      run: |
41        make lint
42
43    - name: Build
44      run: |
45        make build
46
47    - name: Test
48      env:
49        CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
50      run: |
51        ./.github/workflows/test.sh
52
53  docker:
54    runs-on: ubuntu-20.04
55    steps:
56
57    - name: Check out code
58      uses: actions/checkout@v2
59
60    - name: Set up Docker Buildx
61      id: buildx
62      uses: crazy-max/ghaction-docker-buildx@v3
63      with:
64        buildx-version: latest
65        qemu-version: latest
66
67    - name: Docker Build
68      run: |
69        make docker
70