Termiyo

New in 0.4.22

Set up CI for a repository

Open CI/CD in the navigation rail. This release sets up continuous integration; it does not deploy your application.

The control names below match the English interface.

Before you start

A paid plan and a repository with commits

Sign in under Account with a paid plan; a seat on a paid Team, Business or Enterprise team counts, but a trial does not. Setup needs a reachable Termiyo server with the 0.4.22 CI templates. Push an initial commit to your repository before setting up CI.

11 project types

Build it as offers Node.js, Python, Go, Rust, Java (Maven), Java (Gradle), Ruby, PHP, .NET, Docker image and A blank starting point. GitHub and GitLab detection reads file names at the repository’s top level; check the choice and select one if several match. The blank starting point contains a placeholder step for you to replace.

GitHub

1. Prepare a token

Choose GitHub and press Open GitHub’s token page. Use a fine-grained personal access token limited to the repository: Contents, Workflows and Pull requests need Read and write; Actions and Metadata need Read. Set an expiry of 90 days or less. Only github.com is supported, through api.github.com; GitHub Enterprise is not supported.

2. Save and check

Choose Saved token, or press Save a new token, fill in Name and Paste the token, then press Save to key box. In Repository, enter owner/name or its github.com link and press Check. You can also use List repositories this token can see.

3. Preview and open the pull request

Choose Build it as, press Show the file and review it, then press Set up CI. Termiyo commits .github/workflows/termiyo-ci.yml on termiyo/ci-setup and opens a pull request. Use Open in browser to review and merge it. CI can run on the pull request; the default branch stays unchanged until someone merges it.

GitLab

1. Name the project and prepare a token

Choose GitLab. In Project, enter group/project for gitlab.com or the full HTTPS project URL for your own GitLab, then press Open GitLab’s token page. Use a personal or project access token with the api scope; that scope permits everything its owner can do, so use a short expiry and revoke it after setup.

2. Check the project and runners

Choose Saved token or use Save a new token → Save to key box, then press Check. Choose Build it as. If no runner is available, enable shared runners or register a project runner before merging; the panel also says when the token cannot establish whether a runner is available.

3. Preview and open the merge request

Press Show the file, review it and press Set up CI. Termiyo commits .gitlab-ci.yml on termiyo/ci-setup and opens a merge request. Use Open in browser to review and merge it; the default branch stays unchanged until merge.

Giti: Repos on a host

1. Check the host

Connect to the SSH host holding your Giti repository and choose Repos on a host. This runner needs Linux on x86_64 or ARM64, git and Docker usable by the SSH account, plus curl or wget, tar, sha256sum or shasum, and timeout. Termiyo does not install Docker; ask the host administrator or use rootless Docker.

2. Install and enable

Press Install the CI runner. Termiyo downloads nektos/act 0.2.89 to ~/.termiyo/bin and verifies its SHA-256 before unpacking or running it. For the repository, choose Build it as and press Turn CI on. An existing post-receive hook from another tool is left untouched and prevents automatic setup.

3. Merge, push and read the result

If Termiyo created the workflow branch termiyo/ci, use Copy for the displayed commands and run them in your clone on the default branch to merge it and push. The host then runs .github/workflows/termiyo-ci.yml with act in Docker after the owner’s pushes; a granted teammate’s pushes never start CI. Use Refresh and Log to read results, and Turn CI off to disable the hook.

Resources on your host

Each run has a 30-minute timeout. Termiyo asks Docker for the bridge network, no Docker socket inside the job, no new privileges, and limits of 2 CPUs, 4 GB of memory and 512 processes; enforcement depends on the host’s Docker. The first run downloads a 2.3 GB image.

Limits and verification

Existing workflows and plans

For GitHub and GitLab, Termiyo never overwrites the target workflow file; when .gitlab-ci.yml exists, it offers a template to merge by hand. The paid plan covers setup from Termiyo: reading runs is not gated, and CI already set up keeps running if your plan ends. Templates come from Termiyo’s server and must match the fingerprints pinned in the app.

Validation so far

GitHub and GitLab setup have been tested against stand-ins, not live accounts. Giti CI has completed one real run on one x86_64 host. Deployment is not implemented in this release.