libera/#clasp - IRC Chatlog
Search
9:38:39
Colleen
yitzi: drmeister said 6 hours, 54 minutes ago: Have you looked into if `ninja -j 2` can somehow communicate the number of jobs to child processes?
9:38:39
Colleen
yitzi: drmeister said 6 hours, 49 minutes ago: What was that Common Lisp programming course thing you told me about? experienceio?
9:38:39
Colleen
yitzi: drmeister said 6 hours, 46 minutes ago: Do I need to enable macos building outside of the yaml file?
9:39:47
yitzi
drmeister: ninja doesn't have a way to communicate the job count to clasp. That is the reason behind this. https://github.com/ninja-build/ninja/issues/2125
9:40:33
yitzi
drmeister: I'll look at your cando workflow and see I can figure out what is going on with macos.
10:42:02
yitzi
drmeister: Looks like I got the mac build into aclasp. There was a typo in the yaml file.
11:49:20
drmeister
I see - thank you. I didn't see what was wrong with the macos yaml line and assumed it was some outside configuration that I hadn't set.
11:50:39
yitzi
Look down at the bottom under "Annotation" https://github.com/cando-developers/cando/actions/runs/2335804433
11:51:57
yitzi
I am starting to come up with a more complete idea how all the workflows will connect together.
11:52:42
yitzi
For that packaging workflow I was thinking of making it run nightly if there are changes and build clasp, cando, etc
11:56:53
yitzi
That is as much detail as you will get. It was an indentation issue. One too many spaces on that line.
11:59:59
yitzi
I also added `skip-sync=cando` ... this is important because otherwise koga will overwrite the specific commit that GitHub is trying to checkout and test.
12:02:29
drmeister
This all makes sense to me. It helps to understand that yaml files are just double baked JSON format,
12:05:59
yitzi
cando has a testing workflow that is triggered by cando/main, clasp/main and cando PRs.
12:07:04
yitzi
clasp has a packaging workflow that runs on a schedule like nightly. It builds debian packages (or arch etc) for clasp and cando.
12:07:45
yitzi
If I can figure out logic to test for changes to clasp/cando there I can make it punt the nightly run if there are no changes.
12:10:04
yitzi
And then we have a release packaging workflow that builds and posts binary builds to the GitHub release tags.
14:37:33
yitzi
I think you can also connect via libera's website. That might be the easiest for a new person https://libera.chat/
14:38:16
yitzi
and here is the instructions for matrix https://libera.chat/guides/faq#can-i-connect-with-matrix
15:11:30
drmeister
I'd like to introduce you to adremann - a student who is working with us this summer.
15:12:05
drmeister
We spent the last hour trying to set up a nickname with nickserv - we won't get that time back.
15:15:17
yitzi
drmeister: It is building right now. I built an empty one earlier, b.c. I forgot to change the package path. It is building on Debian Bookworm and Ubuntu Jammy right now.
15:33:44
yitzi
Once I can get the package to install on a clean Ubuntu system I'll add jobs to the workflow to build cando packages also.
15:33:53
drmeister
Sorry if I sound like a babe in the woods. I'm trying to wrap my head around what we are doing here.
15:34:57
yitzi
There is still some research I have to do about making debian source packages that build different binary packages.
15:37:55
drmeister
https://github.com/clasp-developers/clasp/blob/ext-load/.github/workflows/pkg.yml#L12
15:40:01
drmeister
What is this step doing? https://github.com/clasp-developers/clasp/blob/ext-load/.github/workflows/pkg.yml#L13
15:51:05
drmeister
When I try to run koga on her WSL2 system it hangs on Fetching https://gitlab.common-lisp.net/kpoeck/ansi-test.git
15:54:19
drmeister
git clone https://gitlab.common-lisp.net/kpoeck/ansi-test.git works fine from the command line.
15:55:20
drmeister
I'm on a hair trigger right now - everything has been trying to screw with me today.
16:15:40
drmeister
My question is - what is this doing? https://github.com/clasp-developers/clasp/blob/ext-load/.github/workflows/pkg.yml#L13
16:16:56
yitzi
That is a prepared action https://github.com/marketplace/actions/build-debian-packages
16:17:46
drmeister
Why is it `jtdor/build-deb-action@v1` and not `actions/<something-something-something>`
16:17:50
yitzi
It uses dpkg-buildpackage to create the package. I could done the same stuff with a `run:` but this seems automate the downloading of a docker image, setting up the environment, etc.
16:20:16
drmeister
where does that step get it's instructions from? Is it the `clasp/debian/**` directory in the clasp repo?
16:21:16
yitzi
What that step is actually doing is in here https://github.com/jtdor/build-deb-action/tree/master/scripts
16:22:55
yitzi
The instructions to dpkg-buildpackage are in `clasp/debian/**`. We could have executed the calls to dpkg-buildpackage ourselves....this just was easier.
16:23:47
drmeister
I'm trying to get a mental image of what it does. This is debian package building. Does it simply use whatever is in the current directory and build a package?
16:23:49
yitzi
The stuff in `clasp/debian/**` are to dpkg-buildpackage as the brew formula in `brew/**` are to Homebrew.
16:25:37
drmeister
This tells the debian dpkg-buildpackage what to build: https://github.com/clasp-developers/clasp/blob/main/debian/rules
16:25:49
yitzi
The "control" file tells debian about dependencies, names, descriptions, etc. The "rules" file tells it how to actually build and install the package. The other files are to do things like patching, etc. Its very esoteric.
16:26:47
yitzi
Except I have had to make changes on ext-load. https://github.com/clasp-developers/clasp/blob/ext-load/debian/rules
16:27:48
yitzi
"dh" stands for debhelper, cause they gotta have another helper script with no documentation that does magical stuff with unicorns and condensed nightmares.
16:28:23
yitzi
It makes a downloadable "artifact" Look underneath "Annotations" https://github.com/clasp-developers/clasp/actions/runs/2339136208
16:50:38
drmeister
Now, for cando - do we have a problem? the clasp/debian/** files are tailored for clasp
16:51:13
yitzi
That is what I am researching right now...how to embed multiple binary packages in the same source package.