F***ing GitHub Actions.

I just wanted to make Snapcraft builds of my game with CI and instead I'm fiddling around with YAML syntax because for some reason everything got formatted incorrectly.

Also I have no way of testing the workflow locally to save me commits. So I have to wait five minutes each time to find out that I yet again somehow mucked up the script and it couldn't snap the executable.

  • 0
    I haven't looked at github actions yet but I assume they execute that stuff in a container. If that is thr case you can just download the container yourself, exec into it and test you commands and script there. After that it should just be matter of using yaml validator that can validate your files and off you go.

    That's the work flow that works for me with gitlab-ci.
  • 1
    Try to find not just yaml validator, but writing directly in github GUI for that. They should have intellisense in built for github actions.

    At least gitlab actions have it.
  • 1
    GitHub actions are only about 10% yaml.

    The rest comes down to process, and bash.

    I've built about 10 pipelines so far. The key ingredient is finding a prebuilt action that does what you need already

    Also, double check their sources to ensure you aren't leaking secrets.
  • 0
    @sariel I like that gitlab offers easy solution for self hosted runner. It makes sure nothing is leaked too, since the runner is in your own server.
  • 0
    @darkwind so there's no risk of it making http calls to somewhere?
  • 0
    @sariel you mean, that it makes http calls by its design?
    That depends on your level of paranoia. But since gitlab repository is used and data in their clouds anyway, there is no further increased risks than it is already.

    Or you mean your app making http calls from inside the pipeline?
    As safe as you would run it outside of pipeline on the server.
    The nice feature about it, that I have for example pre-installed running redis, and pipeline runners automatically have it available to connect
  • 0
    @darkwind I mean it does a printenv and posts the output to a server they control.

    From my understanding these are container images at the core, so anything is possible.
Add Comment