diff options
| author | wallarug <wallarug@coliemore.com.au> | 2019-07-29 21:53:49 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-07-29 21:53:49 +1000 |
| commit | dc1eb73ee7c8b2da1e7082acd86723a05c693104 (patch) | |
| tree | 010b2b6ebf4e2278a50c4d8874443118a83578ab /tools | |
| parent | 8974c7e8434ee343480b8e2f15a83bd842550318 (diff) | |
| parent | 8eab946c5b921f49e3de673a7d6eac553789af25 (diff) | |
Merge branch 'master' into wallarug-robohat
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/travis_new_boards_check.py | 51 |
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) |
