summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorDave Astels <dastels@daveastels.com>2019-07-31 18:46:41 -0400
committerDave Astels <dastels@daveastels.com>2019-07-31 18:46:41 -0400
commitcd092df9d875d444cf110fc0a1dbb427b261bf8a (patch)
treee0d2da5d55335a485d75cd2ada2e3d70e9fb2ccc /tools
parent1f9cb44fa3a09996d042b7b9e01864bf2feac363 (diff)
parent366fdcce18e148a6828b7a7074e1e4198fca3595 (diff)
Merge remote-tracking branch 'adafruit/master' into displayio_fill_area
Diffstat (limited to 'tools')
-rw-r--r--tools/travis_new_boards_check.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/tools/travis_new_boards_check.py b/tools/travis_new_boards_check.py
new file mode 100644
index 000000000..5ae05aec4
--- /dev/null
+++ b/tools/travis_new_boards_check.py
@@ -0,0 +1,51 @@
+#! /usr/bin/env python3
+
+import sys
+import os
+import json
+
+import build_board_info
+
+# Get boards in json format
+boards_info_json = build_board_info.get_board_mapping()
+
+# Get all the boards out of the json format
+info_boards = [board for board in boards_info_json.keys() if not boards_info_json[board].get("alias", False)]
+
+# We need to know the path of the .travis.yml file
+base_path = os.path.dirname(__file__)
+travis_path = os.path.abspath(os.path.join(base_path, '..', '.travis.yml'))
+
+# Loading board list based on TRAVIS_BOARDS env variable on .travis.yml
+travis_boards = []
+with open(travis_path, 'r') as travis:
+
+ # Get all lines that contain the substring 'TRAVIS_BOARDS'
+ for line in travis:
+
+ # Get the lines with TRAVIS_BOARDS= in it
+ if line.find('TRAVIS_BOARDS=') is not -1:
+ # Store all the boards names into travis_boards
+ begin_of_names = line.find('TRAVIS_BOARDS=') + len('TRAVIS_BOARDS=') + 1
+ end_of_names = line.rfind('"')
+ boards = line[begin_of_names:end_of_names]
+ boards = boards.split(' ')
+ travis_boards.extend(boards)
+
+ # We've reached the end of the env: section
+ elif 'addons' in line:
+ break
+ else:
+ pass
+
+# All the travis_boards elements must be on info_boards
+info_boards.sort()
+travis_boards.sort()
+
+missing_boards = set(info_boards) - set(travis_boards)
+
+if missing_boards:
+ print('Boards missing in TRAVIS_BOARDS:')
+ for board in missing_boards:
+ print(board)
+ sys.exit(1)