Skip to content

Commit 6b06caf

Browse files
committed
first version
0 parents  commit 6b06caf

28 files changed

+1934
-0
lines changed

.github/FUNDING.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# These are supported funding model platforms
2+
3+
github: [Eun] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
patreon: # Replace with a single Patreon username
5+
open_collective: # Replace with a single Open Collective username
6+
ko_fi: # Replace with a single Ko-fi username
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: Eun # Replace with a single Liberapay username
10+
issuehunt: eun # Replace with a single IssueHunt username
11+
otechie: # Replace with a single Otechie username
12+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
## Description
2+
3+
## Problem
4+
A short description of the problem this PR is addressing.
5+
6+
## Solution
7+
A short description of the chosen method to resolve the problem
8+
with an overview of the logic and implementation details when needed.
9+
10+
## Notes
11+
Other notes that you want to share but do not fit into _Problem_ or _Solution_.
12+

.github/dependabot.yml

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

.github/labeler.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
labels:
2+
'feature':
3+
- '^(?i:feat)'
4+
- '^(?i:feature)'
5+
'fix':
6+
- '^(?i:fix)'
7+
'chore':
8+
- '^(?i:chore)'

.github/release-drafter.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name-template: 'v$RESOLVED_VERSION'
2+
tag-template: 'v$RESOLVED_VERSION'
3+
categories:
4+
- title: '🚀 Features'
5+
label: 'feature'
6+
- title: '🐛 Bug Fixes'
7+
label: 'fix'
8+
- title: '🧰 Maintenance'
9+
label: 'chore'
10+
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
11+
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
12+
version-resolver:
13+
major:
14+
labels:
15+
- 'major'
16+
minor:
17+
labels:
18+
- 'minor'
19+
patch:
20+
labels:
21+
- 'patch'
22+
default: patch
23+
autolabeler:
24+
- label: 'feature'
25+
title:
26+
- '/^feat/i'
27+
- '/^feature/i'
28+
- label: 'fix'
29+
title:
30+
- '/^fix/i'
31+
- label: 'chore'
32+
title:
33+
- '/^chore/i'
34+
template: |
35+
## Changes
36+
37+
$CHANGES
38+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# this workflow will run on all pull requests opened but in the context of the base of the pull request.
2+
on:
3+
pull_request_target:
4+
types: [opened]
5+
6+
name: "pull_request_target_opened"
7+
jobs:
8+
# labeler will label pull requests based on their title.
9+
# the configuration is at .github/labeler.yml.
10+
label_pull_request:
11+
runs-on: ubuntu-latest
12+
steps:
13+
-
14+
name: Label Pull Request
15+
uses: jimschubert/labeler-action@v2
16+
with:
17+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

.github/workflows/push.yml

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# this workflow will run on all pushes.
2+
on:
3+
push:
4+
5+
name: "push"
6+
jobs:
7+
# run golangci-lint to lint the golang source code.
8+
# the configuration is at /.golangci.yml.
9+
linter:
10+
runs-on: ubuntu-latest
11+
steps:
12+
-
13+
name: Checkout code
14+
uses: actions/[email protected]
15+
-
16+
name: Get go.mod details
17+
18+
id: go-mod-details
19+
-
20+
name: Install Go
21+
uses: actions/setup-go@v5
22+
with:
23+
go-version: ${{ steps.go-mod-details.outputs.go_version }}
24+
-
25+
name: Lint
26+
uses: golangci/[email protected]
27+
with:
28+
version: v1.55.2
29+
# optional: show only new issues if it's a pull request. The default value is `false`.
30+
# only-new-issues: true
31+
32+
# use nancy to scan for vulnerabilities.
33+
vulnerability_scanner:
34+
name: Vulnerability scanner
35+
runs-on: ubuntu-latest
36+
steps:
37+
-
38+
uses: actions/[email protected]
39+
-
40+
uses: actions/setup-go@v5
41+
# we cannot use nancy-github-action because it is outdated, so it's better to use the latest
42+
# docker image for the validation
43+
-
44+
name: nancy
45+
run: go list -json -m all | docker run -i sonatypecommunity/nancy:latest
46+
47+
# run golang test suite and collect their coverage.
48+
test:
49+
strategy:
50+
matrix:
51+
platform: [ubuntu-latest, macos-latest, windows-latest]
52+
runs-on: ${{ matrix.platform }}
53+
steps:
54+
-
55+
name: Checkout code
56+
uses: actions/[email protected]
57+
-
58+
name: Get go.mod details
59+
60+
id: go-mod-details
61+
-
62+
name: Install Go
63+
uses: actions/setup-go@v5
64+
with:
65+
go-version: ${{ steps.go-mod-details.outputs.go_version }}
66+
-
67+
name: Test
68+
run: go test -v -count=1 -coverprofile="coverage-${{ matrix.platform }}-${{ steps.go-mod-details.outputs.go_version }}.cov" -covermode=atomic ./...
69+
-
70+
name: Send coverage
71+
uses: shogo82148/[email protected]
72+
with:
73+
path-to-profile: coverage-${{ matrix.platform }}-${{ steps.go-mod-details.outputs.go_version }}.cov
74+
flag-name: ${{ matrix.platform }}-${{ steps.go-mod-details.outputs.go_version }}
75+
parallel: true
76+
77+
# notifies that all test jobs are finished.
78+
finish:
79+
needs: test
80+
runs-on: ubuntu-latest
81+
steps:
82+
- uses: shogo82148/[email protected]
83+
with:
84+
parallel-finished: true
85+
86+
# draft your next release notes as pull requests are merged into "master"
87+
# the configuration is at /.github/release-drafter.yml.
88+
update_release_draft:
89+
runs-on: ubuntu-latest
90+
permissions:
91+
contents: write
92+
pull-requests: read
93+
steps:
94+
- uses: release-drafter/release-drafter@v5
95+
if: github.ref_name == github.event.repository.default_branch
96+
with:
97+
config-name: release-drafter.yml
98+
env:
99+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/.idea

0 commit comments

Comments
 (0)