adafruit / ci-arduino

A script that will install all of the common dependencies for testing Arduino library builds using Github Actions
MIT License
115 stars 73 forks source link

Hack fix for arduino-cli issue with megatinycore BSP URL #163

Closed caternuson closed 11 months ago

caternuson commented 11 months ago

This is hack to get around an issue with the current version of arduino-cli that mangles some BSP URLs: https://github.com/arduino/arduino-cli/issues/2345

This PR uses the suggested fix from: https://github.com/SpenceKonde/megaTinyCore/issues/1005 to simply rename to file to its expected name.

caternuson commented 11 months ago

@ladyada for review

ladyada commented 11 months ago

ok looks like it will be also maybe fixed in arduino-cli at some point (and we will undo this patch)

SpenceKonde commented 11 months ago

Wouldn't it be cool if the Arduino people used their own CI to catch regressions like this? I don't know of any version of the IDE that's free of all of the problems that I would consider showstoppers except for 1.8.13, which has the log4j vulnerability (in 1.8.14, they added a super nasty one. They add bugs as fast as they fix them. That's why I'm still developing with 1.8.13 - the 1.8.x versions since have bad bugs, and 2.x is still severely broken and I keep waiting for a sign that the code is stable to start developing and testing on the new version but, it still looks like this is going to be wasted effort because of the constant churn of fixes and regressions.

It took weeks to determine that no, this wasn't actually related to https, and I use the recommended format for the json file. Seeing as how board manager has broken before, you'd think they'd have set up a dummy core to test installation with.

There's a more direct way to fix this - run with arduino-cli: 0.33.0, which predates the regression (added to workflow actions, on the "with:" list, see https://github.com/SpenceKonde/DxCore/blob/9f1b6385ca868f6c8c763a708028da419c76c8b4/.github/workflows/compile-examples.yml#L327 ), and this works wherever this problem has manifested without having to customize anything.