ci: disable file locking for ci flashing
What changed, and why it matters
This commit changes internal CI (Continuous Integration) scripts used to flash firmware onto test devices during automated builds. It temporarily removes a file-locking wrapper around flashing commands because GitLab was not reliably killing background processes. There is no change to the actual Jade firmware, wallet code, or anything end users install. It is purely a build/test infrastructure adjustment.
No security action needed. Monitor the referenced FIXME items to ensure file locking is re-enabled once GitLab process termination is reliable, preventing CI job collisions on shared serial hardware.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff modifies gitlab/flash.yml, replacing calls wrapped with ./tools/flock.sh $JADESERIALPORT with direct calls to ci_flash.sh / ota_delta_ci.sh. The removed wrapper likely acquired an advisory lock on the serial port to prevent concurrent CI jobs from colliding. The commit comments indicate this is a temporary workaround until GitLab process cleanup is fixed. No source code, cryptography, protocol handling, or device runtime behavior is affected.
Changed components
gitlab/flash.yml CI pipeline definitionInspect captured patch +12 / −4
diff --git a/gitlab/flash.yml b/gitlab/flash.yml
index cd6cd85..99c380e 100644
--- a/gitlab/flash.yml
+++ b/gitlab/flash.yml
@@ -39,7 +39,9 @@ flash_qemu_psram_unamalgamated:
script:
- mv $(echo $CI_JOB_NAME | sed "s/^${CI_JOB_STAGE}/build_test/") build
- cp -a build/sdkconfig ./
- - ./tools/flock.sh $JADESERIALPORT ./ci_flash.sh esp32
+ - ./ci_flash.sh esp32
+ # FIXME: re-enable once gitlab is known to properly kill processes
+ #- ./tools/flock.sh $JADESERIALPORT ./ci_flash.sh esp32
# FIXME: Remove gcov from ./ci_flash.sh and then skip submodules here
# FIXME: Fix v1.0 flashing
allow_failure: true
@@ -68,7 +70,9 @@ flash_jade_ota_delta_ci:
script:
- mv build_test_jade_ci build
- mv build_test_jade_noradio_ci build_noradio
- - ./tools/flock.sh $JADESERIALPORT ./ota_delta_ci.sh
+ - ./ota_delta_ci.sh
+ # FIXME: re-enable once gitlab is known to properly kill processes
+ #- ./tools/flock.sh $JADESERIALPORT ./ota_delta_ci.sh
# Jade v1.1
.flash_jade_v1_1_template:
@@ -100,7 +104,9 @@ flash_jade_ota_delta_v1_1_ci:
script:
- mv build_test_jade_v1_1_ci build
- mv build_test_jade_v1_1_noradio_ci build_noradio
- - ./tools/flock.sh $JADESERIALPORT ./ota_delta_ci.sh
+ - ./ota_delta_ci.sh
+ # FIXME: re-enable once gitlab is known to properly kill processes
+ #- ./tools/flock.sh $JADESERIALPORT ./ota_delta_ci.sh
# Jade v2.0
.flash_jade_v2_template:
@@ -112,7 +118,9 @@ flash_jade_ota_delta_v1_1_ci:
- . $HOME/esp/esp-idf-5.4/export.sh
- mv $(echo $CI_JOB_NAME | sed "s/^${CI_JOB_STAGE}/build_test/") build
- cp build/sdkconfig ./
- - ./tools/flock.sh $JADESERIALPORT ./ci_flash.sh esp32s3
+ - ./ci_flash.sh esp32s3
+ # FIXME: re-enable once gitlab is known to properly kill processes
+ #- ./tools/flock.sh $JADESERIALPORT ./ci_flash.sh esp32s3
flash_jade_v2_ci:
extends: .flash_jade_v2_template
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.