GitCaddy fork of actions-proto-go with capability support
Go to file
logikonline 663a52eded
All checks were successful
CI / build (push) Successful in 6s
Release / release (push) Successful in 7s
ci: Disable Go cache to prevent hanging on Gitea runners
The actions/setup-go@v5 cache feature tries to upload to GitHub's
cache infrastructure, which doesn't exist on self-hosted Gitea
runners. This causes jobs to hang indefinitely during the post step.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 05:30:00 -05:00
.gitea/workflows ci: Disable Go cache to prevent hanging on Gitea runners 2026-01-10 05:30:00 -05:00
ping/v1 Revert module path to code.gitea.io/actions-proto-go 2026-01-10 05:13:07 -05:00
runner/v1 Revert module path to code.gitea.io/actions-proto-go 2026-01-10 05:13:07 -05:00
.gitignore Initial commit 2022-08-17 08:22:09 +08:00
go.mod Revert module path to code.gitea.io/actions-proto-go 2026-01-10 05:13:07 -05:00
go.sum [auto-commit] Generate codes 2024-02-28 04:25:44 +00:00
LICENSE chore: update LICENSE 2022-11-21 16:54:35 +08:00
README.md Add professional README for GitCaddy fork 2026-01-10 05:03:20 -05:00

GitCaddy Actions Proto

Protocol buffer definitions for communication between Gitea Actions runners and the Gitea server.

This is a GitCaddy fork of code.gitea.io/actions-proto-go with enhanced capability reporting support.

Overview

This package provides the protobuf-generated Go code for the Gitea Actions runner protocol. It defines the RPC services and message types used for:

  • Runner registration and declaration
  • Task fetching and execution
  • Log streaming and status updates
  • Runner capability reporting (GitCaddy enhancement)

Installation

go get git.marketally.com/gitcaddy/actions-proto-go

GitCaddy Enhancements

Runner Capability Reporting

This fork adds the CapabilitiesJson field to the DeclareRequest message, enabling runners to report their capabilities to the Gitea server:

message DeclareRequest {
  string version = 1;
  repeated string labels = 2;
  string capabilities_json = 3;  // NEW: JSON-encoded runner capabilities
}

The capabilities JSON includes:

  • OS and Architecture: Runtime environment details
  • Docker Support: Whether Docker/Podman is available
  • Shell Support: Available shells (bash, sh, powershell, etc.)
  • Tool Versions: Installed tools like Node.js, Go, Python, etc.
  • Feature Flags: Cache support, artifact handling, etc.
  • Limitations: Known constraints for AI workflow generation

Why This Matters

AI tools generating CI/CD workflows can query the Gitea API to discover runner capabilities before writing workflows, reducing trial-and-error iterations.

Usage

import (
    runnerv1 "git.marketally.com/gitcaddy/actions-proto-go/runner/v1"
    "git.marketally.com/gitcaddy/actions-proto-go/runner/v1/runnerv1connect"
)

// Create a client
client := runnerv1connect.NewRunnerServiceClient(httpClient, serverURL)

// Declare runner with capabilities
resp, err := client.Declare(ctx, connect.NewRequest(&runnerv1.DeclareRequest{
    Version:          "0.3.1",
    Labels:           []string{"ubuntu-latest", "docker"},
    CapabilitiesJson: `{"os":"linux","arch":"amd64","docker":true}`,
}))
Project Description
gitcaddy/gitea GitCaddy Gitea fork with AI-friendly enhancements
gitcaddy/act_runner Runner with capability detection

Upstream

This project is a fork of code.gitea.io/actions-proto-go. We aim to contribute enhancements back to upstream where appropriate.

License

MIT License - see LICENSE for details.