Skip to content

Repository files navigation

gcit

Poll git repos, dispatch GitHub Actions workflows, post Discord notifications. Linux + systemd.

ci codecov docs license

What it does

gcit watches one or more git remotes for new commits on a configured ref. When the tip moves, it dispatches a GitHub Actions workflow_dispatch against a target repository, correlates the dispatch to its resulting run id, monitors the run to completion, and notifies operators via Discord webhooks and/or local Unix mail.

A single gcit daemon hosts many independent flows. Each flow has one source (git remote + ref), one action (workflow dispatch target), and zero or more destinations (Discord webhook, local mail). Flows are isolated: a panic, network failure, or auth error in one flow cannot crash the daemon or affect other flows.

Features

Documentation

The gcit book is the operator manual:

Status

gcit is pre-1.0. The wire format of the state file, the control protocol, and config schema are subject to change before 1.0.

Requirements

  • Linux. The crate emits a compile_error! on non-Linux targets.
  • systemd. --foreground mode is intended for development and testing; the supported deployment surface is the systemd units installed by gcit install.
  • Rust 1.91 or newer to build from source.

Install

git clone https://github.com/likewhatevs/gcit
cd gcit
cargo build --release
sudo install -m 0755 target/release/gcit /usr/local/bin/gcit

For the systemd install walkthrough (config skeleton, credentials, units), see Quick start.

License

GPL-2.0-only. See LICENSE.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages