name: CI on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: strategy: fail-fast: false matrix: os: [ubuntu-18.04, macos-10.15] name: ${{ matrix.os }} runs-on: ${{ matrix.os }} timeout-minutes: 5 steps: - name: Set up Go 1.15 uses: actions/setup-go@v2 with: go-version: 1.15 id: go - name: Setup Go binary path 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/ttrpc fetch-depth: 25 - name: Checkout project uses: actions/checkout@v2 with: repository: containerd/project path: src/github.com/containerd/project - name: Install dependencies env: GO111MODULE: off run: | go get -u github.com/vbatts/git-validation go get -u github.com/kunalkushwaha/ltag - name: Check DCO/whitespace/commit message env: GITHUB_COMMIT_URL: ${{ github.event.pull_request.commits_url }} DCO_VERBOSITY: "-q" DCO_RANGE: "" working-directory: src/github.com/containerd/ttrpc run: | if [ -z "${GITHUB_COMMIT_URL}" ]; then DCO_RANGE=$(jq -r '.before +".."+ .after' ${GITHUB_EVENT_PATH}) else DCO_RANGE=$(curl ${GITHUB_COMMIT_URL} | jq -r '.[0].parents[0].sha +".."+ .[-1].sha') fi ../project/script/validate/dco - name: Check file headers run: ../project/script/validate/fileheader ../project/ working-directory: src/github.com/containerd/ttrpc - name: Test working-directory: src/github.com/containerd/ttrpc run: | go test -v -race -coverprofile=coverage.txt -covermode=atomic ./... - name: Codecov run: bash <(curl -s https://codecov.io/bash) working-directory: src/github.com/containerd/ttrpc protobuild: name: Run Protobuild runs-on: ubuntu-20.04 timeout-minutes: 5 steps: - name: Set up Go 1.17 uses: actions/setup-go@v2 with: go-version: 1.17 id: go - name: Setup Go binary path 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/ttrpc fetch-depth: 25 - 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 - name: Install gogo/protobuf run: | cd $GOPATH/src mkdir -p github.com/gogo cd github.com/gogo git clone --depth 1 --branch v1.3.2 https://github.com/gogo/protobuf - name: Build protoc-gen-gogottrpc working-directory: src/github.com/containerd/ttrpc run: | go build ./cmd/protoc-gen-gogottrpc - name: Run Protobuild working-directory: src/github.com/containerd/ttrpc run: | export PATH=$GOPATH/bin:$PWD:$PATH go install github.com/containerd/protobuild@7e5ee24bc1f70e9e289fef15e2631eb3491320bf cd example protobuild git diff --exit-code