Remix.run Logo
xrd 5 hours ago

I setup actions yesterday. There are a few tiny rough edges, but it is definitely working for me. I'm using it to build my hugo blog which "sprinklylls" in a Svelte app, so it needs to have nodejs + hugo and a custom orchestrator written in Zig.

What I did:

  * used a custom docker image on my own registry domain with hugo/nodejs and my custom zig app
    * no problems
  * store artifacts 
    * required using a different artifact "uses" v3 instead of v4 (uses: actions/upload-artifact@v3)
    * An example of how there are some subtle differences between GitHub Actions, but IMHO, this is a step forward because GitLab CI YAML is totally different
    * can't browse the artifacts like I can on gitlab, only allows download of the zip. Not a big deal, but nice to verify without littering my Downloads folder.
  * Unable to use "forgejo-runner exec" which I use extensively to test whether a workflow is correct before pushing
    * Strange error: "Error: Open(/home/runner/.cache/actcache/bolt.db): timeout"
    * I think GitLab broke this feature recently as well!
  * Getting the runner to work with podman and as a service was a little tricky (but now works)
    * Mostly because of the way the docker socket is not created by default on podman
    * And the docker_host path is different inside the runner config file.
    * There are two config files, one (JSON) is always stored in .runner and contains the auth information and IP, and the other is YAML and runner needs the -c switch to specify it, and has the config of the runner (docker options, etc). It's a bit strange there are two files IMHO.
mfenniak 5 hours ago | parent [-]

> * Strange error: "Error: Open(/home/runner/.cache/actcache/bolt.db): timeout"

This will occur if you have a `forgejo-runner daemon` running while you try to use `exec` -- both are trying to open the cache database, and only the first to open it can operate. You could avoid this by changing the cache directory of the daemon by changing `cache.dir` in the config file, or run the two processes as different users.

> It's a bit strange there are two files IMHO.

The `.runner` file isn't a config file, it's a state file -- not intended for user editing. But yes, it's a bit odd.