go.ligato.io/vpp-agent/v3@v3.5.0/.github/workflows/ci.yml (about)

     1  ---
     2  name: CI
     3  on:
     4    push:
     5      branches:
     6        - master
     7    pull_request:
     8  
     9  jobs:
    10    yamllint:
    11      name: lint yaml
    12      runs-on: ubuntu-latest
    13      steps:
    14        - uses: actions/checkout@v2
    15        - name: Setup Python
    16          uses: actions/setup-python@v1
    17        - name: Install yamllint
    18          run: pip install --user yamllint
    19        - name: Run yamllint
    20          run: ~/.local/bin/yamllint -c .yamllint.yml .
    21    golangci:
    22      name: lint
    23      runs-on: ubuntu-latest
    24      steps:
    25        - uses: actions/setup-go@v3
    26          with:
    27            go-version: 1.18
    28        - uses: actions/checkout@v3
    29        - name: golangci-lint
    30          uses: golangci/golangci-lint-action@v3
    31          with:
    32            version: v1.50
    33            args: --timeout 5m
    34    checkproto:
    35      name: check proto
    36      runs-on: ubuntu-latest
    37      steps:
    38        - uses: actions/checkout@v2
    39        - name: Run check-proto
    40          run: make check-proto
    41    checkgomod:
    42      name: check go.mod
    43      runs-on: ubuntu-latest
    44      steps:
    45        - uses: actions/checkout@v2
    46        - uses: actions/setup-go@v1
    47          with:
    48            go-version: 1.18
    49        - run: go mod tidy -v
    50        - name: Check for changes in go.mod
    51          run: |
    52            git diff --name-only --exit-code go.mod || ( git diff && echo "Run go tidy to update go.mod" && false )
    53    build:
    54      name: build go
    55      runs-on: ubuntu-latest
    56      steps:
    57        - uses: actions/checkout@v2
    58        - uses: actions/setup-go@v1
    59          with:
    60            go-version: 1.18
    61        - run: |
    62            go build -v ./...
    63    unittest:
    64      name: unit test
    65      runs-on: ubuntu-latest
    66      steps:
    67        - uses: actions/checkout@v2
    68        - uses: actions/setup-go@v1
    69          with:
    70            go-version: 1.18
    71        - run: |
    72            go test -v ./...