Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pext/yotta:latest image type has been deprecated and stopped working with latest docker #5721

Open
microbit-carlos opened this issue Jul 10, 2024 · 3 comments
Assignees

Comments

@microbit-carlos
Copy link
Collaborator

microbit-carlos commented Jul 10, 2024

Trying to build Makecode with Docker v26+ fails, as trying to pull the pext/yotta:latest image (for the V2 CODAL build) throws the following error:

$ docker pull pext/yotta:latest
latest: Pulling from pext/yotta
[DEPRECATION NOTICE] Docker Image Format v1 and Docker Image manifest version 2, schema 1 support is disabled by default and will be removed in an upcoming release. Suggest the author of docker.io/pext/yotta:latest to upgrade the image to the OCI Format or Docker Image manifest v2, schema 2. More information at https://docs.docker.com/go/deprecated-image-specs/

pxt-microbit/pxtarget.json

Lines 204 to 207 in bd4bda1

"githubCorePackage": "lancaster-university/microbit-v2-samples",
"gittag": "v0.2.13",
"serviceId": "mbcodal2",
"dockerImage": "pext/yotta:latest",

This docker image type was deprecated in Docker v19, it has been disabled already in v26, and v27 (which was release a couple of weeks ago) has completely and permanently removed the functionality:
https://docs.docker.com/engine/deprecated/#pushing-and-pulling-with-image-manifest-v2-schema-1

The GH Actions runner images (which we use in the CODAL CI to test changes with a MakeCode build) currently use Docker v26, which needs a workaround to enable this image type, but it won't be long before they upgrade to v27 and things will stop working if there isn't a way to downgrade the docker version from the images.

@microbit-carlos microbit-carlos changed the title pext/yotta:latest docker image type has been deprecated and stopped working with latest docker pext/yotta:latest docker image type has been deprecated and stopped working with latest docker Jul 10, 2024
@microbit-carlos microbit-carlos changed the title pext/yotta:latest docker image type has been deprecated and stopped working with latest docker pext/yotta:latest image type has been deprecated and stopped working with latest docker Jul 10, 2024
@riknoll
Copy link
Member

riknoll commented Jul 10, 2024

we're working on publishing these images to Microsoft's public container registry. unfortunately, due to licensing issues, i can't update the existing images in the pext dockerhub repo

@riknoll riknoll self-assigned this Jul 10, 2024
@microbit-carlos
Copy link
Collaborator Author

Ah, good to know, thanks for the update @riknoll.
Will pushing the pext/yotta:latest image to the new registry using a modern docker version update the image manifest type? Or will it need to be rebuilt?

If it needs to be rebuilt it might be a good opportunity to upgrade the image, as pext/yotta:latest is using GCC v6, and something a bit more modern like v10.3 might improve build sizes (just an assumption based on experience, but of course we won't know until we try it and compare).

@riknoll
Copy link
Member

riknoll commented Jul 10, 2024

@microbit-carlos I'll be rebuilding the images before I push them, so no worries there! I've actually already been updating all of the dockerfiles used by our compile service backend, just need somewhere to put them for public consumption.

totally down for experimenting with different gcc versions!

@abchatra abchatra added this to the Microbit Yearly release milestone Jul 26, 2024
@abchatra abchatra removed this from the Microbit Yearly release milestone Aug 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants