DSCI - CI with regular programming languages instead of YAML
DSCI - CI with regular programming languages instead of YAML
DSCI is a Forgejo CI runner whose pipeline syntax is just regular programming languages like Python or Raku:
Example files:
.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 the .dsci/ directory under the root of your repo, and that's it.
DSCI supports many languages. 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 that 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 hook mechanics, but in theory any web hook based CI is allowed - including GitHub, GitLab, etc.
Get involved
Please give the project a star on https://github.com/melezhik/DSCI and give it a try using the installation guide.
Comments
No comments yet. Start the discussion.