1
0
Fork
You've already forked yojo
0
forked from emersion/yojo
A CI bridge from Forgejo/Gitea to SourceHut
  • Go 87.4%
  • HTML 8.4%
  • CSS 3.8%
  • Dockerfile 0.4%
Maxwell G fa9daa971a
All checks were successful
builds.sr.ht Job completed
Fix log Printf string
2026年04月24日 11:29:17 -05:00
buildssrht Add support for secrets 2024年10月10日 23:13:36 +02:00
static Add checkbox to enable secrets 2024年10月10日 23:55:19 +02:00
templates templates/repository: add link to Codeberg repo 2026年02月28日 12:25:43 -06:00
.build.yml ci: add .build.yml 2024年10月10日 23:12:23 +02:00
.gitignore
config.go Add BlockCustom and AllowedUsers 2026年02月28日 12:25:18 -06:00
db.go Switch to new go-scfg and go-oauth2 upstream repositories 2025年11月13日 15:23:38 +01:00
Dockerfile Update Dockerfile to go 1.26 2026年02月28日 12:28:37 -06:00
gitea.go
go.mod Update to Go 1.25 2026年04月22日 16:52:31 -05:00
go.sum Switch to new go-scfg and go-oauth2 upstream repositories 2025年11月13日 15:23:38 +01:00
go.work.sum Upgrade dependencies 2025年11月13日 15:17:58 +01:00
job.go Submit builds.sr.ht job asynchronously to avoid request timeouts 2026年04月24日 08:46:30 -05:00
LICENSE
main.go Fix log Printf string 2026年04月24日 11:29:17 -05:00
README.md
schema.sql schema: fix dropped username columns 2024年10月23日 09:07:19 +02:00
session.go Add checkbox to enable secrets 2024年10月10日 23:55:19 +02:00

yojo

A CI bridge from Forgejo/Gitea to SourceHut.

A public instance is available.

Configuration

yojo can be configured via an scfg file by running yojo -config <path>.

Only the OAuth client ID and secrets are required.

# HTTP server listen address
listen localhost:8080
# SQLite database path
db yojo.db
# SourceHut configuration
srht {
	# OAuth client ID and secret
	client-id "..."
	client-secret "..."
	# Endpoint URLs for builds.sr.ht and meta.sr.ht
	builds-endpoint "https://builds.sr.ht"
	meta-endpoint "https://meta.sr.ht"
}
# Gitea/Forgejo configuration
gitea {
	# OAuth client ID and secret
	client-id "..."
	client-secret "..."
	# Endpoint URL
	endpoint "https://codeberg.org"
}

Local development

For local development, smee.io can be used to forward Web hooks. Install go-smee (or their offical client), then run:

smee -target "http://localhost:8080/webhook"

Grab the channel URL and start yojo like so:

yojo -config <config> -webhook-endpoint "https://smee.io/<token>"

To restart the smee client with the same channel, -proxy can be used:

smee -target "http://localhost:8080/webhook" -proxy "https://smee.io/<token>"

License

AGPLv3, see LICENSE.

Copyright (C) 2023 Simon Ser