Vectornaut
  • Joined on 2019-09-28
Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-28 05:31:36 +00:00
Set up continuous integration in Forgejo

If you trust an organization and the image is open-souce licensed, feel free to check in a use of it.

Would it matter if the image weren't open-source licensed? We're just using it as a tool,…

Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-28 05:17:45 +00:00
Set up continuous integration in Forgejo

Hmm, the issue seems now to be that image rust:1.85-bookworm does not have node installed, see the details below.

Okay, that's what I'd expect. Let's set aside the…

Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-28 03:58:55 +00:00
Set up continuous integration in Forgejo

Before you upgrade to a t3a.medium instance, let's try something completely different. The latest commit (4251242953) runs CI on a stock Docker image, getting rid of the setup-image step. On…

Vectornaut pushed to forgejo-ci at Vectornaut/dyna3 2025-03-28 03:46:13 +00:00
4251242953 Run CI on a stock image, installing Trunk by hand
Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-28 01:38:48 +00:00
Set up continuous integration in Forgejo

Now that we've installed Node 20 on the runner host, the setup-image job can run! Unfortunately, building the CI image seems to crash the host by eating up its entire 2GB of RAM.

I just…

Vectornaut pushed to forgejo-ci at Vectornaut/dyna3 2025-03-28 01:28:59 +00:00
f212cfadf4 Tell Docker to build Trunk with only one job
Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-27 22:00:54 +00:00
Set up continuous integration in Forgejo

I've confirmed that the checkout action uses Node 20 by looking at its action.yml. I'm still not sure how it's able to…

Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-27 21:30:19 +00:00
Set up continuous integration in Forgejo

@glen wrote in StudioInfinity/dyna3#75 (comment):

OK, it started! And then promptly failed with Cannot find: node in PATH. Is this referring to…

Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-27 20:08:45 +00:00
Set up continuous integration in Forgejo

Which labels did you choose when you registered the runner? These should be listed under the "labels" key in the registration result file, which is called .runner by default. If you didn't…

Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-27 05:12:48 +00:00
Set up continuous integration in Forgejo

I just pushed a commit with the image setup job (15375dc). If it runs as expected, I'll start working on using Cargo to run CI directly on a development machine, as discussed above. Right now, the…

Vectornaut pushed to forgejo-ci at Vectornaut/dyna3 2025-03-27 05:06:24 +00:00
15375dc932 Remove the CI image setup script
5f45c9c7a4 Set up the CI image during the CI workflow
Compare 2 commits »
Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-26 20:33:09 +00:00
Set up continuous integration in Forgejo

I've filed an issue about adding a convenient way to do all three continuous integration checks in one command. If we added that,…

Vectornaut opened issue StudioInfinity/dyna3#76 2025-03-26 19:52:51 +00:00
Optionally build and run application and examples during testing
Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-26 19:08:54 +00:00
Set up continuous integration in Forgejo

I think we don't quite have a unified harness for all tests; I think some run with cargo test and others run by invoking a shell script.

Calling cargo test should run all of our automated…

Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-26 19:04:09 +00:00
Set up continuous integration in Forgejo

OK in light of all the above, the question is how annoying will a 4 minute wait for automated runs be? Since our s.o.p. should be to always run the tests locally before committing (in fact, I…

Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-26 18:12:17 +00:00
Set up continuous integration in Forgejo

Finally, if we are using this locally as the way to run tests during development, we definitely want that as fast as possible, i.e. every step runs directly on my machine not through docker,…

Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-26 17:36:05 +00:00
Set up continuous integration in Forgejo

And what's the additional time required by the isolation-breaking one, as compared to when you had the image pre-created? Is the self-hosted step quicker the second time, or does it always fully…

Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-26 09:23:39 +00:00
Set up continuous integration in Forgejo

I have two options ready to push. Which one would you like me to try?

Install Trunk during continuous integration

On my development machine, this adds about 3.5 minutes to the CI…

Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-25 21:57:43 +00:00
Set up continuous integration in Forgejo

[…] continuous integration, more or less by definition, has to run entirely from the repository contents

Good point; it would be nice for the repository to completely specify the build…

Vectornaut commented on pull request StudioInfinity/dyna3#75 2025-03-25 19:22:24 +00:00
Set up continuous integration in Forgejo

I've looked at the Docker output from the last workflow failure:

fjord(version:v6.3.1) received task 10 of job 1, be triggered by event: pull_request
workflow prepared
🚀  Start…