mirror of
https://github.com/lukaszraczylo/ghtracker.git
synced 2026-10-12 00:45:38 +00:00
ghtracker authenticates as a GitHub App and scans a configured list of repositories on a schedule. It serves a dashboard, a JSON state endpoint, a health probe and Prometheus metrics. The dashboard lists only items that need attention: failing workflows, pull requests that wait too long or fail their checks, stale issues and projects that failed to scan. It has search, dynamic filters and a button that rescans on demand. The Vue app is embedded in the Go binary. The client protects the GitHub rate limit with conditional requests, a request reserve and Retry-After handling.
89 lines
1.8 KiB
YAML
89 lines
1.8 KiB
YAML
version: 2
|
|
|
|
# GoReleaser cleans its output directory on `--clean`. The UI build lives in dist/,
|
|
# so release output goes elsewhere.
|
|
dist: release-out
|
|
|
|
builds:
|
|
- id: ghtracker
|
|
main: .
|
|
binary: ghtracker
|
|
env:
|
|
- CGO_ENABLED=0
|
|
goos: [linux, darwin, windows]
|
|
goarch: [amd64, arm64]
|
|
flags: [-trimpath]
|
|
ldflags:
|
|
- -s -w
|
|
- -X main.version={{ .Version }}
|
|
|
|
archives:
|
|
- id: ghtracker
|
|
formats: [tar.gz]
|
|
name_template: 'ghtracker-{{ .Os }}-{{ .Arch }}'
|
|
format_overrides:
|
|
- goos: windows
|
|
formats: [zip]
|
|
files:
|
|
- LICENSE
|
|
- README.md
|
|
- config.example.yaml
|
|
|
|
checksum:
|
|
name_template: 'ghtracker-checksums.txt'
|
|
algorithm: sha256
|
|
|
|
changelog:
|
|
sort: asc
|
|
filters:
|
|
exclude:
|
|
- '^docs:'
|
|
- '^test:'
|
|
- '^ci:'
|
|
- '^chore:'
|
|
- '^style:'
|
|
- '^Merge'
|
|
|
|
release:
|
|
github:
|
|
owner: lukaszraczylo
|
|
name: ghtracker
|
|
name_template: 'v{{ .Version }}'
|
|
prerelease: auto
|
|
|
|
dockers_v2:
|
|
- images:
|
|
- ghcr.io/lukaszraczylo/ghtracker
|
|
tags:
|
|
- '{{ .Version }}'
|
|
- latest
|
|
platforms:
|
|
- linux/amd64
|
|
- linux/arm64
|
|
dockerfile: Dockerfile.goreleaser
|
|
labels:
|
|
org.opencontainers.image.source: https://github.com/lukaszraczylo/ghtracker
|
|
org.opencontainers.image.description: Dashboard and Prometheus metrics for GitHub repositories
|
|
org.opencontainers.image.licenses: MIT
|
|
org.opencontainers.image.version: '{{ .Version }}'
|
|
|
|
signs:
|
|
- cmd: cosign
|
|
signature: '${artifact}.sigstore.json'
|
|
args:
|
|
- sign-blob
|
|
- '--bundle=${signature}'
|
|
- '${artifact}'
|
|
- '--yes'
|
|
artifacts: checksum
|
|
output: true
|
|
|
|
docker_signs:
|
|
- cmd: cosign
|
|
artifacts: manifests
|
|
output: true
|
|
args:
|
|
- sign
|
|
- '${artifact}@${digest}'
|
|
- '--yes'
|