Skip to content

Conversation

C47D
Copy link

@C47D C47D commented Jul 19, 2019

Still a draft and my python isn't perfect so let me know if I'm doing something silly.

TODO:

  • Get the boards from the json returned by build_board_info (the board names are in the json keys).
  • Get all the boards based on the lines that contain TRAVIS_BOARDS on the .travis.yml file.
  • Compare both results.
  • Profit!

EDIT:
Now i have two lists with the boards names got from board_info and TRAVIS_BOARDS:

============
Info boards
===========


arduino_mkr1300
arduino_mkrzero
arduino_zero
bast_pro_mini_m0
capablerobot_usbhub
catwan_usbstick
circuitplayground_express
circuitplayground_express_4h
circuitplayground_express_crickit
circuitplayground_express_digikey_pycon2019
cp32-m4
datalore_ip_m4
datum_distance
datum_imu
datum_light
datum_weather
electronut_labs_blip
electronut_labs_papyr
escornabot_makech
feather_m0_adalogger
feather_m0_basic
feather_m0_express
feather_m0_express_crickit
feather_m0_rfm69
feather_m0_rfm9x
feather_m0_supersized
feather_m4_express
feather_nrf52840_express
feather_radiofruit_zigbee
gemma_m0
gemma_m0_pycon2018
grandcentral_m4_express
hallowing_m0_express
itsybitsy_m0_express
itsybitsy_m4_express
kicksat-sprite
makerdiary_nrf52840_mdk
makerdiary_nrf52840_mdk_usb_dongle
meowmeow
metro_m0_express
metro_m4_airlift_lite
metro_m4_express
mini_sam_m4
particle_argon
particle_boron
particle_xenon
pca10056
pca10059
pewpew10
pewpew13
pirkey_m0
pybadge
pybadge_airlift
pygamer
pygamer_advance
pyportal
pyruler
robohatmm1
sam32
sparkfun_lumidrive
sparkfun_nrf52840_mini
sparkfun_redboard_turbo
sparkfun_samd21_dev
sparkfun_samd21_mini
trellis_m4_express
trinket_m0
trinket_m0_haxpress
uchip
ugame10


============
Travis boards
===========


arduino_mkr1300
arduino_mkrzero
arduino_zero
bast_pro_mini_m0
capablerobot_usbhub
catwan_usbstick
circuitplayground_express
circuitplayground_express_crickit
datum_distance
datum_imu
datum_light
datum_weather
electronut_labs_blip
electronut_labs_papyr
escornabot_makech
feather_m0_adalogger
feather_m0_basic
feather_m0_express
feather_m0_express_crickit
feather_m0_rfm69
feather_m0_rfm9x
feather_m4_express
feather_nrf52840_express
feather_radiofruit_zigbee
gemma_m0
grandcentral_m4_express
hallowing_m0_express
itsybitsy_m0_express
itsybitsy_m4_express
kicksat-sprite
makerdiary_nrf52840_mdk
makerdiary_nrf52840_mdk_usb_dongle
meowmeow
metro_m0_express
metro_m4_airlift_lite
metro_m4_express
mini_sam_m4
particle_argon
particle_boron
particle_xenon
pca10056
pca10059
pewpew10
pirkey_m0
pybadge
pybadge_airlift
pygamer
pygamer_advance
pyportal
pyruler
robohatmm1
sam32
sparkfun_lumidrive
sparkfun_nrf52840_mini
sparkfun_redboard_turbo
sparkfun_samd21_dev
sparkfun_samd21_mini
trellis_m4_express
trinket_m0
uchip
ugame10

@C47D
Copy link
Author

C47D commented Jul 19, 2019

Output of the script:

Boards missing in TRAVIS_BOARDS:
datalore_ip_m4
pewpew13
trinket_m0_haxpress
cp32-m4
gemma_m0_pycon2018
circuitplayground_express_digikey_pycon2019
circuitplayground_express_4h
feather_m0_supersized

@C47D C47D requested review from sommersoft and tannewt July 19, 2019 18:03
Copy link

@sommersoft sommersoft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! In addition to the change marked, could you go ahead and add the command to run the script to .travis.yml so we can see how Travis treats it?

@C47D
Copy link
Author

C47D commented Jul 19, 2019

Looks good! In addition to the change marked, could you go ahead and add the command to run the script to .travis.yml so we can see how Travis treats it?

Done, let me know if i did something wrong :)

@C47D C47D requested a review from sommersoft July 19, 2019 22:02
Copy link

@sommersoft sommersoft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I waited until the build finished just to make sure. It works! Well done! 👏
Annotation 2019-07-19 174840 PNG

Copy link

@sommersoft sommersoft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd say the placement is good in the Travis. That's my opinion though, and easily overruled. 😄

Found one last thing, and then I'll approve. I won't merge though, as I'd like @tannewt to weigh in on it, and I have an open question:

  • Are there any boards that actually should be ignored? Like say trinket_m0_haxpress?

@C47D
Copy link
Author

C47D commented Jul 20, 2019

About the boards to ignore, i think we can make a list of boards to ignore and remove them from the missing_boards list after missing_boards = list(set(info_boards) - set(travis_boards)).

I will be away from the keyboard for a couple of days, can you do the lasts fixes?

@sommersoft
Copy link

I will be away from the keyboard for a couple of days, can you do the lasts fixes?

I should be able to handle it. Just a matter of git cooperating. 😄

sommersoft
sommersoft previously approved these changes Jul 21, 2019
Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for doing this!

I think we should either add the boards to travis if we want to keep them on the downloads page or delete the board def if they aren't worth it. I'd choose to just add them for now. We'll need to speed up the build regardless of whether we build these four extra boards.

Also, did someone manually stop the last test job? I'd hope that the rest of the build continues if this test fails. It's important to find as many failures in a single build since they take so long.

@C47D
Copy link
Author

C47D commented Jul 23, 2019

Hi, there's a sys.exit(1) in case of any missing boards, if it's more convenient we can only print the missing board and let the tests continue. I would like to finish this tomorrow morning if @sommersoft agree.

@sommersoft
Copy link

sommersoft commented Jul 23, 2019

Also, did someone manually stop the last test job? I'd hope that the rest of the build continues if this test fails. It's important to find as many failures in a single build since they take so long.

That's on me. I recommended that this be placed in the before_script section. Ironically, for the same reason that builds take so long. Ostensibly, after this is initially merged, the only time a board will be missing from TRAVIS_BOARDS is when one is added. I felt its better to fail fast on that, instead of waiting for the build to finish only to find that the new board didn't build.

@tannewt
Copy link
Member

tannewt commented Jul 25, 2019

@sommersoft failing fast is interesting actually! That makes sense since it'll have to be run anyway.

@C47D We definitely do want to fail. It's just a question of when. I'd suggest adding the sys.exit back and adding the missing boards to .travis.yml so the build passes.

Thank you both!

@C47D
Copy link
Author

C47D commented Jul 25, 2019

@tannewt I've fixed both requests, I added all the missing TRAVIS_BOARDS to travis.yml

@C47D
Copy link
Author

C47D commented Jul 25, 2019

I think the only board that isn't properly building is trinket_m0_haxpress:

Build trinket_m0_haxpress for zh_Latn_pinyin took 17.81s and failed
make: Entering directory '/home/travis/build/adafruit/circuitpython/ports/atmel-samd'
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.
-184 bytes free in flash out of 253440 bytes ( 247.5 kb ).
24664 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).
Too little flash!!!
Makefile:313: recipe for target 'build-trinket_m0_haxpress/firmware.elf' failed
make: *** [build-trinket_m0_haxpress/firmware.elf] Error 255
make: *** Deleting file 'build-trinket_m0_haxpress/firmware.elf'
make: Leaving directory '/home/travis/build/adafruit/circuitpython/ports/atmel-samd'

tannewt added 2 commits July 25, 2019 22:54
Adding another means a build would be 6 concurrent jobs and make two not fit side by side in the 10 total we have.
tannewt
tannewt previously approved these changes Jul 26, 2019
Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tweaked a couple small things to get it to build and then this should be ready. Thank you so much!

@tannewt tannewt changed the title [Draft] Add check to travis to make sure new boards are built, fix #1886 Add check to travis to make sure new boards are built, fix #1886 Jul 26, 2019
Make it match feather_m0_express
@C47D
Copy link
Author

C47D commented Jul 27, 2019

@sommersoft @tannewt np, always happy to help and learn new things :)

Copy link

@sommersoft sommersoft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will definitely be a useful check! Thanks again @C47D.

@sommersoft sommersoft merged commit 8eab946 into adafruit:master Jul 29, 2019
@C47D C47D deleted the travis_check_new_boards branch July 29, 2019 05:12
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.

3 participants