Release: v0.1.0-alpha
Release Docker Image / Build & Push Docker Image (release) Failing after 1m30s

This commit is contained in:
2026-04-05 16:56:16 +02:00
parent 23ff731579
commit fd13e67aef
89 changed files with 18786 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
# Keywarden CI - Pull Request Tests
# Runs on every PR to master: vet, build, test (with CGO for SQLite)
name: PR Tests
on:
pull_request:
branches: [master]
jobs:
test:
name: Lint, Build & Test
runs-on: ubuntu-latest
container:
image: golang:1.26-alpine
steps:
- name: Install build dependencies
run: apk add --no-cache gcc musl-dev sqlite-dev git
- name: Checkout code
uses: actions/checkout@v4
- name: Go module cache
uses: actions/cache@v4
with:
path: /go/pkg/mod
key: go-mod-${{ hashFiles('go.sum') }}
- name: Download dependencies
run: go mod download
- name: Go vet
run: go vet ./...
- name: Build
run: CGO_ENABLED=1 go build -o /dev/null ./cmd/keywarden/
- name: Run tests
run: CGO_ENABLED=1 go test -tags integration ./internal/... -v -count=1 -timeout 120s
+55
View File
@@ -0,0 +1,55 @@
# Keywarden CI - Release Docker Build
# Triggers when a release is published (tag format: v0.1.0)
# Builds and pushes Docker image to Gitea Container Registry with :latest and :vX.Y.Z tags
name: Release Docker Image
on:
release:
types: [published]
env:
IMAGE_NAME: keywarden
jobs:
docker:
name: Build & Push Docker Image
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Extract version from tag
id: version
run: |
# Release tag is e.g. v0.1.0
TAG="${{ github.event.release.tag_name }}"
echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
# Strip 'v' prefix for docker tag if needed
VERSION="${TAG#v}"
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
- name: Login to Gitea Container Registry
uses: docker/login-action@v3
with:
registry: ${{ vars.REGISTRY_URL }}
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: .
push: true
tags: |
${{ vars.REGISTRY_URL }}/${{ secrets.REGISTRY_USER }}/${{ env.IMAGE_NAME }}:latest
${{ vars.REGISTRY_URL }}/${{ secrets.REGISTRY_USER }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.tag }}
labels: |
org.opencontainers.image.title=Keywarden
org.opencontainers.image.description=Centralized SSH Key Management and Deployment
org.opencontainers.image.version=${{ steps.version.outputs.version }}
org.opencontainers.image.source=${{ github.server_url }}/${{ github.repository }}
org.opencontainers.image.licenses=AGPL-3.0-or-later
+27
View File
@@ -0,0 +1,27 @@
# Keywarden CI - Security Scan
# Checks for known vulnerabilities in Go dependencies on PRs
name: Security Scan
on:
pull_request:
branches: [master]
jobs:
govulncheck:
name: Go Vulnerability Check
runs-on: ubuntu-latest
container:
image: golang:1.26-alpine
steps:
- name: Install dependencies
run: apk add --no-cache git gcc musl-dev sqlite-dev
- name: Checkout code
uses: actions/checkout@v4
- name: Install govulncheck
run: go install golang.org/x/vuln/cmd/govulncheck@latest
- name: Run govulncheck
run: govulncheck ./...