Skip to content
This repository has been archived by the owner on Jul 12, 2023. It is now read-only.

CI

CI #1320

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
schedule:
- cron: '0 0 */1 * *'
workflow_dispatch:
concurrency:
group: '${{ github.workflow }}-${{ github.head_ref || github.ref }}'
cancel-in-progress: true
jobs:
test:
name: test
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: '1.19'
- name: Download modules
run: go mod download
- name: go-test
shell: bash
run: make test-acc
- name: go-coverage
shell: bash
run: |-
OUTPUT="$(make test-coverage)"
TOTAL="$(echo $OUTPUT | awk 'END{print $NF}')"
echo "::group::Coverage (${TOTAL})"
echo "${OUTPUT}"
echo "::endgroup::"
lint:
name: lint
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Check out code
uses: actions/checkout@v3
- uses: reviewdog/action-setup@v1
- name: Install pcregrep
run: sudo apt-get -yqq install pcregrep
- name: Install Protoc
run: |-
curl -sfLo ${RUNNER_TEMP}/protoc.zip https://github.com/protocolbuffers/protobuf/releases/download/v21.4/protoc-21.4-linux-x86_64.zip
unzip ${RUNNER_TEMP}/protoc.zip -d ${RUNNER_TEMP}/protoc
echo "${RUNNER_TEMP}/protoc/bin" >> ${GITHUB_PATH}
- uses: actions/setup-go@v3
with:
go-version: '1.19'
- name: Download modules
run: go mod download
- name: go-lint
shell: bash
run: |-
set -eEu
set +o pipefail
make lint
- name: zapw-logger
shell: bash
env:
REVIEWDOG_GITHUB_API_TOKEN: ${{ github.token }}
run: |-
set -eEu
set +o pipefail
make zapcheck 2>&1 | \
reviewdog -efm="%f:%l:%c: %m" \
-name="zap-logger" \
-reporter="github-pr-check" \
-filter-mode="diff_context" \
-fail-on-error="true" \
-level="error"
- name: copyright-check
shell: bash
env:
REVIEWDOG_GITHUB_API_TOKEN: ${{ github.token }}
run: |-
set -eEu
set +o pipefail
YEAR=$(date +"%Y")
find . -type f -name '*.go' -exec awk 'FNR==1{if ($0!~"Copyright '"${YEAR}"'" && $0!~"Code generated") print FILENAME ":1:missing copyright or invalid copyright year";}' '{}' + | \
reviewdog -efm="%f:%l:%m" \
-name="copyright-check" \
-reporter="github-pr-check" \
-filter-mode="diff_context" \
-fail-on-error="true" \
-level="error"
- name: generate-check
shell: bash
run: |-
set -eEu
set +o pipefail
make generate-check
- name: protoc-check
shell: bash
run: |-
set -eEu
set +o pipefail
make protoc-check
- name: tab-check
shell: bash
env:
REVIEWDOG_GITHUB_API_TOKEN: ${{ github.token }}
run: |-
set -eEu
set +o pipefail
make tabcheck | \
reviewdog -efm="%f:%l:%m" \
-name="tab-check" \
-reporter="github-pr-check" \
-filter-mode="diff_context" \
-fail-on-error="true" \
-level="error"