| ▲ | maliker 7 hours ago | |||||||||||||||||||||||||||||||||||||||||||
I've standardized on getting github actions to create/pull a docker image and run build/test inside that. So if something goes wrong I have a decent live debug environment that's very similar to what github actions is running. For what it's worth. | ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | steeleduncan 6 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||||||||
I do the same with Nix as it works for macOS builds as well It has the massive benefit of solving the lock-in problem. Your workflow is generally very short so it is easy to move to an alternative CI if (for example) Github were to jack up their prices for self hosted runners... That said, when using it in this way I personally love Github actions | ||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | themafia 3 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||
I just use the fact that any action run can trigger a webhook. The action does nothing other than trigger the hook. Then my server catches the hook and can do whatever I want. | ||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | Storment33 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||
I was doing something similar when moving from Earthly. But I have since moved to Nix to manage the environment. It is a lot better of a developer experience and faster! I would checkout an environment manager like Nix/Mise etc so you can have the same tools etc locally and on CI. | ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | tracker1 6 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||
I tend to have most of my workflows setup as scripts that can run locally in a _scripts diorectory, I've also started to lean on Deno if I need anything more complex than I'm comfortable with in bash (even bash in windows) or powershell, since it executes .ts directly and can refer directly to modules/repos without a separate install step. This may also leverage docker (compose) to build/run different services depending on the stage of action. Sometimes also creating "builder" containers that will have a mount point for src and output to build and output the project in different OSes, etc. Docker + QEMU allows for some nice cross-compile options. The less I rely on Github Actions environment the happier I am... the main points of use are checkout, deno runtime, release please and uploading assets in a release. It sucks that the process is less connected and slow, but ensuring as much as reasonable can run locally goes a very long way. | ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | woodruffw 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||
Yeah, images seem to work very well as an abstraction layer for most CI/CD users. It's kind of unfortunate that they don't (can't) fully generalize across Windows and macOS runners as well, though, since in practice that's where a lot of people start to get snagged by needing to do things in GitHub Actions versus using GitHub Actions as an execution layer. | ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | moduspol 6 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||
Me, too, though getting the trusted publisher NPM settings working didn't help with this. But it does help with most other CI issues. | ||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | globular-toast 4 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||||||||
So you've implemented GitLab CI in GitHub... We used to do this in Jenkins like 7 years ago. | ||||||||||||||||||||||||||||||||||||||||||||