Cgroup2: Reduce allocations for manager.Stat
#364
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: | |
# | |
# Install Go | |
# | |
- name: Install Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: '1.20.x' | |
- name: Set env | |
shell: bash | |
run: | | |
echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV | |
echo "${{ github.workspace }}/bin" >> $GITHUB_PATH | |
# | |
# Checkout repos | |
# | |
- name: Checkout cgroups | |
uses: actions/checkout@v3 | |
with: | |
path: src/github.com/containerd/cgroups | |
fetch-depth: 25 | |
- 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: Install Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Checkout cgroups | |
uses: actions/checkout@v3 | |
with: | |
path: src/github.com/containerd/cgroups | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v3 | |
with: | |
version: v1.51.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: Install Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Set env | |
shell: bash | |
run: | | |
echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV | |
echo "${{ github.workspace }}/bin" >> $GITHUB_PATH | |
- name: Checkout cgroups | |
uses: actions/checkout@v3 | |
with: | |
path: src/github.com/containerd/cgroups | |
- 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: Install Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: '1.19.x' | |
- name: Set env | |
shell: bash | |
run: | | |
echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV | |
echo "${{ github.workspace }}/bin" >> $GITHUB_PATH | |
- name: Checkout cgroups | |
uses: actions/checkout@v3 | |
with: | |
path: src/github.com/containerd/cgroups | |
- 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 |