1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
|
name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
check:
name: Project checks
runs-on: ubuntu-20.04
timeout-minutes: 5
steps:
- name: Check out code
uses: actions/checkout@v2
with:
path: src/github.com/containerd/protobuild
fetch-depth: 25
- name: Project checks
uses: containerd/project-checks@v1
with:
working-directory: src/github.com/containerd/protobuild
test:
name: Test
strategy:
matrix:
os: [ ubuntu-20.04, windows-2022 ]
fail-fast: false
runs-on: ${{ matrix.os }}
timeout-minutes: 5
steps:
- name: Check out code
uses: actions/checkout@v2
with:
path: src/github.com/containerd/protobuild
fetch-depth: 25
- name: Setup environment
shell: bash
run: |
echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV
echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
- name: Check out code
uses: actions/checkout@v2
with:
path: src/github.com/containerd/protobuild
- name: Test
working-directory: src/github.com/containerd/protobuild
run: |
go test
v1:
name: Run with protoc-gen-go v1.3.5
runs-on: ubuntu-20.04
timeout-minutes: 5
steps:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16.x
id: go
- name: Setup environment
shell: bash
run: |
echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV
echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
- name: Check out code
uses: actions/checkout@v2
with:
path: src/github.com/containerd/protobuild
- name: Build
working-directory: src/github.com/containerd/protobuild
run: |
go build .
- name: Install protoc
run: |
curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v3.5.0/protoc-3.5.0-linux-x86_64.zip
sudo unzip -x protoc-3.5.0-linux-x86_64.zip -d /usr/local
sudo chmod -R go+rX /usr/local/include
sudo chmod go+x /usr/local/bin/protoc
# Both google.golang.org/protobuf/cmd/protoc-gen-go and github.com/golang/protobuf/protoc-gen-go > 1.4.0 don't
# support import_path. So this step has to use 1.3.x here.
- name: Install protoc-gen-go
run: |
go install github.com/golang/protobuf/protoc-gen-go@v1.3.5
- name: Run protobuild to see all committed auto-generated files can be generated as is
working-directory: src/github.com/containerd/protobuild
run: |
rm examples/foo/*.pb.* examples/bar/*.pb.* examples/nogrpc/*.pb.*
export PATH=$(go env GOBIN):$PATH
./protobuild github.com/containerd/protobuild/examples/bar github.com/containerd/protobuild/examples/foo github.com/containerd/protobuild/examples/nogrpc
git diff --exit-code
v2:
name: Run with protoc-gen-go v1.26
runs-on: ubuntu-20.04
timeout-minutes: 5
steps:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16.x
id: go
- name: Setup environment
shell: bash
run: |
echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV
echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
- name: Check out code
uses: actions/checkout@v2
with:
path: src/github.com/containerd/protobuild
- name: Build
working-directory: src/github.com/containerd/protobuild
run: |
go build .
- name: Install protoc
run: |
curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v3.18.1/protoc-3.18.1-linux-x86_64.zip
sudo unzip -x protoc-3.18.1-linux-x86_64.zip -d /usr/local
sudo chmod -R go+rX /usr/local/include
sudo chmod go+x /usr/local/bin/protoc
- name: Install protoc-gen-go and protoc-gen-go-grpc
run: |
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1
- name: Run protobuild to see all committed auto-generated files can be generated as is
working-directory: src/github.com/containerd/protobuild
run: |
rm examples/v2/*.pb.*
export PATH=$(go env GOBIN):$PATH
./protobuild -f v2.toml github.com/containerd/protobuild/examples/v2
git diff --exit-code
|