feilipu / Arduino_FreeRTOS_Library

A FreeRTOS Library for all Arduino ATmega Devices (Uno R3, Leonardo, Mega, etc).
MIT License
849 stars 205 forks source link

Remove unnecessary config values from CI setup #96

Closed ianfixes closed 3 years ago

ianfixes commented 3 years ago

The EXPECT_* environment variables are felt by the program as either nil or non-nil, which means that both true and false in the action config will evaluate to non-empty strings.... effectively true. This had the effect of expecting unit tests when none should be expected.

ianfixes commented 3 years ago

I was going to wait to see whether the tests passed 😉

ianfixes commented 3 years ago

The remaining error looks like a problem with the platform definition.

Discovered example sketch...                     GoldilocksAnalogueTestSuite.ino
Requested library example platform 'Goldilocks Analogue' is defined in 'platforms' YML... ✓
Configured platforms that match architectures in library.properties... 
    Goldilocks Analogue
...Configured platforms that match architectures in library.properties          
Installing dependency of <compile/libraries>: 'AVR Standard C Time Library'... ✓
Installing dependency of <compile/libraries>: 'Goldilocks Analogue DAC Library'... ✓
Installing dependency of <compile/libraries>: 'Goldilocks Analogue SPI RAM Library'... ✓
Compiling GoldilocksAnalogueTestSuite.ino for Goldilocks:avr:"Goldilocks Analogue"... 
Last command:  $  /usr/local/bin/arduino-cli --format json compile --fqbn Goldilocks:avr:"Goldilocks Analogue" --warnings all --dry-run /github/home/Arduino/libraries/FreeRTOS/examples/GoldilocksAnalogueTestSuite/GoldilocksAnalogueTestSuite.ino
Error during build: platform not installed
✗

I'm not familiar enough with that architecture to say what the fix should be.

feilipu commented 3 years ago

Just one failure now, related to the special platform "Goldilocks Analogue". All the libraries seem to be properly installed for the build, which is great!

So, somehow I've not got the language to get the variant files for Goldilocks Analogue properly installed. This is standard AVR platform, but just an additional variant file.

My attempt to get it right is here... thoughts?

Perhaps it needs to say below instead?

    package: Goldilocks:avr
ianfixes commented 3 years ago

My first thought was that it was a problem in the string quoting of Goldilocks:avr:"Goldilocks Analogue" but I'm wondering if I'm even attempting to install a platform if it's first defined in an example dir. I'm checking that now.

ianfixes commented 3 years ago

The answer is in the board name

$ arduino-cli board listall | grep -i goldilocks
Goldilocks 20MHz                    Goldilocks:avr:goldilocks_20MHz
Goldilocks 22.1184MHz               Goldilocks:avr:goldilocks_22MHz
Goldilocks Analogue                 Goldilocks:avr:goldilocks_analogue
-     board: Goldilocks:avr:"Goldilocks Analogue"
+     board: Goldilocks:avr:goldilocks_analogue
feilipu commented 3 years ago

Perfect (nearly, just needed to add the SD library).

But, TBH, I've no idea why the board is referred to as goldilocks_analogue. I don't have a definition like that anywhere AFAIK???

Anyway. Fixed and green tick. :heavy_check_mark:

ianfixes commented 3 years ago

I couldn't say how any of the internals work; my knowledge of architectures/platforms/boards extends only as far as knowing what strings to send to the arduino-cli executable that I use as a backend.

Thanks for helping me find a few ways to improve this!