On a few devices that never connect to the same wifi i use tailscale to connect Syncthing.
I've been working on this CI system for a while.
1. Zero setup. Works on git hooks.
2. Python as the config language. Makes it very easy to do dependencies/matrix jobs/conditional jobs.
3. Offline first. It can work online with gitea as well.
4. Everything is in git. I don't need to muck around in and configure the CI system itself.
The tooling around pipelines is awful. A single typo in some variable’s name in a later stage can take minutes to catch. The feedback cycles are very long (cloud machines are much slower than local ones) and IDE tooling is bare-bones.
Just give me one large Python file with some library to manage common actions (building up the job DAG, accessing pull requests, easy shell access, …). We’d have refactoring, Turing completeness, type safety and so much more. A core downside would be managing the complexity of DevOps scripting going berserk. Personally I’d prefer that trade off.
I'd love some feedback on what else I could add to this project to make life easier for people.
I built this a while back for small projects where I wanted to build a static site without introducing the whole npm/js ecosystem.
The main advantage is having re-usable parts for the HTML/CSS/JS instead of writing duplicated markup.
I usually couple this with htmx.org when I want to introduce flask/django/fastapi in the project and things work out wonderfully since I'm already in the python ecosystem.