You'll find Docker files for .NET nanoFramework. They are used to facilitate building images.
The available pre build images are:
- ghcr.io/nanoframework/dev-container-all: contains all elements to build a firmware image for any of the targets. Important: the size of this container is very large, if you are interested only in building targets on a single platform, you're better using one of the following images specific to that platform.
- ghcr.io/nanoframework/dev-container-chibios: contains all elements to build a firmware image for any of the ChibiOS targets
- ghcr.io/nanoframework/dev-container-ti: contains all elements to build a firmware image for any of the TI SimpleLink targets
- ghcr.io/nanoframework/dev-container-esp32: contains all elements to build a firmware image for any of the ESP32 targets
- ghcr.io/nanoframework/dev-container-azure-rtos: contains all elements to build a firmware image for any of the Eclipse ThreadX (used to be Azure RTOS) targets
- ghcr.io/nanoframework/dev-container-freertos-nxp: contains all elements to build a firmware image for any of the NXP targets
- ChibiOS-RP: contains all elements to build a firmware image for Raspberry Pi Pico (RP2040/RP2350) ChibiOS targets. Uses ChibiOS master branch which includes RP support.
You can choose the dev container needed when opening a remote container in VSCode. The options are:
nanoFramework-Allto use the pre build container with all the elements to build a firmware image for any of the targetsnanoFramework-ThreadXto use the pre build container with all the elements to build Eclipse ThreadX (used to be Azure RTOS) targetsnanoFramework-ChibiOSto use the pre build container with all the elements to build ChibiOS targetsnanoFramework-ESP32to use the pre build container with all the elements to build ESP32 targetsnanoFramework-TIto use the pre build container with all the elements to build TI SimpleLink targetsnanoFramework-FreeRTOS-NXPto use the pre build container with all the elements to build TI SimpleLink targetsnanoFramework-ChibiOS-RPto build from source a container with all the elements to build Raspberry Pi Pico RP2040/RP2350 ChibiOS targets
To use the source dockerfile for the respective platform adjust its devcontainer.json file and change the "dockerFile": "Dockerfile.<platform>" element for the image you would like to use:
Dockerfile.All.SRCto build the container image from the source with all the elements to build all the imagesDockerfile.ThreadX.SRCto build the container image from the source with all the elements to build Eclipse ThreadX (used to be Azure RTOS) based devicesDockerfile.ChibiOS.SRCto build the container image from the source with all the elements to build ChibiOS based devicesDockerfile.ESP32.SRCto build the container image from the source with all the elements to build ESP32 based devicesDockerfile.TI.SRCto build the container image from the source with all the elements to build TI SimpleLink based devicesDockerfile.FreeRTOS.NXP.SRCto build the container image from the source with all the elements to build NXP based devicesDockerfile.ChibiOS-RP.SRCto build the container image from the source with all the elements to build Raspberry Pi Pico (RP2040/RP2350) ChibiOS targets
Add a "repository variable" called PUBLISH_DOCKER_IMAGE with the value true in your forked repository
See: https://docs.github.com/en/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository for further help.
Note: by default, the build and publish of the devcontainer docker images will still only happen when the docker source files change and are "pushed" to the main branch.