---
title: Projectfile CI Resolver
description: ""
lang: en
tags:
  - "Language: Go"
---

**Status:** maintained

## Origin

I needed something to unify local pipelines in makefiles with CI, and I had
Projectfile specification.
So, I made a special kind of bridge that generates Github/Forgejo workflows from
abstract DAG stored in Projectfile.

## What it does

- generates near-identical workflows for Github and Forgejo from one agnostic definition.
- same definitions used by [M6E makefile framework](/project/m6e/), you get predictable behaviour locally and in CI
- in a nutshell, it's portable CI pipelines that could work anywhere

## What is next

- support for Tekton
- support for Bitbucket
- support for Gitlab
- support for Woodpecker
- support for Jenkins (probably)

## Fit

- if you want portability in your pipelines
- if you have multiforge configuration
- if you have huge fleet of projects (mass management, support for fleet-wide includes and libraries)

## Links

- [Repository on Codeberg](https://codeberg.org/projectfile/ci)
- [Issues on Codeberg](https://codeberg.org/projectfile/ci/issues)
- [Repository on GitHub](https://github.com/projectfile-org/ci)
- [Issues on GitHub](https://github.com/projectfile-org/ci/issues)
- [Packages on GHCR](https://github.com/projectfile-org/ci/pkgs/container/ci)
- [Packages on Docker Hub](https://hub.docker.com/r/damianbuho/projectfile-ci)
- [Repository on kiota.ch](https://kiota.ch/projectfile/ci)

## Tags

[Language: Go](/tag/go/)

## Skills

[Containers & Docker](/skill/containerization/), Go, Python
