pocmatos
2020-7-9 10:10:08

A quick update on this work ^^^, my rpi4 and rpi3 cluster has this installed. It works, but a quick test shows a problem: https://github.com/pmatos/actions-test/runs/853192981?check_suite_focus=true#step:2:1


pocmatos
2020-7-9 10:10:20

Of course these things never work the first time… sigh


pocmatos
2020-7-9 10:11:47

So, it seems the plan is to use docker compose. This means composing the current racket ci image with the github actions runner. Problem is, I have never used docker compose before so will need some time to understand how to get this setup on the self hosted runners with docker compose. Will keep you up-to-date . :slightly_smiling_face:


notjack
2020-7-9 10:22:32

:wave: I’m available for questions about docker compose, I’ve used it extensively. (Disclaimer: my knowledge is about two or three years out of date.)


pocmatos
2020-7-9 11:47:14

@notjack awesome - I will definitely bother you once I get some free time to look at it.


pocmatos
2020-7-9 14:35:30

pocmatos
2020-7-9 14:35:45

It seems I can specify the github-runner as a service.


pocmatos
2020-7-9 14:36:03

However, I don’t quite understand how in the yaml file I can specify which one is the ‘main’ container.


pocmatos
2020-7-9 14:36:17

So, I want to use the github-runner inside the racket/racket-ci container.


pocmatos
2020-7-9 14:38:59

pocmatos
2020-7-9 14:39:04

I just wrote that by hand.


pocmatos
2020-7-9 14:39:38

Wondering if it’s the depends option that will say that the racket service is the main one.


pocmatos
2020-7-9 14:40:21

Another question. I have used the docker buildx qemu backend to cross-build the image.


pocmatos
2020-7-9 14:41:05

pocmatos
2020-7-9 14:41:18

says: You can build multi-platform images using three different strategies that are supported by Buildx and Dockerfiles: 1. Using the QEMU emulation support in the kernel 2. Building on multiple native nodes using the same builder instance 3. Using a stage in Dockerfile to cross-compile to different architectures


pocmatos
2020-7-9 14:42:33

So, I have used the 1st option but there are downsides as I had to workaround a qemu bug involving curl.


pocmatos
2020-7-9 14:42:42

I can’t find doc on doing option 2.


pocmatos
2020-7-9 14:42:58

@notjack have you ever done 2?


pocmatos
2020-7-9 14:43:11

As in cross-building an image on native machines (in a distributed fashion)?


notjack
2020-7-9 17:36:51

@pocmatos There usually isn’t a main container/service. docker compose up will just start everything, and if you don’t want to start everything you name the specific service you want to start.


notjack
2020-7-9 17:38:25

I’ve never done step 2. I haven’t used any of the buildx stuff yet, back when I was using docker a lot it was still in the very experimental stages.


pocmatos
2020-7-9 21:48:50

@notjack ok, maybe I was confused by the word compose… I thought I could say, compose github-docker with racket-ci and it would somehow return a single image made out of these two… Need to spend some more time reading on it then and probably doing some experiments. Maybe it’s not the solution we need then.


notjack
2020-7-9 21:49:19

oh, hmm


notjack
2020-7-9 21:50:22

yeah compose is for running things like web services where you run a cluster of different containers all together


notjack
2020-7-9 21:51:07

it’s like kubernetes / docker swarm, but for a single machine. People use it as a lightweight dev environment kind of thing