Skip to content

Commit 23b0781

Browse files
committed
Forward port changes from v0.6 release branch
Merge fixes from release-0.6 into main branch.
2 parents 7b3c462 + 6e9f601 commit 23b0781

File tree

15 files changed

+59
-46
lines changed

15 files changed

+59
-46
lines changed

.github/workflows/codeql-analysis.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ concurrency:
3939
jobs:
4040
analyze:
4141
name: Analyze
42-
runs-on: ubuntu-latest
42+
runs-on: ubuntu-24.04
4343
permissions:
4444
actions: read
4545
contents: read
@@ -61,7 +61,7 @@ jobs:
6161
uses: actions/checkout@v4
6262

6363
- name: "Initialize CodeQL"
64-
uses: github/codeql-action/init@v2
64+
uses: github/codeql-action/init@v3
6565
with:
6666
languages: ${{ matrix.language }}
6767
queries: +./code-queries/term-to-non-term-func.ql,./code-queries/non-term-to-term-func.ql
@@ -74,4 +74,4 @@ jobs:
7474
ninja
7575
7676
- name: "Perform CodeQL Analysis"
77-
uses: github/codeql-action/analyze@v2
77+
uses: github/codeql-action/analyze@v3

.github/workflows/esp32-build.yaml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ concurrency:
2929

3030
jobs:
3131
esp-idf:
32-
runs-on: ubuntu-latest
32+
runs-on: ubuntu-24.04
3333
container: espressif/idf:${{ matrix.idf-version }}
3434

3535
strategy:
@@ -39,15 +39,16 @@ jobs:
3939
esp-idf-target: ["esp32", "esp32c3"]
4040
idf-version:
4141
- 'v5.0.7'
42-
- 'v5.1.4'
43-
- 'v5.2.2'
44-
- 'v5.3.1'
42+
- 'v5.1.5'
43+
- 'v5.2.3'
44+
- 'v5.3.2'
45+
- 'v5.4'
4546

4647
exclude:
4748
- esp-idf-target: "esp32c3"
4849
idf-version: 'v5.0.7'
4950
- esp-idf-target: "esp32c3"
50-
idf-version: 'v5.1.4'
51+
idf-version: 'v5.1.5'
5152
steps:
5253
- name: Checkout repo
5354
uses: actions/checkout@v4

.github/workflows/esp32-mkimage.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737

3838
strategy:
3939
matrix:
40-
idf-version: ["5.3.1"]
40+
idf-version: ["5.3.2"]
4141
cc: ["clang-14"]
4242
cxx: ["clang++-14"]
4343
cflags: ["-O3"]

.github/workflows/esp32-simtest.yaml

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,26 @@ jobs:
5959
fail-fast: false
6060
# focus on device diversity.
6161
matrix:
62-
esp-idf-target: ["esp32", "esp32s2", "esp32s3", "esp32c3", "esp32c6"]
63-
idf-version: ${{ ((contains(github.event.head_commit.message, 'full_sim_test')||contains(github.event.pull_request.title, 'full_sim_test')) && fromJSON('["v5.1.5", "v5.2.3", "v5.3.2", "v5.4-beta1"]')) || fromJSON('["v5.3.2"]') }}
64-
include:
62+
esp-idf-target:
63+
[
64+
"esp32",
65+
"esp32s2",
66+
"esp32s3",
67+
"esp32c3",
68+
"esp32c6",
69+
"esp32h2",
70+
"esp32p4",
71+
]
72+
idf-version: ${{ ((contains(github.event.head_commit.message, 'full_sim_test')||contains(github.event.pull_request.title, 'full_sim_test')) && fromJSON('["v5.1.5", "v5.2.3", "v5.3.2", "v5.4"]')) || fromJSON('["v5.3.2"]') }}
73+
exclude:
6574
- esp-idf-target: "esp32p4"
66-
idf-version: "v5.3.2"
75+
idf-version: "v5.1.5"
76+
- esp-idf-target: "esp32p4"
77+
idf-version: "v5.2.3"
78+
- esp-idf-target: "esp32h2"
79+
idf-version: "v5.1.5"
6780
- esp-idf-target: "esp32h2"
68-
idf-version: "v5.3.2"
81+
idf-version: "v5.2.3"
6982

7083
steps:
7184
- name: Checkout repo

.github/workflows/pico-build.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ concurrency:
3333

3434
jobs:
3535
pico:
36-
runs-on: ubuntu-22.04
36+
runs-on: ubuntu-24.04
3737
strategy:
3838
matrix:
3939
board: ["pico", "pico_w", "pico2"]

.github/workflows/reuse-lint.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ concurrency:
1212

1313
jobs:
1414
test:
15-
runs-on: ubuntu-latest
15+
runs-on: ubuntu-24.04
1616
steps:
1717
- uses: actions/checkout@v4
1818
- name: REUSE Compliance Check

.github/workflows/stm32-build.yaml

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,6 @@ jobs:
4444
https://repo.hex.pm
4545
https://cdn.jsdelivr.net/hex
4646
47-
- name: Install arm-embedded toolchain
48-
if: ${{ steps.builddeps-cache.outputs.cache-hit != 'true' }}
49-
working-directory: /home/runner
50-
run: |
51-
set -euo pipefail
52-
cd /home/runner
53-
wget https://developer.arm.com/-/media/Files/downloads/gnu/11.3.rel1/binrel/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-eabi.tar.xz \
54-
--output-document=$RUNNER_TEMP/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-eabi.tar.xz
55-
tar xJf $RUNNER_TEMP/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-eabi.tar.xz
56-
pwd && ls
57-
5847
- name: Checkout and build libopencm3
5948
if: ${{ steps.builddeps-cache.outputs.cache-hit != 'true' }}
6049
working-directory: /home/runner
@@ -71,7 +60,7 @@ jobs:
7160
run: sudo apt update
7261

7362
- name: "Install deps"
74-
run: sudo apt install -y cmake gperf
63+
run: sudo apt install -y cmake gperf gcc-arm-none-eabi
7564

7665
- name: Checkout repo
7766
uses: actions/checkout@v4

.github/workflows/wasm-build.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ jobs:
7878

7979
wasm_build_and_test_node:
8080
needs: compile_tests
81-
runs-on: ubuntu-latest
81+
runs-on: ubuntu-24.04
8282
container: emscripten/emsdk
8383
steps:
8484
- name: Checkout repo
@@ -146,7 +146,7 @@ jobs:
146146
src/platforms/emscripten/build/src/AtomVM-node-${{ github.ref_name }}.wasm.sha256
147147
148148
wasm_build_web:
149-
runs-on: ubuntu-latest
149+
runs-on: ubuntu-24.04
150150
container: emscripten/emsdk
151151
steps:
152152
- name: Checkout repo
@@ -176,7 +176,7 @@ jobs:
176176

177177
wasm_test_web:
178178
needs: [compile_tests, wasm_build_web]
179-
runs-on: ubuntu-latest
179+
runs-on: ubuntu-24.04
180180
steps:
181181
- name: Checkout repo
182182
uses: actions/checkout@v4

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ certain VM instructions are used.
4343
- Fixed an issue where a timeout would occur immediately in a race condition
4444
- Fixed SPI close command
4545
- Added missing lock on socket structure
46+
- Fixed a race condition affecting multi-core MCUs where a timeout would not be properly cleared
47+
- Fixed a double free when esp32 uart driver was closed, yielding an assert abort
48+
- Fixed compilation with latest debian gcc-arm-none-eabi
4649

4750
## [0.6.5] - 2024-10-15
4851

doc/release-notes.md.in

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,10 @@ AtomVM currently supports the following versions of ESP-IDF:
6868
| IDF SDK supported versions | AtomVM support |
6969
|------------------------------|----------------|
7070
| ESP-IDF [v5.0](https://docs.espressif.com/projects/esp-idf/en/v5.0.7/esp32/get-started/index.html) | ✅ |
71-
| ESP-IDF [v5.1](https://docs.espressif.com/projects/esp-idf/en/v5.1.4/esp32/get-started/index.html) | ✅ |
72-
| ESP-IDF [v5.2](https://docs.espressif.com/projects/esp-idf/en/v5.2.2/esp32/get-started/index.html) | ✅ |
73-
| ESP-IDF [v5.3](https://docs.espressif.com/projects/esp-idf/en/v5.3/esp32/get-started/index.html) | ✅ |
71+
| ESP-IDF [v5.1](https://docs.espressif.com/projects/esp-idf/en/v5.1.5/esp32/get-started/index.html) | ✅ |
72+
| ESP-IDF [v5.2](https://docs.espressif.com/projects/esp-idf/en/v5.2.3/esp32/get-started/index.html) | ✅ |
73+
| ESP-IDF [v5.3](https://docs.espressif.com/projects/esp-idf/en/v5.3.2/esp32/get-started/index.html) | ✅ |
74+
| ESP-IDF [v5.4](https://docs.espressif.com/projects/esp-idf/en/v5.4/esp32/get-started/index.html) | ✅ |
7475

7576
Building the AtomVM virtual machine for ESP32 is optional. In most cases, you can simply download a release image from the AtomVM [release](https://github.com/atomvm/AtomVM/releases) repository. If you wish to work on development of the VM or use one on the additional drivers that are available in the [AtomVM repositories](https://github.com/atomvm) you will to build AtomVM from source. See the [Build Instructions](build-instructions.md) for information about how to build AtomVM from source code. We recommend you to use the latest subminor (patch) versions for source builds. You can check the current version used for testing in the [esp32-build.yaml](https://github.com/atomvm/AtomVM/actions/workflows/esp32-build.yaml) workflow.
7677

0 commit comments

Comments
 (0)