Skip to content

Commit b6a5722

Browse files
committed
feat: initial release
0 parents  commit b6a5722

Some content is hidden

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

47 files changed

+2771
-0
lines changed

.editorconfig

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# EditorConfig is awesome: https://EditorConfig.org
2+
3+
root = true
4+
5+
[*]
6+
charset = utf-8
7+
end_of_line = lf
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
11+
[*.go]
12+
indent_style = tab
13+
14+
[*.{md,yaml,yml}]
15+
indent_style = space
16+
indent_size = 2
17+
18+
[Makefile]
19+
indent_style = tab

.github/workflows/release.yml

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
name: release
3+
permissions:
4+
contents: write
5+
on:
6+
workflow_dispatch:
7+
inputs:
8+
version:
9+
description: "Release version (e.g., v1.0.0)"
10+
required: true
11+
jobs:
12+
run:
13+
name: Release
14+
runs-on: ubuntu-latest
15+
container:
16+
image: goreleaser/goreleaser:latest
17+
steps:
18+
- name: Install dependencies
19+
run: apk add --no-cache bash ncurses git
20+
- name: Checkout code
21+
uses: actions/checkout@v4
22+
with:
23+
fetch-depth: 0
24+
- run: |
25+
git config --global --add safe.directory "$PWD"
26+
git fetch --force --tags
27+
- name: Create release tag
28+
run: |
29+
git config --global user.email "[email protected]"
30+
git config --global user.name "Michael Henriksen"
31+
git tag -a "$VERSION" -m "$VERSION"
32+
env:
33+
VERSION: ${{ github.event.inputs.version }}
34+
- name: Run GoReleaser
35+
run: goreleaser release --clean
36+
env:
37+
VERSION: ${{ github.event.inputs.version }}
38+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39+
- name: Notify Go proxy about new release
40+
run: go list -m "github.com/michenriksen/chart@${VERSION}" || true
41+
env:
42+
GOPROXY: proxy.golang.org
43+
VERSION: ${{ github.event.inputs.version }}

.github/workflows/verify.yml

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
name: verify
3+
permissions:
4+
contents: read
5+
on:
6+
push:
7+
branches: [main]
8+
paths:
9+
- "go.mod"
10+
- "**/*.go"
11+
pull_request:
12+
branches: [main]
13+
paths:
14+
- "go.mod"
15+
- "**/*.go"
16+
workflow_dispatch:
17+
concurrency:
18+
group: ${{ github.workflow }}-${{ github.ref }}
19+
cancel-in-progress: true
20+
env:
21+
TERM: xterm-256color
22+
jobs:
23+
verify:
24+
name: verify
25+
runs-on: ubuntu-latest
26+
timeout-minutes: 5
27+
strategy:
28+
fail-fast: true
29+
steps:
30+
- name: Check out code
31+
uses: actions/checkout@v4
32+
- name: Install Go
33+
uses: actions/setup-go@v5
34+
with:
35+
go-version-file: "go.mod"
36+
cache-dependency-path: "go.sum"
37+
- name: Vet
38+
run: go vet ./...
39+
- name: Tidy
40+
run: |
41+
go mod tidy
42+
if ! git diff --exit-code --quiet; then
43+
echo "go mod is not tidy"
44+
exit 1
45+
fi
46+
- name: Verify dependencies
47+
run: go mod verify
48+
- name: Test
49+
run: go test -shuffle=on -cover -covermode=atomic -coverprofile=cover.out -race ./...
50+
- name: Lint
51+
uses: golangci/golangci-lint-action@v6
52+
with:
53+
version: v1.59

.gitignore

+118
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
# Created by https://www.toptal.com/developers/gitignore/api/go,vim,visualstudiocode,macos,linux
2+
# Edit at https://www.toptal.com/developers/gitignore?templates=go,vim,visualstudiocode,macos,linux
3+
4+
### Go ###
5+
# If you prefer the allow list template instead of the deny list, see community template:
6+
# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore
7+
#
8+
# Binaries for programs and plugins
9+
*.exe
10+
*.exe~
11+
*.dll
12+
*.so
13+
*.dylib
14+
15+
# Test binary, built with `go test -c`
16+
*.test
17+
18+
# Output of the go coverage tool, specifically when used with LiteIDE
19+
*.out
20+
21+
# Dependency directories (remove the comment below to include it)
22+
# vendor/
23+
24+
# Go workspace file
25+
go.work
26+
27+
### Linux ###
28+
*~
29+
30+
# temporary files which can be created if a process still has a handle open of a deleted file
31+
.fuse_hidden*
32+
33+
# KDE directory preferences
34+
.directory
35+
36+
# Linux trash folder which might appear on any partition or disk
37+
.Trash-*
38+
39+
# .nfs files are created when an open file is removed but is still being accessed
40+
.nfs*
41+
42+
### macOS ###
43+
# General
44+
.DS_Store
45+
.AppleDouble
46+
.LSOverride
47+
48+
# Icon must end with two \r
49+
Icon
50+
51+
52+
# Thumbnails
53+
._*
54+
55+
# Files that might appear in the root of a volume
56+
.DocumentRevisions-V100
57+
.fseventsd
58+
.Spotlight-V100
59+
.TemporaryItems
60+
.Trashes
61+
.VolumeIcon.icns
62+
.com.apple.timemachine.donotpresent
63+
64+
# Directories potentially created on remote AFP share
65+
.AppleDB
66+
.AppleDesktop
67+
Network Trash Folder
68+
Temporary Items
69+
.apdisk
70+
71+
### macOS Patch ###
72+
# iCloud generated files
73+
*.icloud
74+
75+
### Vim ###
76+
# Swap
77+
[._]*.s[a-v][a-z]
78+
!*.svg # comment out if you don't need vector files
79+
[._]*.sw[a-p]
80+
[._]s[a-rt-v][a-z]
81+
[._]ss[a-gi-z]
82+
[._]sw[a-p]
83+
84+
# Session
85+
Session.vim
86+
Sessionx.vim
87+
88+
# Temporary
89+
.netrwhist
90+
# Auto-generated tag files
91+
tags
92+
# Persistent undo
93+
[._]*.un~
94+
95+
### VisualStudioCode ###
96+
.vscode/*
97+
!.vscode/settings.json
98+
!.vscode/tasks.json
99+
!.vscode/launch.json
100+
!.vscode/extensions.json
101+
!.vscode/*.code-snippets
102+
103+
# Local History for Visual Studio Code
104+
.history/
105+
106+
# Built Visual Studio Code Extensions
107+
*.vsix
108+
109+
### VisualStudioCode Patch ###
110+
# Ignore all local history of files
111+
.history
112+
.ionide
113+
114+
# End of https://www.toptal.com/developers/gitignore/api/go,vim,visualstudiocode,macos,linux
115+
116+
.env
117+
/dist
118+
/out

0 commit comments

Comments
 (0)