Skip to content

Merge pull request #161 from austinvazquez/update-ci #395

Merge pull request #161 from austinvazquez/update-ci

Merge pull request #161 from austinvazquez/update-ci #395

Workflow file for this run

name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
GO_VERSION: 1.20.x
permissions:
contents: read
pull-requests: read
jobs:
#
# golangci-lint
#
linters:
name: Linters
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
with:
path: src/github.com/containerd/ttrpc
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- name: golangci-lint
uses: golangci/golangci-lint-action@v4
with:
version: v1.51.2
args: --timeout=5m
skip-cache: true
working-directory: src/github.com/containerd/ttrpc
- name: golangci-lint errors
run: golangci-lint run
working-directory: src/github.com/containerd/ttrpc
if: ${{ failure() }}
#
# Project checks
#
project:
name: Project Checks
runs-on: ubuntu-22.04
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
with:
path: src/github.com/containerd/ttrpc
fetch-depth: 25
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- uses: containerd/project-checks@v1.1.0
with:
working-directory: src/github.com/containerd/ttrpc
#
# Build and Test project
#
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
go: [1.19.x, 1.20.x]
name: ${{ matrix.os }} / ${{ matrix.go }}
runs-on: ${{ matrix.os }}
timeout-minutes: 10
steps:
- name: Check out code
uses: actions/checkout@v4
with:
path: src/github.com/containerd/ttrpc
fetch-depth: 25
- uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
- name: Test
working-directory: src/github.com/containerd/ttrpc
run: |
make test
- name: Coverage
working-directory: src/github.com/containerd/ttrpc
run: |
make coverage TESTFLAGS_RACE=-race
- name: Integration Tests
working-directory: src/github.com/containerd/ttrpc
run: |
make integration
#
# Run Protobuild
#
protobuild:
name: Run Protobuild
runs-on: ubuntu-22.04
timeout-minutes: 5
steps:
- name: Check out code
uses: actions/checkout@v4
with:
path: src/github.com/containerd/ttrpc
fetch-depth: 25
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
id: go
- name: Setup Go binary path
shell: bash
run: |
echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV
echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
- name: Install dependencies
working-directory: src/github.com/containerd/ttrpc
run: |
sudo make install-protobuf
make install-protobuild
- name: Install protoc-gen-go-ttrpc
working-directory: src/github.com/containerd/ttrpc
run: |
make install
- name: Run Protobuild
working-directory: src/github.com/containerd/ttrpc
run: |
make check-protos