Skip to content

Commit 31224a3

Browse files
authored
Move to main branch (#2280)
2 parents 58bcad3 + c4a5162 commit 31224a3

File tree

205 files changed

+5294
-2062
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

205 files changed

+5294
-2062
lines changed

.devcontainer/Dockerfile.All

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
FROM ghcr.io/nanoframework/dev-container-all:v2.5
1+
FROM ghcr.io/nanoframework/dev-container-all:v2.9

.devcontainer/Dockerfile.AzureRTOS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
FROM ghcr.io/nanoframework/dev-container-azure-rtos:v1.1
1+
FROM ghcr.io/nanoframework/dev-container-azure-rtos:v1.2

.devcontainer/Dockerfile.ChibiOS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
FROM ghcr.io/nanoframework/dev-container-chibios:v1.3
1+
FROM ghcr.io/nanoframework/dev-container-chibios:v1.4

.devcontainer/Dockerfile.ESP32

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
FROM ghcr.io/nanoframework/dev-container-esp32:v2.4
1+
FROM ghcr.io/nanoframework/dev-container-esp32:v2.7

.devcontainer/Dockerfile.TI

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
FROM ghcr.io/nanoframework/dev-container-ti:v1.2
1+
FROM ghcr.io/nanoframework/dev-container-ti:v1.4

.devcontainer/README.md

-1.95 KB

The available pre build images are:

  • ghcr.io/nanoframework/dev-container-all: contains all elements to build any image. Important: the size of this container is very large, if you are interested only in building one of the image, you better need to une one of the following dedicated image
  • ghcr.io/nanoframework/dev-container-chibios: contains all elements to build any ESP32 image
  • ghcr.io/nanoframework/dev-container-ti: contains all elements to build any ESP32 image
  • ghcr.io/nanoframework/dev-container-esp32: contains all elements to build any ESP32 image
  • ghcr.io/nanoframework/dev-container-azure-rtos: contains all elements to build any Azure RTOS based image
  • 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 Azure RTOS targets

To choose the dev container you want to use, adjust devcontainer.json and change the "dockerFile": "Dockerfile" elements for the image you'd liked to use:

  • Dockerfile.All to use the pre build container with all the elements to build all the images
  • Dockerfile.All to use the pre build container with all the elements to build a firmware image for any of the targets
  • Dockerfile.AzureRTOS to use the pre build container with all the elements to build Azure RTOS based devicestargets
  • Dockerfile.ChibiOS to use the pre build container with all the elements to build ChibiOS based devicestargets
  • Dockerfile.ESP32 to use the pre build container with all the elements to build ESP32 based devicestargets
  • Dockerfile.TI to use the pre build container with all the elements to build TI based devicesSimpleLink targets
  • ./sources/Dockerfile.All to use build the container image from the source with all the elements to build all the images
  • ./sources/Dockerfile.AzureRTOS to use build the container image from the source with all the elements to build Azure RTOS based devices
  • ./sources/Dockerfile.ChibiOS to use build the container image from the source with all the elements to build ChibiOS based devices
  • ./sources/Dockerfile.ESP32 to use build the container image from the source with all the elements to build ESP32 based devices
  • ./sources/Dockerfile.TI to use build the container image from the source with all the elements to build TI SimpleLink based devices

.devcontainer/sources/Dockerfile.All

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,13 @@ RUN git clone --branch STABLE-2_0_3_RELEASE https://git.savannah.nongnu.org/git/
7474
ENV GIT_SSL_NO_VERIFY=0
7575

7676
# Clone ESP-IDF
77-
RUN git clone --branch v4.3.2 https://github.com/espressif/esp-idf --depth 1 --recursive ./sources/esp-idf
77+
RUN git clone --branch v4.4 https://github.com/espressif/esp-idf --depth 1 --recursive ./sources/esp-idf
7878

7979
# Clone what is needed for TI
8080
RUN git clone --branch 4.10.00.07 https://github.com/nanoframework/SimpleLink_CC32xx_SDK.git --depth 1 ./sources/SimpleLinkCC32 \
8181
# you can't use the nanoFramework repository as it's Windows only
8282
# && git clone --branch 3.61.00.16 https://github.com/nanoframework/TI_XDCTools.git --depth 1 ./sources/TI_XDCTools \
83-
&& git clone --branch 5.30.01.01 https://github.com/nanoframework/SimpleLink_CC13xx_26xx_SDK.git --depth 1 ./sources/SimpleLinkCC13 \
83+
&& git clone --branch 5.40.00.40 https://github.com/nanoframework/SimpleLink_CC13xx_26xx_SDK.git --depth 1 ./sources/SimpleLinkCC13 \
8484
&& git clone --branch 1.10.0 https://github.com/nanoframework/TI_SysConfig.git --depth 1 ./sources/TI_SysConfig \
8585
&& chmod +x ./sources/TI_SysConfig/sysconfig_cli.sh
8686

@@ -104,7 +104,7 @@ RUN ln -fs /usr/bin/python3 /usr/bin/python \
104104
ENV IDF_PATH=/sources/esp-idf
105105
RUN python -m pip install -r $IDF_PATH/requirements.txt
106106
RUN $IDF_PATH/install.sh
107-
ENV PATH=$PATH:/$IDF_PATH/components/esptool_py/esptool:/$IDF_PATH/components/espcoredump:/$IDF_PATH/components/partition_table/:/$IDF_PATH/tools/:$IDF_PATH/components/app_update:/root/.espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin:/root/.espressif/tools/xtensa-esp32s2-elf/esp-2021r2-8.4.0/xtensa-esp32s2-elf/bin:/root/.espressif/tools/riscv32-esp-elf/esp-2021r2-8.4.0/riscv32-esp-elf/bin
107+
ENV PATH=$PATH:$IDF_PATH/components/esptool_py/esptool:$IDF_PATH/components/espcoredump:$IDF_PATH/components/partition_table/:$IDF_PATH/tools/:$IDF_PATH/components/app_update:/root/.espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin:/root/.espressif/tools/xtensa-esp32s2-elf/esp-2021r2-8.4.0/xtensa-esp32s2-elf/bin:/root/.espressif/tools/riscv32-esp-elf/esp-2021r2-8.4.0/riscv32-esp-elf/bin
108108

109109
# Clean up downloaded files
110110
RUN apt-get autoremove -y \

.devcontainer/sources/Dockerfile.ESP32

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,9 @@ RUN mkdir -p /usr/local/bin/gcc
4747
# Clone mbedtls and fatfs
4848
RUN git clone --branch mbedtls-2.28.0 https://github.com/ARMmbed/mbedtls.git --depth 1 ./sources/mbedtls \
4949
&& git clone --branch R0.14 https://github.com/abbrev/fatfs.git --depth 1 ./sources/fatfs
50-
# Clone FreeRTOS and what is needed for ESP32
51-
RUN git clone --branch V10.4.1-kernel-only https://github.com/FreeRTOS/FreeRTOS-Kernel.git --depth 1 ./sources/FreeRTOS \
52-
&& git clone --branch 5.5.1 https://github.com/ARM-software/CMSIS_5.git --depth 1 ./sources/CMSIS_5 \
53-
&& git clone --branch nf-build https://github.com/nanoframework/spiffs.git --depth 1 ./sources/spiffs
5450

5551
# Clone ESP-IDF
56-
RUN git clone --branch v4.3.2 https://github.com/espressif/esp-idf --depth 1 --recursive ./sources/esp-idf
52+
RUN git clone --branch v4.4 https://github.com/espressif/esp-idf --depth 1 --recursive ./sources/esp-idf
5753

5854
# Copy from our other container
5955
COPY --from=downloader /tmp/dc-extracted/gcc /usr/local/bin/gcc
@@ -68,7 +64,7 @@ RUN ln -fs /usr/bin/python3 /usr/bin/python \
6864
ENV IDF_PATH=/sources/esp-idf
6965
RUN python -m pip install -r $IDF_PATH/requirements.txt
7066
RUN $IDF_PATH/install.sh
71-
ENV PATH=$PATH:/$IDF_PATH/components/esptool_py/esptool:/$IDF_PATH/components/espcoredump:/$IDF_PATH/components/partition_table/:/$IDF_PATH/tools/:$IDF_PATH/components/app_update:/root/.espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin:/root/.espressif/tools/xtensa-esp32s2-elf/esp-2021r2-8.4.0/xtensa-esp32s2-elf/bin:/root/.espressif/tools/riscv32-esp-elf/esp-2021r2-8.4.0/riscv32-esp-elf/bin
67+
ENV PATH=$PATH:$IDF_PATH/components/esptool_py/esptool:$IDF_PATH/components/espcoredump:$IDF_PATH/components/partition_table/:$IDF_PATH/tools/:$IDF_PATH/components/app_update:/root/.espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin:/root/.espressif/tools/xtensa-esp32s2-elf/esp-2021r2-8.4.0/xtensa-esp32s2-elf/bin:/root/.espressif/tools/riscv32-esp-elf/esp-2021r2-8.4.0/riscv32-esp-elf/bin
7268

7369
# Clean up downloaded files
7470
RUN apt-get autoremove -y \

.devcontainer/sources/Dockerfile.TI

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,11 @@ RUN apt-get update \
4747
RUN mkdir -p /usr/local/bin/gcc \
4848
&& mkdir -p /usr/local/bin/titools
4949

50-
# Clone mbedtls and fatfs
51-
RUN git clone --branch mbedtls-2.28.0 https://github.com/ARMmbed/mbedtls.git --depth 1 ./sources/mbedtls \
52-
&& git clone --branch R0.14 https://github.com/abbrev/fatfs.git --depth 1 ./sources/fatfs
5350
# Clone what is needed for TI
5451
RUN git clone --branch 4.10.00.07 https://github.com/nanoframework/SimpleLink_CC32xx_SDK.git --depth 1 ./sources/SimpleLinkCC32 \
5552
# you can't use the nanoFramework repository as it's Windows only
5653
# && git clone --branch 3.61.00.16 https://github.com/nanoframework/TI_XDCTools.git --depth 1 ./sources/TI_XDCTools \
57-
&& git clone --branch 5.30.01.01 https://github.com/nanoframework/SimpleLink_CC13xx_26xx_SDK.git --depth 1 ./sources/SimpleLinkCC13 \
54+
&& git clone --branch 5.40.00.40 https://github.com/nanoframework/SimpleLink_CC13xx_26xx_SDK.git --depth 1 ./sources/SimpleLinkCC13 \
5855
&& git clone --branch 1.10.0 https://github.com/nanoframework/TI_SysConfig.git --depth 1 ./sources/TI_SysConfig \
5956
&& chmod +x ./sources/TI_SysConfig/sysconfig_cli.sh
6057

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<!--- In the TITLE (↑↑↑↑ above ↑↑↑↑ **NOT HERE**) provide a general, short summary of your changes -->
2+
<!--- Please DO NOT use references to other PR's or issues -->
3+
4+
## Description
5+
<!--- Describe your changes in detail -->
6+
<!--- Bulleted list. Full sentences. Ending with a dot. -->
7+
8+
## Motivation and Context
9+
<!--- Why is this change required? What problem does it solve? -->
10+
<!--- If this **fixes** OR **closes** OR **resolves** an open issue, please link to the issue there using the template bellow (mind the pattern to link there as all issues are tracked in the Home repository) -->
11+
<!--- **JUST** replace NNNNN with the issue number -->
12+
- Fixes/Closes/Resolves nanoFramework/Home#NNNN
13+
14+
## How Has This Been Tested?<!-- (IF APPLICABLE) -->
15+
<!--- Please describe in detail how you tested your changes. -->
16+
<!--- Include details of your testing environment, and the tests you ran to -->
17+
<!--- see how your change affects other areas of the code, etc. -->
18+
19+
## Screenshots<!-- (IF APPLICABLE): -->
20+
21+
## Types of changes
22+
<!--- What types of changes does this PR introduce? Put an `x` in all the boxes that apply: -->
23+
- [ ] Improvement (non-breaking change that improves a feature, code or algorithm)
24+
- [ ] Bug fix (non-breaking change which fixes an issue with code or algorithm)
25+
- [ ] New feature (non-breaking change which adds functionality to code)
26+
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
27+
- [ ] Config and build (change in the configuration and build system, has no impact on code or features)
28+
- [ ] Dev Containers (changes related with Dev Containers, has no impact on code or features)
29+
- [ ] Dependencies (update dependencies and changes associated, has no impact on code or features)
30+
- [ ] Documentation (changes or updates in the documentation, has no impact on code or features)
31+
32+
## Checklist
33+
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
34+
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
35+
<!--- PLEASE PLEASE PLEASE don't tick all of them just because -->
36+
- [ ] My code follows the code style of this project (only if there are changes in source code).
37+
- [ ] My changes require an update to the documentation (there are changes that require the docs website to be updated).
38+
- [ ] I have updated the documentation accordingly (the changes require an update on the docs in this repo).
39+
- [ ] I have read the [CONTRIBUTING](https://github.com/nanoframework/.github/blob/main/CONTRIBUTING.md) document.
40+
- [ ] I have tested everything locally and all new and existing tests passed (only if there are changes in source code).
Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,37 @@
1-
name: Build and push image for all RTOS
1+
# Copyright (c) .NET Foundation and Contributors
2+
# See LICENSE file in the project root for full license information.
3+
4+
name: Build Dev Container for all platforms
25

36
env:
47
GCR_IMAGE: ghcr.io/nanoframework/dev-container-all
5-
GCR_VERSION: v2.5
68
GCR_FILE: .devcontainer/sources/Dockerfile.All
79

8-
# Controls when the action will run.
910
on:
10-
# Triggers the workflow on push or pull request events but only for the main branch
1111
push:
12-
branches: [ develop ]
13-
paths: [ .devcontainer/sources/Dockerfile.All ]
12+
branches:
13+
- develop
14+
paths:
15+
- '**Dockerfile.All'
1416

15-
# Allows you to run this workflow manually from the Actions tab
1617
workflow_dispatch:
1718

18-
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
1919
jobs:
20-
# This workflow contains a single job called "build"
2120
build:
22-
# The type of runner that the job will run on
2321
runs-on: ubuntu-latest
2422
steps:
25-
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
23+
2624
- name: Checkout Repository
2725
uses: actions/checkout@v2
2826

27+
- name: Get container version
28+
run: |
29+
$dockerfileContent = Get-Content(".devcontainer/Dockerfile.All")
30+
$dockerfileContent -match '(?<=\:)(?:[v]\d+.\d+)'
31+
$containerVersion = $Matches[0].ToString()
32+
echo "GCR_VERSION=$containerVersion" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
33+
shell: pwsh
34+
2935
- name: Login to GitHub Container Registry
3036
uses: docker/login-action@v1
3137
with:
@@ -40,4 +46,4 @@ jobs:
4046
push: true # Will only build if this is not here
4147
tags: |
4248
${{ env.GCR_IMAGE }}:${{ env.GCR_VERSION }}
43-
${{ env.GCR_IMAGE }}:latest
49+
${{ env.GCR_IMAGE }}:latest
Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,37 @@
1-
name: Build and push image for Azure RTOS
1+
# Copyright (c) .NET Foundation and Contributors
2+
# See LICENSE file in the project root for full license information.
3+
4+
name: Build Dev Container for Azure RTOS
25

36
env:
47
GCR_IMAGE: ghcr.io/nanoframework/dev-container-azure-rtos
5-
GCR_VERSION: v1.1
68
GCR_FILE: .devcontainer/sources/Dockerfile.AzureRTOS
79

8-
# Controls when the action will run.
910
on:
10-
# Triggers the workflow on push or pull request events but only for the main branch
1111
push:
12-
branches: [ develop ]
13-
paths: [ .devcontainer/sources/Dockerfile.AzureRTOS ]
12+
branches:
13+
- develop
14+
paths:
15+
- '**Dockerfile.AzureRTOS'
1416

15-
# Allows you to run this workflow manually from the Actions tab
1617
workflow_dispatch:
1718

18-
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
1919
jobs:
20-
# This workflow contains a single job called "build"
2120
build:
22-
# The type of runner that the job will run on
2321
runs-on: ubuntu-latest
2422
steps:
25-
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
23+
2624
- name: Checkout Repository
2725
uses: actions/checkout@v2
2826

27+
- name: Get container version
28+
run: |
29+
$dockerfileContent = Get-Content(".devcontainer/Dockerfile.AzureRTOS")
30+
$dockerfileContent -match '(?<=\:)(?:[v]\d+.\d+)'
31+
$containerVersion = $Matches[0].ToString()
32+
echo "GCR_VERSION=$containerVersion" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
33+
shell: pwsh
34+
2935
- name: Login to GitHub Container Registry
3036
uses: docker/login-action@v1
3137
with:
@@ -40,4 +46,5 @@ jobs:
4046
push: true # Will only build if this is not here
4147
tags: |
4248
${{ env.GCR_IMAGE }}:${{ env.GCR_VERSION }}
43-
${{ env.GCR_IMAGE }}:latest
49+
${{ env.GCR_IMAGE }}:latest
50+
Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,37 @@
1-
name: Build and push ChibiOS image
1+
# Copyright (c) .NET Foundation and Contributors
2+
# See LICENSE file in the project root for full license information.
3+
4+
name: Build Dev Container for ChibiOS
25

36
env:
47
GCR_IMAGE: ghcr.io/nanoframework/dev-container-chibios
5-
GCR_VERSION: v1.3
68
GCR_FILE: .devcontainer/sources/Dockerfile.ChibiOS
79

8-
# Controls when the action will run.
910
on:
10-
# Triggers the workflow on push or pull request events but only for the main branch
1111
push:
12-
branches: [ develop ]
13-
paths: [ .devcontainer/sources/Dockerfile.ChibiOS ]
12+
branches:
13+
- develop
14+
paths:
15+
- '**Dockerfile.ChibiOS'
1416

15-
# Allows you to run this workflow manually from the Actions tab
1617
workflow_dispatch:
1718

18-
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
1919
jobs:
20-
# This workflow contains a single job called "build"
2120
build:
22-
# The type of runner that the job will run on
2321
runs-on: ubuntu-latest
2422
steps:
25-
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
23+
2624
- name: Checkout Repository
2725
uses: actions/checkout@v2
2826

27+
- name: Get container version
28+
run: |
29+
$dockerfileContent = Get-Content(".devcontainer/Dockerfile.ChibiOS")
30+
$dockerfileContent -match '(?<=\:)(?:[v]\d+.\d+)'
31+
$containerVersion = $Matches[0].ToString()
32+
echo "GCR_VERSION=$containerVersion" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
33+
shell: pwsh
34+
2935
- name: Login to GitHub Container Registry
3036
uses: docker/login-action@v1
3137
with:
@@ -40,4 +46,4 @@ jobs:
4046
push: true # Will only build if this is not here
4147
tags: |
4248
${{ env.GCR_IMAGE }}:${{ env.GCR_VERSION }}
43-
${{ env.GCR_IMAGE }}:latest
49+
${{ env.GCR_IMAGE }}:latest
Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,37 @@
1-
name: Build and push ESP32 image
1+
# Copyright (c) .NET Foundation and Contributors
2+
# See LICENSE file in the project root for full license information.
3+
4+
name: Build Dev Container for ESP32
25

36
env:
47
GCR_IMAGE: ghcr.io/nanoframework/dev-container-esp32
5-
GCR_VERSION: v2.4
68
GCR_FILE: .devcontainer/sources/Dockerfile.ESP32
79

8-
# Controls when the action will run.
910
on:
10-
# Triggers the workflow on push or pull request events but only for the main branch
1111
push:
12-
branches: [ develop ]
13-
paths: [ .devcontainer/sources/Dockerfile.ESP32 ]
12+
branches:
13+
- develop
14+
paths:
15+
- '**Dockerfile.ESP32'
1416

15-
# Allows you to run this workflow manually from the Actions tab
1617
workflow_dispatch:
1718

18-
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
1919
jobs:
20-
# This workflow contains a single job called "build"
2120
build:
22-
# The type of runner that the job will run on
2321
runs-on: ubuntu-latest
2422
steps:
25-
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
23+
2624
- name: Checkout Repository
2725
uses: actions/checkout@v2
2826

27+
- name: Get container version
28+
run: |
29+
$dockerfileContent = Get-Content(".devcontainer/Dockerfile.ESP32")
30+
$dockerfileContent -match '(?<=\:)(?:[v]\d+.\d+)'
31+
$containerVersion = $Matches[0].ToString()
32+
echo "GCR_VERSION=$containerVersion" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
33+
shell: pwsh
34+
2935
- name: Login to GitHub Container Registry
3036
uses: docker/login-action@v1
3137
with:
@@ -40,4 +46,4 @@ jobs:
4046
push: true # Will only build if this is not here
4147
tags: |
4248
${{ env.GCR_IMAGE }}:${{ env.GCR_VERSION }}
43-
${{ env.GCR_IMAGE }}:latest
49+
${{ env.GCR_IMAGE }}:latest

0 commit comments

Comments
 (0)