Skip to content

Merge pull request #332 from austinvazquez/dependabot/go_modules/goog… #480

Merge pull request #332 from austinvazquez/dependabot/go_modules/goog…

Merge pull request #332 from austinvazquez/dependabot/go_modules/goog… #480

Workflow file for this run

name: CI
on:
push:
branches:
- main
- 'release/**'
pull_request:
branches:
- main
- 'release/**'
jobs:
#
# Project checks
#
project:
name: Project Checks
runs-on: ubuntu-22.04
timeout-minutes: 5
steps:
#
# Checkout repos
#
- name: Checkout cgroups
uses: actions/checkout@v3
with:
path: src/github.com/containerd/cgroups
fetch-depth: 25
#
# Install Go
#
- name: Install Go
uses: actions/setup-go@v4
with:
go-version: '1.20.x'
cache-dependency-path: src/github.com/containerd/cgroups
- name: Project checks
uses: containerd/project-checks@v1.1.0
with:
working-directory: src/github.com/containerd/cgroups
lint:
name: Lint
timeout-minutes: 10
needs: [project]
runs-on: ubuntu-22.04
strategy:
matrix:
go-version: [1.19.x, 1.20.x]
steps:
- name: Checkout cgroups
uses: actions/checkout@v3
with:
path: src/github.com/containerd/cgroups
- name: Install Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}
cache-dependency-path: src/github.com/containerd/cgroups
- name: golangci-lint
uses: golangci/golangci-lint-action@v4
with:
version: v1.57.1
args: --verbose
working-directory: src/github.com/containerd/cgroups
test:
name: Test cgroups
timeout-minutes: 15
needs: [project]
strategy:
matrix:
go-version: [1.19.x, 1.20.x]
# Ubuntu-20.04 has cgroups v1 default; Ubuntu-22.04 has cgroups v2 default.
os: [ubuntu-20.04, ubuntu-22.04]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout cgroups
uses: actions/checkout@v3
with:
path: src/github.com/containerd/cgroups
- name: Install Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}
# Disable Go caching feature when compiling across Linux distributions due to collisions until https://github.com/actions/setup-go/issues/368 is resolved.
cache: false
- name: Run cgroup tests
run: |
$(command -v go) test -exec sudo -v -race -coverprofile=coverage.txt -covermode=atomic ./...
working-directory: src/github.com/containerd/cgroups
- name: Build cgctl
run: make all
working-directory: src/github.com/containerd/cgroups
proto:
name: Compare auto-generated Go files
runs-on: ubuntu-22.04
steps:
- name: Checkout cgroups
uses: actions/checkout@v3
with:
path: src/github.com/containerd/cgroups
- name: Install Go
uses: actions/setup-go@v4
with:
go-version: '1.19.x'
cache-dependency-path: src/github.com/containerd/cgroups
- name: Set env
shell: bash
run: |
echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV
echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
- name: Install protoc
run: |
curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v21.5/protoc-21.5-linux-x86_64.zip
# /usr/local is not writable from GitHub Actions' user
sudo unzip protoc-21.5-linux-x86_64.zip -d /usr/local
- name: Install proto-related tools for Go
run: |
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
go install github.com/containerd/protobuild@v0.3.0
go install github.com/containerd/protobuild/cmd/go-fix-acronym@v0.3.0
- name: Compare auto-generated Go files
run: |
make proto
git diff --exit-code
working-directory: src/github.com/containerd/cgroups