Skip to content

Verify that the Docker container images actually work #1690

@Rangi42

Description

@Rangi42

Since 0.7.0 we've provided a Dockerfile to build RGBDS, and since 0.9.0 we've build images automatically with each new release. However, I'm not sure they actually work.

I opened zladx/LADX-Disassembly#601 to use RGBDS 0.9.2 and its new STRCHAR function when building LADX-Disassembly, replacing their kemenaran/rgbds:0.8.0 Docker image with our ghcr.io/gbdev/rgbds:v0.9.2. This successfully started a CircleCI build job.

The "Spin up environment" step did correctly use our image given that path:

[...]
Starting container ghcr.io/gbdev/rgbds:v0.9.2
  image cache not found on this host, downloading ghcr.io/gbdev/rgbds:v0.9.2
[...]
ghcr.io/gbdev/rgbds:v0.9.2:
  using image ghcr.io/gbdev/rgbds@sha256:ce92d764841ee057dea1a505005c40d8359e0d8d05b54ed45be431ac78cfc011
  pull stats: download 123.6MiB in 7.905s (15.64MiB/s)
  time to create container: 622ms
[...]

But the "Building" step failed:

% #!/bin/bash -eo pipefail
% make build-all
tools/gfx/gfx.py --invert --interleave --out revisions/J0/src/gfx/characters/oam_npc_3.cgb.2bpp 2bpp revisions/J0/src/gfx/characters/oam_npc_3.cgb.png
tools/gfx/gfx.py --invert --interleave --out revisions/J0/src/gfx/characters/oam_npc_3.dmg.2bpp 2bpp revisions/J0/src/gfx/characters/oam_npc_3.dmg.png
rgbgfx -o revisions/J0/src/gfx/ending/thanks_for_playing.2bpp revisions/J0/src/gfx/ending/thanks_for_playing.png
make: rgbgfx: No such file or directory
make: *** [Makefile:60: revisions/J0/src/gfx/ending/thanks_for_playing.2bpp] Error 127

Exited with code exit status 2

This could be due to some difference between kemenaran/rgbds and ghcr.io/gbdev/rgbds, but I'm not sure what -- shouldn't the container image be putting already-built rgb{gfx,asm,link,fix} in the PATH?

@avivace I'd appreciate your help with this. Would you be able to demonstrate for me how our Docker image is meant to be used with projects? If there's some catch to it like "the executables are actually inside an rgbds/ directory" (no idea, just guessing), we may want to fix that or at least explain it somewhere?

Metadata

Metadata

Assignees

Labels

bugUnexpected behavior / crashes; to be fixed ASAP!buildsThis affects the build process or release artifactsmetaThis isn't related to the tools directly: repo organization, maintainership...

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions