forked from ethersphere/bee
-
Notifications
You must be signed in to change notification settings - Fork 0
131 lines (129 loc) · 3.64 KB
/
Copy pathgo.yml
File metadata and controls
131 lines (129 loc) · 3.64 KB
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
name: Go
on:
push:
paths-ignore:
- packaging/**
- openapi/**
- '**/*.md'
- '.github/ISSUE_TEMPLATE/**'
branches:
- 'master'
pull_request:
paths-ignore:
- packaging/**
- openapi/**
- '**/*.md'
- '.github/ISSUE_TEMPLATE/**'
branches:
- '**'
jobs:
test:
name: Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Go
uses: actions/setup-go@v6
with:
cache: true
go-version-file: go.mod
- name: Increase UDP buffer sizes (Ubuntu)
if: matrix.os == 'ubuntu-latest'
run: |
sudo sysctl -w net.core.rmem_max=7500000
sudo sysctl -w net.core.wmem_max=7500000
- name: Increase UDP buffer sizes (macOS)
if: matrix.os == 'macos-latest'
run: |
sudo sysctl -w kern.ipc.maxsockbuf=6291456
- name: Build
run: make build
- name: Test with race detector (Ubuntu and MacOS)
if: matrix.os != 'windows-latest'
run: make test-ci-race
- name: Test without race detector (Windows)
if: matrix.os == 'windows-latest'
run: make test-ci
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Setup Go
uses: actions/setup-go@v6
with:
cache: false
go-version-file: go.mod
- name: Commit linting
if: github.ref != 'refs/heads/master'
uses: wagoid/commitlint-github-action@v5
with:
configFile: commitlint.config.js
- name: GolangCI-Lint
uses: golangci/golangci-lint-action@1e7e51e771db61008b38414a730f564565cf7c20 # v9.2.0
with:
# Disable the golangci-lint cache: a restored stale cache has produced
# phantom staticcheck findings in files unrelated to the PR diff. The
# full lint run is fast enough that correctness is worth the trade-off.
skip-cache: true
version: v2.11.3
- name: Whitespace check
run: make check-whitespace
- name: go mod tidy check
uses: katexochen/go-tidy-check@v2
coverage:
name: Coverage Report
if: github.ref == 'refs/heads/master'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Go
uses: actions/setup-go@v6
with:
cache: false
go-version-file: go.mod
- name: Cache Go Modules
uses: actions/cache@v4
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-coverage-${{ hashFiles('**/go.sum') }}
- name: Test with code coverage
run: make cover=1 test-ci
- name: Upload coverage to Codecov
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
files: ./cover.out
trigger-beekeeper:
name: Trigger Beekeeper
runs-on: ubuntu-latest
needs: [test, lint, coverage]
if: github.ref == 'refs/heads/master'
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Setup Go
uses: actions/setup-go@v6
with:
cache: false
go-version-file: go.mod
- name: Trigger Beekeeper
uses: peter-evans/repository-dispatch@v2
with:
token: ${{ secrets.GHA_PAT_BASIC }}
repository: ${{ github.repository }}
event-type: trigger-beekeeper
client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'