This PR adds tngl/spindle as a new image, using the same Dockerfile as the Knot server but in an additional stage of the build. By building the images from the same Dockerfile, we can re-use the clone from a single tag and cache more artifacts between builds. It also introduces a docker bake workflow and a docker-bake.hcl file to describe images built off the master branch and given the :edge tag (which is an emerging convention in container tag nomenclature).
The build succeeded, but I got a bunch of warnings about inconsistent case (my editor was yelling at me when it encountered lowercase Dockerfile instructions):
24 warnings found (use docker --debug to expand):
- ConsistentInstructionCasing: Command 'CMD' should match the case of the command majority (lowercase) (line 66)
- ConsistentInstructionCasing: Command 'FROM' should match the case of the command majority (lowercase) (line 10)
- ConsistentInstructionCasing: Command 'FROM' should match the case of the command majority (lowercase) (line 13)
- ConsistentInstructionCasing: Command 'ARG' should match the case of the command majority (lowercase) (line 57)
- ConsistentInstructionCasing: Command 'COPY' should match the case of the command majority (lowercase) (line 63)
- FromAsCasing: 'AS' and 'from' keywords' casing do not match (line 16)
- ConsistentInstructionCasing: Command 'RUN' should match the case of the command majority (lowercase) (line 11)
- ConsistentInstructionCasing: Command 'LABEL' should match the case of the command majority (lowercase) (line 49)
- ConsistentInstructionCasing: Command 'LABEL' should match the case of the command majority (lowercase) (line 52)
- ConsistentInstructionCasing: Command 'LABEL' should match the case of the command majority (lowercase) (line 53)
- ConsistentInstructionCasing: Command 'RUN' should match the case of the command majority (lowercase) (line 61)
- ConsistentInstructionCasing: Command 'WORKDIR' should match the case of the command majority (lowercase) (line 65)
- ConsistentInstructionCasing: Command 'RUN' should match the case of the command majority (lowercase) (line 14)
- ConsistentInstructionCasing: Command 'FROM' should match the case of the command majority (lowercase) (line 46)
- ConsistentInstructionCasing: Command 'EXPOSE' should match the case of the command majority (lowercase) (line 47)
- ConsistentInstructionCasing: Command 'LABEL' should match the case of the command majority (lowercase) (line 50)
- ConsistentInstructionCasing: Command 'ARG' should match the case of the command majority (lowercase) (line 56)
- ConsistentInstructionCasing: Command 'RUN' should match the case of the command majority (lowercase) (line 59)
- ConsistentInstructionCasing: Command 'VOLUME' should match the case of the command majority (lowercase) (line 67)
- ConsistentInstructionCasing: Command 'HEALTHCHECK' should match the case of the command majority (lowercase) (line 68)
- ConsistentInstructionCasing: Command 'ENV' should match the case of the command majority (lowercase) (line 17)
- ConsistentInstructionCasing: Command 'LABEL' should match the case of the command majority (lowercase) (line 51)
- ConsistentInstructionCasing: Command 'LABEL' should match the case of the command majority (lowercase) (line 54)
- ConsistentInstructionCasing: Command 'RUN' should match the case of the command majority (lowercase) (line 60)
...so I was wondering if I could commit this other change that formats the Dockerfile properly? But I figured I'd let y'all see the changes first before they're obfuscated by all that reformatting.