add CI
All checks were successful
release / build (amd64, linux) (push) Successful in 29s

This commit is contained in:
peio
2026-01-18 17:23:51 +00:00
parent 166db6cbf9
commit 67ecb8e068
2 changed files with 61 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
name: release
on:
push:
tags:
- "v*"
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
goos: [linux]
arch: [amd64] # [amd64, arm64]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.22.x"
cache: true
- name: Build (linux/musl)
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.arch }}
CGO_ENABLED: "0"
VERSION: ${{ github.ref_name }}
run: |
set -eux
mkdir -p dist
BIN="kc-policy-${GOOS}-${GOARCH}"
go build \
-trimpath \
-ldflags="-s -w -X main.version=${VERSION}" \
-o "dist/${BIN}" ./cmd/kc-policy
tar -C dist -czf "dist/${BIN}.tar.gz" "${BIN}"
sha256sum "dist/${BIN}.tar.gz" >> dist/checksums.txt
- name: Upload assets to Gitea release
uses: https://gitea.com/actions/gitea-release-action@v1
with:
files: |
dist/*.tar.gz
dist/*.sha256
generate_release_notes: true
env:
GITEA_TOKEN: ${{ github.token }}

View File

@@ -2,6 +2,7 @@ package main
import ( import (
"context" "context"
"fmt"
"log" "log"
"os" "os"
"os/signal" "os/signal"
@@ -11,7 +12,14 @@ import (
"kc-policy/internal/kcpolicy" "kc-policy/internal/kcpolicy"
) )
var version = "dev"
func main() { func main() {
if len(os.Args) > 1 && os.Args[1] == "--version" {
fmt.Println(version)
return
}
cfgPath := "/etc/kc-policy/config.yaml" cfgPath := "/etc/kc-policy/config.yaml"
if len(os.Args) >= 2 { if len(os.Args) >= 2 {
cfgPath = os.Args[1] cfgPath = os.Args[1]