Skip to content

Commit b386aa8

Browse files
committed
Initial commit
0 parents  commit b386aa8

18 files changed

+847
-0
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @benjivesterby

.github/CODE_OF_CONDUCT.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
## Community Code of Conduct v1.0
2+
3+
This is Code of Conduct is based on the [CNCF Code of
4+
Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).
5+
See the referred document for translated versions into different languages.
6+
7+
### Contributor Code of Conduct
8+
9+
As contributors and maintainers of this project, and in the interest of fostering
10+
an open and welcoming community, we pledge to respect all people who contribute
11+
through reporting issues, posting feature requests, updating documentation,
12+
submitting pull requests or patches, and other activities.
13+
14+
We are committed to making participation in this project a harassment-free experience for
15+
everyone, regardless of level of experience, gender, gender identity and expression,
16+
sexual orientation, disability, personal appearance, body size, race, ethnicity, age,
17+
religion, or nationality.
18+
19+
Examples of unacceptable behavior by participants include:
20+
21+
* The use of sexualized language or imagery
22+
* Personal attacks
23+
* Trolling or insulting/derogatory comments
24+
* Public or private harassment
25+
* Publishing others' private information, such as physical or electronic addresses,
26+
without explicit permission
27+
* Other unethical or unprofessional conduct.
28+
29+
Project maintainers have the right and responsibility to remove, edit, or reject
30+
comments, commits, code, wiki edits, issues, and other contributions that are not
31+
aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers
32+
commit themselves to fairly and consistently applying these principles to every aspect
33+
of managing this project. Project maintainers who do not follow or enforce the Code of
34+
Conduct may be permanently removed from the project team.
35+
36+
This code of conduct applies both within project spaces and in public spaces
37+
when an individual is representing the project or its community.
38+
39+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
40+
reported by contacting the project maintainers or [Benji Vesterby](https://github.com/benjivesterby) directly via email [[email protected]](mailto:[email protected]).
41+
42+
This Code of Conduct is adapted from the Contributor Covenant
43+
(http://contributor-covenant.org), version 1.2.0, available at
44+
http://contributor-covenant.org/version/1/2/0/

.github/FUNDING.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ko_fi: devnw
2+
github: benjivesterby

.github/dependabot.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: gomod
4+
directory: "/"
5+
schedule:
6+
interval: daily
7+
labels:
8+
- "automerge"
9+
- package-ecosystem: "github-actions"
10+
directory: "/"
11+
schedule:
12+
interval: "daily"
13+
labels:
14+
- "automerge"

.github/workflows/automerge.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: automerge
2+
on:
3+
pull_request:
4+
types:
5+
- labeled
6+
- opened
7+
check_suite:
8+
types:
9+
- completed
10+
jobs:
11+
automerge:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: automerge
15+
uses: "pascalgn/[email protected]"
16+
env:
17+
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
18+
MERGE_METHOD: squash
19+
MERGE_LABELS: automerge

.github/workflows/build.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Build & Test
2+
3+
# this is triggered on push to the repository
4+
on: [push, pull_request]
5+
6+
jobs:
7+
build:
8+
name: "Build"
9+
strategy:
10+
matrix:
11+
go-version: [1.16.x, 1.17.x]
12+
platform: [ubuntu-latest, macos-latest, windows-latest]
13+
fail-fast: true
14+
runs-on: ${{ matrix.platform }}
15+
steps:
16+
- name: Install Go
17+
uses: actions/setup-go@v2
18+
with:
19+
go-version: ${{ matrix.go-version }}
20+
- name: Checkout code
21+
uses: actions/[email protected]
22+
- name: Build
23+
run: go build ./...
24+
test:
25+
name: "Unit Tests"
26+
needs: [build]
27+
strategy:
28+
matrix:
29+
platform: [ubuntu-latest, macos-latest, windows-latest]
30+
fail-fast: true
31+
runs-on: ${{ matrix.platform }}
32+
steps:
33+
- name: Checkout code
34+
uses: actions/[email protected]
35+
- name: Install Go
36+
uses: actions/setup-go@v2
37+
with:
38+
go-version: 1.17.x
39+
- name: Test
40+
run: go test -failfast ./... -race -coverprofile=coverage.txt -covermode=atomic
41+
- name: Push Coverage to codecov.io
42+
uses: codecov/[email protected]
43+
with:
44+
token: ${{ secrets.CODECOV_TOKEN }}
45+
file: ./coverage.txt

.github/workflows/codeql.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
2+
name: "Code Scanning - Action"
3+
4+
on:
5+
push:
6+
branches: main
7+
schedule:
8+
# ┌───────────── minute (0 - 59)
9+
# │ ┌───────────── hour (0 - 23)
10+
# │ │ ┌───────────── day of the month (1 - 31)
11+
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC)
12+
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
13+
# │ │ │ │ │
14+
# │ │ │ │ │
15+
# │ │ │ │ │
16+
# * * * * *
17+
- cron: '30 1 * * 0'
18+
19+
jobs:
20+
CodeQL-Build:
21+
strategy:
22+
matrix:
23+
go-version: [1.17.x]
24+
platform: [ubuntu-latest, macos-latest, windows-latest]
25+
fail-fast: true
26+
runs-on: ${{ matrix.platform }}
27+
28+
steps:
29+
- name: Install Go
30+
uses: actions/setup-go@v2
31+
with:
32+
go-version: ${{ matrix.go-version }}
33+
- name: Checkout code
34+
uses: actions/[email protected]
35+
- name: Build
36+
run: go build ./...
37+
- name: Initialize CodeQL
38+
uses: github/codeql-action/init@v1
39+
with:
40+
languages: go
41+
- name: Perform CodeQL Analysis
42+
uses: github/codeql-action/analyze@v1

.github/workflows/golangci-lint.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: golangci-lint
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
golangci:
7+
name: lint
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/[email protected]
11+
- name: golangci-lint
12+
uses: golangci/[email protected]

.github/workflows/release.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: "tagged-release"
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
8+
jobs:
9+
build:
10+
name: "Build & Unit Tests"
11+
strategy:
12+
matrix:
13+
platform: [ubuntu-latest, macos-latest, windows-latest]
14+
fail-fast: true
15+
runs-on: ${{ matrix.platform }}
16+
steps:
17+
- name: Checkout code
18+
uses: actions/[email protected]
19+
- name: Install Go
20+
uses: actions/setup-go@v2
21+
with:
22+
go-version: 1.17.x
23+
- name: Build
24+
run: go build ./...
25+
- name: Test
26+
run: go test -race -failfast ./...
27+
codeql:
28+
name: "CodeQL Check"
29+
needs: [build]
30+
strategy:
31+
matrix:
32+
go-version: [1.17.x]
33+
platform: [ubuntu-latest, macos-latest, windows-latest]
34+
fail-fast: true
35+
runs-on: ${{ matrix.platform }}
36+
steps:
37+
- name: Checkout code
38+
uses: actions/[email protected]
39+
- name: Initialize CodeQL
40+
uses: github/codeql-action/init@v1
41+
with:
42+
languages: go
43+
- name: Perform CodeQL Analysis
44+
uses: github/codeql-action/analyze@v1
45+
release:
46+
needs: [build, codeql]
47+
name: "Tagged Release"
48+
runs-on: "ubuntu-latest"
49+
steps:
50+
- name: Checkout code
51+
uses: actions/[email protected]
52+
- name: Build changelog
53+
id: build_changelog
54+
uses: mikepenz/release-changelog-builder-action@main
55+
with:
56+
configuration: 'release-config.json'
57+
env:
58+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59+
- name: Create release
60+
id: create_release
61+
uses: actions/create-release@latest
62+
env:
63+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
64+
with:
65+
tag_name: ${{ github.ref }}
66+
release_name: Release ${{ github.ref }}
67+
body: ${{steps.build_changelog.outputs.changelog}}
68+
draft: false
69+
prerelease: false

.github/workflows/sync.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Sync Files
2+
on:
3+
push:
4+
branches:
5+
- main
6+
workflow_dispatch:
7+
jobs:
8+
sync:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout Repository
12+
uses: actions/[email protected]
13+
- name: Run Repo File Sync Action
14+
uses: BetaHuhn/repo-file-sync-action@latest
15+
with:
16+
GH_PAT: ${{ secrets.GH_PAT }}
17+
CONFIG_PATH: sync.yml
18+
ASSIGNEES: benjivesterby
19+
PR_LABELS: |
20+
sharedfiles
21+
workflows
22+
configs
23+
license

0 commit comments

Comments
 (0)