Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions .github/workflows/pr-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: PR Checks

on:
pull_request:

permissions:
contents: read
pull-requests: write

jobs:
Format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5

- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.25.4'
check-latest: true

- name: Format
run: |
# List files that would be reformatted
unformatted=$(go fmt ./...)
if [ -n "$unformatted" ]; then
echo "The following files are not properly formatted:"
echo "$unformatted"
exit 1
fi

Vet:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5

- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.25.4'
check-latest: true

- name: Vet
run: |
result=$(go vet ./...)
if [ -n "$result" ]; then
echo "The following errors were reported by 'vet':"
echo "$result"
exit 1
fi

Build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5

- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.25.4'
check-latest: true

- name: Build
run: |
result=$(go build ./...)
if [ -n "$result" ]; then
echo "The following errors were reported by 'build':"
echo "$result"
exit 1
fi

Test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5

- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: '1.25.4'
check-latest: true

- name: Test
run: |
go test -coverprofile=cover.out ./tests/... -coverpkg=./pkg/...,.,./internal/...

- name: Coverage Report
uses: Jannik-Hm/go-test-coverage-report@v1.1
with:
coverprofile: cover.out
30 changes: 30 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Release

on:
push:
branches:
- main

jobs:
Release:
runs-on: ubuntu-latest

permissions:
contents: write

steps:
- name: Checkout Code
uses: actions/checkout@v5

- name: Bump version and push tag
id: tag_version
uses: mathieudutour/github-tag-action@v6.2
with:
github_token: ${{ secrets.GITHUB_TOKEN }}

- name: Publish Release
uses: ncipollo/release-action@v1
with:
generateReleaseNotes: true
tag: ${{ steps.tag_version.outputs.new_tag }}
prerelease: true