-
Notifications
You must be signed in to change notification settings - Fork 46
68 lines (57 loc) · 1.87 KB
/
main.yml
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
# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events for all branches and tags
on:
push:
branches: [ '**' ]
pull_request:
branches: [ '**' ]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
lint:
name: lint
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v1
with:
persist-credentials: false
submodules: true
- name: Check License Header
uses: apache/skywalking-eyes/header@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: golangci-lint
uses: ./.github/actions/review-dog
with:
golangci_lint_flags: "--timeout=10m"
test:
strategy:
matrix:
go-version: [ 1.18.x ]
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout code
uses: actions/checkout@v2
- name: Go Build
run: |
go build ./...
- name: Unit Tests
run: |
mkdir -p build
go test -gcflags=all=-l $(go list ./... | grep -v /test/ | grep -v /parser | grep -v /types) -coverprofile=coverage.txt -covermode=atomic
- name: Post Coverage
run: bash <(curl -s https://codecov.io/bash)
- name: Shutdown Ubuntu MySQL (SUDOx)
run: sudo service mysql stop
- name: Integration Tests
shell: bash
run: make integration-test