DSCI is forgejo CI runner with pipelines syntax is just regular programming languages like Python or Raku:
.dsci/jobs.yaml
jobs:
-
id: job1
path: .
params:
name: "dsci"
.dsci/job.py
#!/usr/bin/python3
c = config()
print(f"hello {c['name']}")
Just drop these two files into .dsci/ directory under the root of your repo, and that's it.
DSCI supports many languages, so if you prefer, say Raku just have job.raku instead:
#!/usr/bin/raku
my $c = config();
say("hello $c<name>");
DSCI is designed for programmers - everything which is possible in general programming languages is allowed here - passing state between jobs / tasks as regular variables, returning states from tasks, etc. It's easy, fun and flexible. Instead of messing with entangled YAML code, just use normal programming languages
Forgejo integration.
So far DSCI is fully integrated with Forgejo CI using web hooks mechanics, but in theory any web hook based CI is allowed - including GitHub, GitLab, etc ...
That's it. Please give a project a star on https://github.com/melezhik/DSCI and give it a try using installation guide
Top comments (0)