Skip to content

Commit 3bb6d8f

Browse files
author
CodingWizKid
committed
add github stuff
1 parent 6fb0c6e commit 3bb6d8f

13 files changed

+457
-1
lines changed

.githooks/pre-push

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Semgrep
2+
3+
on:
4+
# Scan changed files in PRs, block on new issues only (existing issues ignored)
5+
pull_request: {}
6+
7+
jobs:
8+
semgrep:
9+
name: Scan
10+
runs-on: ubuntu-latest
11+
# Skip any PR created by dependabot to avoid permission issues
12+
if: (github.actor != 'dependabot[bot]')
13+
steps:
14+
# Fetch project source
15+
- uses: actions/checkout@v3
16+
17+
- uses: returntocorp/semgrep-action@v1
18+
with:
19+
config: >- # more at semgrep.dev/explore
20+
p/security-audit
21+
p/secrets
22+
p/ci
23+
p/r2c
24+
p/r2c-ci
25+
p/docker
26+
p/dockerfile
27+
p/command-injection
28+
generateSarif: "1"
29+
30+
# Upload findings to GitHub Advanced Security Dashboard [step 2/2]
31+
- name: Upload SARIF file for GitHub Advanced Security Dashboard
32+
uses: github/codeql-action/upload-sarif@29b1f65c5e92e24fe6b6647da1eaabe529cec70f # v2.3.3
33+
with:
34+
sarif_file: semgrep.sarif
35+
if: always()

.github/ISSUE_TEMPLATE/bug.yaml

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Bug Report
2+
description: File a bug report
3+
labels: [ bug, triage ]
4+
assignees:
5+
- patrickkoss
6+
- Slm0n87
7+
- mgalm
8+
body:
9+
- type: markdown
10+
attributes:
11+
value: |
12+
Thanks for taking the time to fill out this bug report! Please fill the form below.
13+
- type: textarea
14+
id: what-happened
15+
attributes:
16+
label: What happened?
17+
description: Also tell us, what did you expect to happen?
18+
validations:
19+
required: true
20+
- type: textarea
21+
id: reproducible
22+
attributes:
23+
label: How can we reproduce this?
24+
description: Please share as much information as possible. Logs, screenshots, etc.
25+
validations:
26+
required: true
27+
- type: checkboxes
28+
id: search
29+
attributes:
30+
label: Search
31+
options:
32+
- label: I did search for other open and closed issues before opening this.
33+
required: true
34+
- type: checkboxes
35+
id: terms
36+
attributes:
37+
label: Code of Conduct
38+
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/SchwarzIT/.github/blob/main/CODE_OF_CONDUCT.md)
39+
options:
40+
- label: I agree to follow this project's Code of Conduct
41+
required: true
42+
- type: textarea
43+
id: ctx
44+
attributes:
45+
label: Additional context
46+
description: Anything else you would like to add
47+
validations:
48+
required: false

.github/ISSUE_TEMPLATE/config.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
blank_issues_enabled: true

.github/ISSUE_TEMPLATE/feature.yaml

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Feature Request
2+
description: Request a new feature and/or enhancement to an existing feature
3+
labels: [enhancement, triage]
4+
assignees:
5+
- patrickkoss
6+
- mgalm
7+
- Slm0n87
8+
body:
9+
- type: markdown
10+
attributes:
11+
value: |
12+
Thanks for taking the time to fill out this feature request! Please fill the form below.
13+
- type: textarea
14+
id: is-it-a-problem
15+
attributes:
16+
label: Is your feature request related to a problem? Please describe.
17+
description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
18+
validations:
19+
required: true
20+
- type: textarea
21+
id: solution
22+
attributes:
23+
label: Describe the solution you'd like
24+
description: A clear and concise description of what you want to happen.
25+
validations:
26+
required: true
27+
- type: textarea
28+
id: alternatives
29+
attributes:
30+
label: Describe alternatives you've considered
31+
description: A clear and concise description of any alternative solutions or features you've considered.
32+
validations:
33+
required: true
34+
- type: checkboxes
35+
id: search
36+
attributes:
37+
label: Search
38+
options:
39+
- label: I did search for other open and closed issues before opening this.
40+
required: true
41+
- type: checkboxes
42+
id: terms
43+
attributes:
44+
label: Code of Conduct
45+
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/SchwarzIT/.github/blob/main/CODE_OF_CONDUCT.md)
46+
options:
47+
- label: I agree to follow this project's Code of Conduct
48+
required: true
49+
- type: textarea
50+
id: ctx
51+
attributes:
52+
label: Additional context
53+
description: Anything else you would like to add
54+
validations:
55+
required: false

.github/renovate.json

Whitespace-only changes.

.github/semantic.yml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# config options found here: https://github.com/Ezard/semantic-prs
2+
3+
# Always validate the PR title, and ignore the commits
4+
titleOnly: true
5+
6+
scopes:
7+
- api
8+
- cli
9+
- ci
10+
- deps
11+
12+
types:
13+
- feat
14+
- fix
15+
- docs
16+
- refactor
17+
- test
18+
- chore
19+
- revert

.github/workflows/main.yml

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
# based on https://github.com/mvdan/github-actions-golang
3+
name: CI
4+
5+
on:
6+
pull_request:
7+
branches: ["main"]
8+
paths-ignore: ["docs/**"]
9+
10+
push:
11+
branches: ["main"]
12+
paths-ignore: ["docs/**"]
13+
14+
# Allows you to run this workflow manually from the Actions tab
15+
workflow_dispatch:
16+
17+
jobs:
18+
test:
19+
strategy:
20+
matrix:
21+
go-version: [1.21.x]
22+
os: [ubuntu-latest]
23+
runs-on: ${{ matrix.os }}
24+
25+
steps:
26+
- name: Install Go
27+
uses: actions/setup-go@v4
28+
with:
29+
go-version: ${{ matrix.go-version }}
30+
31+
- name: Checkout code
32+
uses: actions/checkout@v3
33+
34+
# cache go modules
35+
- uses: actions/cache@v3
36+
with:
37+
# In order:
38+
# * Module download cache
39+
# * Build cache (Linux)
40+
# * Build cache (Mac)
41+
# * Build cache (Windows)
42+
path: |
43+
~/go/pkg/mod
44+
~/.cache/go-build
45+
~/Library/Caches/go-build
46+
%LocalAppData%\go-build
47+
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
48+
restore-keys: |
49+
${{ runner.os }}-go-
50+
51+
- name: Downloads the dependencies
52+
run: make download
53+
54+
- name: Lints all code with golangci-lint
55+
run: make lint
56+
57+
- name: Runs all tests
58+
run: make test

.github/workflows/release.yaml

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "*"
7+
8+
permissions: read-all
9+
10+
jobs:
11+
release:
12+
permissions:
13+
id-token: write
14+
packages: write
15+
contents: write
16+
runs-on: ubuntu-latest
17+
env:
18+
REGISTRY: ghcr.io
19+
IMAGE_NAME: ${{ github.repository }}
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
23+
with:
24+
fetch-depth: 0
25+
- name: Git Fetch
26+
run: git fetch --force --tags
27+
- name: Setup go
28+
uses: actions/setup-go@v4
29+
with:
30+
go-version: stable
31+
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
32+
with:
33+
path: |
34+
~/.cache/go-build
35+
~/go/pkg/mod
36+
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
37+
restore-keys: |
38+
${{ runner.os }}-go-
39+
- uses: sigstore/cosign-installer@6e04d228eb30da1757ee4e1dd75a0ec73a653e06 # v3.1.1
40+
- uses: anchore/sbom-action/download-syft@78fc58e266e87a38d4194b2137a3d4e9bcaf7ca1 # v0.14.3
41+
42+
- name: Set Up Docker Buildx
43+
uses: docker/setup-buildx-action@v2
44+
45+
- name: Set up Cosign
46+
uses: sigstore/[email protected]
47+
48+
- name: Login to Registry
49+
uses: docker/login-action@v2
50+
with:
51+
registry: ${{ env.REGISTRY }}
52+
username: ${{ github.actor }}
53+
password: ${{ secrets.GITHUB_TOKEN }}
54+
55+
- name: Release with Goreleaser
56+
uses: goreleaser/goreleaser-action@v4
57+
with:
58+
distribution: goreleaser
59+
version: latest
60+
args: release --clean
61+
env:
62+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
63+
COSIGN_PRIVATE_KEY: ${{secrets.COSIGN_PRIVATE_KEY}}
64+
COSIGN_PASSWORD: ${{secrets.COSIGN_KEY_PASSWORD}}

.github/workflows/semgrep.yaml

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Semgrep
2+
3+
on:
4+
# Scan changed files in PRs, block on new issues only (existing issues ignored)
5+
pull_request: {}
6+
7+
jobs:
8+
semgrep:
9+
name: Scan
10+
runs-on: ubuntu-latest
11+
# Skip any PR created by dependabot to avoid permission issues
12+
if: (github.actor != 'dependabot[bot]')
13+
steps:
14+
# Fetch project source
15+
- uses: actions/checkout@v3
16+
17+
- uses: returntocorp/semgrep-action@v1
18+
with:
19+
config: >- # more at semgrep.dev/explore
20+
p/security-audit
21+
p/secrets
22+
p/ci
23+
p/r2c
24+
p/r2c-ci
25+
p/docker
26+
p/dockerfile
27+
p/command-injection
28+
generateSarif: "1"
29+
30+
# Upload findings to GitHub Advanced Security Dashboard [step 2/2]
31+
- name: Upload SARIF file for GitHub Advanced Security Dashboard
32+
uses: github/codeql-action/upload-sarif@5b6282e01c62d02e720b81eb8a51204f527c3624 # v2.21.3
33+
with:
34+
sarif_file: semgrep.sarif
35+
if: always()

0 commit comments

Comments
 (0)