Skip to content

Commit 42ec40e

Browse files
committed
add ci stuff
1 parent 47086d2 commit 42ec40e

3 files changed

Lines changed: 113 additions & 0 deletions

File tree

.github/dependabot.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
version: 2
2+
updates:
3+
# Go modules
4+
- package-ecosystem: "gomod"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"
8+
day: "monday"
9+
open-pull-requests-limit: 10
10+
labels:
11+
- "dependencies"
12+
- "go"
13+
commit-message:
14+
prefix: "chore"
15+
include: "scope"
16+
17+
# GitHub Actions
18+
- package-ecosystem: "github-actions"
19+
directory: "/"
20+
schedule:
21+
interval: "weekly"
22+
day: "monday"
23+
open-pull-requests-limit: 5
24+
labels:
25+
- "dependencies"
26+
- "github-actions"
27+
commit-message:
28+
prefix: "chore"
29+
include: "scope"

.github/workflows/ci.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
lint:
11+
name: Lint
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v6
16+
17+
- name: Set up Go
18+
uses: actions/setup-go@v6
19+
with:
20+
go-version: '1.24'
21+
22+
- name: golangci-lint
23+
uses: golangci/golangci-lint-action@v9
24+
with:
25+
version: latest
26+
args: --timeout=5m
27+
28+
test:
29+
name: Test
30+
runs-on: ${{ matrix.os }}
31+
strategy:
32+
matrix:
33+
os: [ubuntu-latest, macos-latest, windows-latest]
34+
go-version: ['1.24']
35+
steps:
36+
- name: Checkout code
37+
uses: actions/checkout@v6
38+
39+
- name: Set up Go
40+
uses: actions/setup-go@v6
41+
with:
42+
go-version: ${{ matrix.go-version }}
43+
44+
- name: Download dependencies
45+
run: go mod download
46+
47+
- name: Run tests
48+
shell: bash
49+
run: go test -v -race -coverprofile=coverage.out -covermode=atomic ./...
50+
51+
- name: Upload coverage to Codecov
52+
if: matrix.os == 'ubuntu-latest' && matrix.go-version == '1.24'
53+
uses: codecov/codecov-action@v5
54+
with:
55+
slug: mallardduck/go-http-helpers
56+
token: ${{ secrets.CODECOV_TOKEN }}
57+
files: ./coverage.out
58+
flags: unittests
59+
fail_ci_if_error: false

.github/workflows/release.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
test:
13+
name: Test before release
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v6
18+
19+
- name: Set up Go
20+
uses: actions/setup-go@v6
21+
with:
22+
go-version: '1.24'
23+
24+
- name: Run tests
25+
run: go test -v -race ./...

0 commit comments

Comments
 (0)