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

Fix Jade CI build pollution #649

Merged

Conversation

JamieDriver
Copy link
Contributor

@JamieDriver JamieDriver commented Nov 22, 2022

It appears that the Jade CI is being polluted by the output of prior runs. This needs removing, otherwise we're not getting a true clean build for this commit using the current tools, but rather some cached values (now out of date and not applicable) can interfere with the current build.

@JamieDriver JamieDriver changed the title wip: investigate CI build pollution Fix Jade CI build pollution Nov 22, 2022
@JamieDriver JamieDriver force-pushed the clear_prev_build_pollution branch from 6aaa55d to 5191d21 Compare November 22, 2022 11:09
@JamieDriver
Copy link
Contributor Author

JamieDriver commented Nov 24, 2022

The CI here is fixed by forcing the cmake files to be rebuilt.

NOTE: the master build is currently failing with:

CMake Error at /tmp/cirrus-ci-build/test/work/jade/esp-idf/tools/cmake/project.cmake:296 (__project):
  The CMAKE_CXX_COMPILER:
    /tmp/cirrus-ci-build/test/work/jade/esp-idf-tools/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++
  is not a full path to an existing compiler tool.

Note earlier in the build we see:

Installing [email protected]
...
Extracting /tmp/cirrus-ci-build/test/work/jade/esp-idf-tools/dist/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz to /tmp/cirrus-ci-build/test/work/jade/esp-idf-tools/tools/xtensa-esp32-elf/esp-2021r2-patch5-8.4.0

ie. this build installs 'esp-2021r2-patch5-8.4.0', but because of old/cached cmake files, is trying to use 'esp-2021r2-patch3-8.4.0' - which fails because this is not installed.

I can only assume this is happening because these builds are not proper clean builds, but are essentially incrementals (due to the 'work_cache' being copied in) - this is not something we've seen in our own CI.

The fix is to do a 'clean' when building the jade fw image (which is the smallest part of the build anyway, compared to fetching the toolchain repos and building them - which is helped by using the work_cache since we only update them once every few months - the jade 'master' code is usually updated every few days). In any case the Jade C code is entirely rebuilt anyway - this extra 'clean' will just ensure the cmake files are recreated - minimal additional overhead.

@achow101 achow101 merged commit 36ccaf7 into bitcoin-core:master Dec 8, 2022
@JamieDriver JamieDriver deleted the clear_prev_build_pollution branch December 8, 2022 08:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants