Djinn CI – open-source CI platform
github.comAuthor of Djinn CI here. This is a CI platform that I developed, it is open source but there is also a hosted offering https://about.djinn-ci.com. Some of the features are detailed below:
* Fully virtualized Linux VMs
* GitHub/GitLab integration
* Variable masking
* Configurable artifact cleanup limits
* Multi-repository builds
* Repeatable builds with cron jobs
* Custom QCOW2 images for builds
I've written some posts demonstrating the features of the platform which I have posted here before:
* https://blog.djinn-ci.com/showcase/2022/08/06/running-your-c...
* https://blog.djinn-ci.com/showcase/2022/08/16/using-multiple...
For further reading there is also the documentation sub-site at https://docs.djinn-ci.com/.
If you have any questions don't hesitate to reach out.
https://docs.djinn-ci.com/admin/configuration/
> Each configuration file for Djinn CI uses its own structured configuration language.
I sure do hope that adds as much value to your life as it causes pain for people trying to learn Yet Another Vanity DSL Because Reasons™
You will want to invest a lot more energy in the one point of documentation anyone new to this cares about: https://docs.djinn-ci.com/user/manifest/ Compare how short and ill specified that is versus https://docs.gitlab.com/ee/ci/yaml/
As a concrete example, in GLCI I have
so in dijinn, is it this?variables: thing: | #!/usr/bin/env bash echo "hello from $CI_PIPELINE_ID"
and I know I'm not supposed to complain about website styling, but stop being cute with that width:40% -- I have a 4K monitor for a reasonenv: - thing=#!/usr/bin/env bash echo "hello from $CI_PIPELINE_ID_IN_DIJINN" # or this? - thing=#!/usr/bin/env bash\necho "hello..."Thanks for the feedback. Regarding the configuration language, I don't think it's too hard to learn, I modelled it after the structured configuration NGINX uses since I find that easy to read and write compared to something like TOML, or YAML for the configuration I wanted.
Regarding the documentation styling, I appreciate the 40% width is a bit too narrow. The styling is something that has gone through multiple revisions, but some more work still needs to be done.
On the brevity of the documentation, especially on the manifest structure, I decided to err on the side of verbosity. But I will take your feedback on board.
Thanks.
> I don't think it's too hard to learn,
kind of a circular reasoning, isn't it? of course you don't think it's "too hard" but every bit of mental energy spent learning this bespoke DSL with its bespoke quoting and semantics is time of my life I'll never get back because no one other than dijinn uses it
> On the brevity of the documentation, especially on the manifest structure, I decided to err on the side of verbosity.
Ok, if you think that's verbose and covers everything a user would need to be successful with dijinn, then I have learned what I wanted to know. Good luck with your project