Skip to content

Commit fc49728

Browse files
committed
init
0 parents  commit fc49728

94 files changed

Lines changed: 9987 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.gitattributes‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.gen.go -diff
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
name: Bug Report
3+
description: File a bug report.
4+
labels: ["bug"]
5+
type: bug
6+
assignees:
7+
- metafates
8+
body:
9+
- type: markdown
10+
attributes:
11+
value: |
12+
Thanks for taking the time to fill out this bug report!
13+
14+
- type: textarea
15+
id: what-happened
16+
attributes:
17+
label: What happened?
18+
description: Also tell us, what did you expect to happen?
19+
placeholder: Tell us what you see!
20+
validations:
21+
required: true
22+
23+
- type: textarea
24+
id: logs
25+
attributes:
26+
label: Relevant log output
27+
description: |
28+
Please copy and paste any relevant log output.
29+
This will be automatically formatted into code, no need for backticks.
30+
render: shell
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
name: Feature Request
3+
description: File a feature request.
4+
labels: ["enhancement"]
5+
type: feature
6+
assignees:
7+
- metafates
8+
body:
9+
- type: markdown
10+
attributes:
11+
value: |
12+
Thanks for taking the time to fill out this feature request!
13+
14+
- type: textarea
15+
id: request
16+
attributes:
17+
label: Feature
18+
description: Also tell us, what problem it would solve?
19+
placeholder: Tell us what you have on your mind!
20+
validations:
21+
required: true

‎.github/workflows/qa.yml‎

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
name: Quality Assurance
3+
4+
"on":
5+
push:
6+
branches:
7+
- main
8+
- master
9+
pull_request:
10+
11+
# Cancel prior runs on the same branch when a new one starts
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: true
15+
16+
jobs:
17+
test:
18+
name: Test
19+
20+
runs-on: ${{ matrix.os }}
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
os: [ubuntu-latest, macos-latest, windows-latest]
25+
26+
steps:
27+
- uses: actions/checkout@v4
28+
29+
- name: Set up Go
30+
uses: actions/setup-go@v5
31+
with:
32+
go-version: stable
33+
34+
- name: Run unit tests with race detector
35+
if: runner.os != 'Windows'
36+
run: go test -race -v ./...
37+
38+
- name: Run unit tests without race detector
39+
if: runner.os == 'Windows'
40+
run: go test -v ./...
41+
42+
- name: Test examples output
43+
run: go test -v -tags e2e -count=1 ./examples_test.go
44+
45+
lint:
46+
name: Lint
47+
runs-on: ubuntu-latest
48+
steps:
49+
- uses: actions/checkout@v4
50+
51+
- name: Set up Go
52+
uses: actions/setup-go@v5
53+
with:
54+
go-version: stable
55+
56+
- name: Run linters
57+
uses: golangci/golangci-lint-action@v9
58+
with:
59+
version: v2.11.4
60+
args: --tests=false --timeout=5m

‎.gitignore‎

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Binaries for programs and plugins
2+
*.exe
3+
*.exe~
4+
*.dll
5+
*.so
6+
*.dylib
7+
8+
# Test binary, built with `go test -c`
9+
*.test
10+
11+
# Code coverage profiles and other test artifacts
12+
*.out
13+
coverage.*
14+
*.coverprofile
15+
profile.cov
16+
17+
# Go workspace file
18+
go.work
19+
go.work.sum
20+
21+
# env file
22+
.env
23+
24+
.idea/
25+
26+
.DS_Store
27+
npm-debug.log
28+
Thumbs.db
29+
**/node_modules/
30+
*/out/
31+
*/.vs/
32+
tsconfig.lsif.json
33+
*.lsif
34+
*.db
35+
*.tsbuildinfo
36+
vscode*.d.ts

‎.golangci.yaml‎

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
version: "2"
3+
formatters:
4+
enable:
5+
- gci
6+
- gofumpt
7+
- goimports
8+
- golines
9+
- swaggo
10+
exclusions:
11+
generated: strict
12+
settings:
13+
gofmt:
14+
rewrite-rules:
15+
- pattern: "interface{}"
16+
replacement: "any"
17+
gofumpt:
18+
extra-rules: true
19+
20+
linters:
21+
default: all
22+
disable:
23+
- forcetypeassert
24+
- ireturn
25+
- depguard
26+
- exhaustive
27+
- exhaustruct
28+
- wrapcheck
29+
- varnamelen
30+
- mnd
31+
- godox
32+
- interfacebloat
33+
- wsl
34+
- nonamedreturns
35+
- noinlineerr
36+
- gochecknoglobals
37+
- err113
38+
- gochecknoinits
39+
exclusions:
40+
rules:
41+
- linters:
42+
- lll
43+
source: "\\s*// "
44+
- path: examples/
45+
linters:
46+
- forbidigo
47+
- wsl
48+
- revive
49+
- godot
50+
- funlen
51+
- gosec
52+
- path: internal/
53+
linters:
54+
- revive
55+
- text: "should have name t"
56+
linters:
57+
- thelper
58+
59+
settings:
60+
gosec:
61+
excludes:
62+
- G304
63+
- G703
64+
- G404
65+
dupword:
66+
keywords:
67+
- "the"
68+
- "and"
69+
- "a"
70+
errcheck:
71+
exclude-functions:
72+
- "(*os.File).Close"
73+
gocritic:
74+
enable-all: true
75+
disabled-checks:
76+
- rangeValCopy
77+
- hugeParam
78+
iface:
79+
enable:
80+
- identical
81+
- unused
82+
- opaque
83+
- unexported
84+
testifylint:
85+
enable-all: true
86+
wsl_v5:
87+
default: all

‎CHANGELOG.md‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Changelog
2+
3+
All notable changes to this project are documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
### Added
11+
12+
- Initial stable version.

‎CONTRIBUTING.md‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Contributing to Testo
2+
3+
Thank you for your interest.
4+
Below you'll find everything you need to know before contributing to Testo.
5+
6+
## Pull Requests
7+
8+
We welcome pull requests! Please include the following in the description:
9+
10+
- Motivation, why your change is important or helpful
11+
- Example usage (if applicable)
12+
- Whether you intend to add / change behavior or fix a bug
13+
14+
Please be aware that the maintainers may ask for changes.
15+
This isn't a commentary on the quality of your idea or your code.
16+
We need to enforce certain practices and patterns to keep the package easy for others to understand.
17+
Essentially, we recognize that there are often many good ways to do a given thing, but we have to pick one and stick with it.
18+
19+
## Issues
20+
21+
If you find a bug or think of a useful feature you'd like to see added to Testo,
22+
the best thing you can do is make the necessary changes and open a pull request (see above).
23+
If that isn't an option, or if you'd like to discuss your change before you write the code, open an issue!
24+
25+
Please provide enough context in the issue description that other members of the community
26+
can easily understand what it is that you'd like to see.

0 commit comments

Comments
 (0)