What's still a bit frustrating about the entire thing: There was absolutely nothing in the Drone logs to tell me that the new jobs simply didn't have anywhere to run.
So now, all my pipelines have been switched to arm64 and Drone CI runners have been restricted to arm64.
Because of course there is no "I don't care about the runners architecture" option.
I think the next project will be switching my CI from Drone CI to Woodpecker.
I changed my setup slightly to a more distributed setup with multiple runners. And now it looks like the jobs don't get distributed. No problem, error is probably in my configs.
But Drone's logs show me exactly nothing. Their "Debug" logs are a sad joke.
I am going to attempt to setup #DroneCI for my #GodotEngine project with a #Gitea integration. I hope it goes well! 🤞#indiedev
#droneci #godotengine #gitea #indiedev
Flaky tests are a problem found in almost every codebase. By definition, a flaky test is a test that both succeeds and fails without any changes to the code. Learn how we reduced flaky tests using #Grafana, #Prometheus, Grafana #Loki, and #DroneCI
https://grafana.com/blog/2023/02/09/how-we-reduced-flaky-tests-using-grafana-prometheus-grafana-loki-and-drone-ci/?mdm=social
#grafana #prometheus #loki #droneci
Je continue sur ma lancée avec l'automatisation du déploiement de runner #droneci de type "exec".
C'est toujours #ansible à la manœuvre à travers trois playbooks. L'idée est de pouvoir redéployer rapidement des runners en cas de loupé (pollution) sur l'un d'eux.
Va vraiment falloir que je me penche sur le déploiement automatisé de mon reverse proxy.
L'automatisation complète du déploiement de mon site est enfin opérationnelle !
La pipeline est définie sur #gitea et tourne via #droneci qui va exécuter un playbook #ansible au travers d'un runner que j'ai voulu de type "exec".
Le serveur #droneci, à mon grand désespoir, a été installé via l'image #docker sur mon #truenasscale.
Le prochain chantier va concerner le déploiement automatisé de mon reverse proxy.
#truenasscale #docker #ansible #droneci #gitea
Stumbled over #k3d today. Pretty handy to spin-up a #kubernetes for CI environments like #droneci or #woodpecker to run automated deployment tests #devops #sysadmin
#sysadmin #devops #woodpecker #droneci #kubernetes #k3d
I have a number of #DroneCI plugins. Should I port them to #WoodpeckerCI?
I don't use Woodpecker myself, and don't plan to. But the plugins should be trivial to port, and perhaps they could be useful to others?
Nice if the metrics endpoint of a service is not working anymore (well it works but needs 5+ minutes to finish) because the metrics are calculated by real-time DB queries.
Thanks to a not existing garbage collection for the used tables, they have reached a size of more than 10 million lines now....
#monitoring #droneci #sysadmin
@rf Опрос для селфхостеров про то как держать своё добро.
Я уже думаю, что держать несколько разных уникальных, но не сильно мощных серверов выйдет дороже, чем арендовать один большой и жирный.
Например, сейчас у меня 4 сервера: #PeerTube, #Gitea, #DroneCI (сервер и раннер). А я ещё хочу сервер #Minecraft поднять, но по деньгам уже будет больно держать их всех раздельно. С другой стороны, если что-то ляжет, то оно не уронет остальных за собой благодаря такому сетапу.
А как у вас?
#peertube #gitea #droneci #minecraft
Phew. I'm done reorganizing my #DroneCI plugins. Two out of four build with #Nix. The other two I could build with it, but the image size would become far too large.
Both of those images are built upon alpine at the moment, and they're like 10x smaller than if I'd build them upon a NixOS foundation. They both need git, and one needs GnuPG on top - both of those pull in quite large dependencies in NixOS.
I tried building with Nix, but still basing on #Alpine, but I can't do that from CI.
I managed to code myself into a chicken-and-egg problem. I want to build Docker images with Nix (✓), and I also want to publish them from my CI.
However, Drone's plugin/docker
is not suitable, because that wants to build too. There's a drone-load-and-store
plugin that is supposed to do the right thing, and publish my Nix-built image. However, it errors out, because it wants a .tags
file, for reasons beyond me.
So now I'm thinking about writing a #DroneCI plugin to build & publish images.
First roadblock: I haven't found a #DroneCI plugin that'd let me upload my artifacts the way I want. plugins/s3
is the only plugin on their registry that can upload to s3, and it silently fails, and doesn't have a debug option.
I'll search around a little more, and worst case, I'll just roll my own.
I find this surprising, a bit, because I don't need much.
I found a reason to use #MinIO! I'll use it for caching in my #DroneCI pipelines, and also as a place I can upload build artifacts to.
At the moment, I'm using local volume caches, and that's been annoying me for a long time. The single project of mine that uploads build artifacts currently does so to my PyDio Cells, and that's not exactly a right fit.
So I'll make both use MinIO instead. Feels cleaner.
Not surprisingly, my Lua bindings still compile and work just fine, despite not being touched for over 6 years. The only thing I needed to change is the URL in the rockspec, changing git://
to git+https://
.
However, the whole repo bit-rotted quite a bit, so I'll be having a go at cleaning it up at some point. Fixing the rockspec, moving from Travis to #DroneCI, that kind of stuff.