summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorHendra Kusumah <h.kusumah87@gmail.com>2019-01-09 01:46:55 +0700
committerGitHub <noreply@github.com>2019-01-09 01:46:55 +0700
commit025852c80548dacd60a73aa94eaa74dd8e09ea68 (patch)
treea3c25f77d019270d4475ce509d7fbd2bba611a83 /tools
parent57c2c4134c52405b78e8d9cd8ed0ed05fefc2827 (diff)
parent172311fad896fdb0780bdd6597b0b6d4d8bdadd3 (diff)
Merge pull request #1 from adafruit/master
update from original
Diffstat (limited to 'tools')
-rw-r--r--tools/build_board_info.py22
-rwxr-xr-xtools/build_release_files.py (renamed from tools/build_adafruit_bins.py)12
-rwxr-xr-xtools/tinytest-codegen.py8
3 files changed, 28 insertions, 14 deletions
diff --git a/tools/build_board_info.py b/tools/build_board_info.py
index 0e9389a02..379cf55c4 100644
--- a/tools/build_board_info.py
+++ b/tools/build_board_info.py
@@ -21,21 +21,29 @@ HEX = ('hex',)
# Default extensions
extension_by_port = {
- "nrf": BIN,
+ "nrf": UF2,
"esp8266": BIN,
"atmel-samd": UF2,
}
# Per board overrides
extension_by_board = {
- "feather_nrf52832": BIN,
+ # samd
"arduino_mkr1300": BIN,
"arduino_zero": BIN,
"feather_m0_adalogger": BIN_UF2,
"feather_m0_basic": BIN_UF2,
"feather_m0_rfm69": BIN,
"feather_m0_rfm9x": BIN,
- "makerdiary_nrf52840_mdk": HEX
+
+ # nrf52832
+ "feather_nrf52832": BIN,
+ "pca10040": BIN,
+
+ # nRF52840 dev kits that may not have UF2 bootloaders,
+ "makerdiary_nrf52840_mdk": HEX,
+ "pca10056": BIN_UF2,
+ "pca10059": BIN_UF2
}
def get_languages():
@@ -62,7 +70,7 @@ def get_version_info():
version = None
sha = git("rev-parse", "--short", "HEAD").stdout.decode("utf-8")
try:
- version = git("describe", "--tags", "--exact-match").stdout.decode("utf-8")
+ version = git("describe", "--tags", "--exact-match").stdout.decode("utf-8").strip()
except sh.ErrorReturnCode_128:
# No exact match
pass
@@ -212,7 +220,7 @@ def generate_download_info():
board_path = os.path.join("../ports", port, "boards")
for board_path in os.scandir(board_path):
if board_path.is_dir():
- board_files = os.listdir(board_path)
+ board_files = os.listdir(board_path.path)
board_id = board_path.name
board_info = board_mapping[board_id]
@@ -236,8 +244,10 @@ def generate_download_info():
changes["new_languages"] = set(languages) - previous_languages
- if changes["new_languages"]:
+ if changes["new_release"]:
create_pr(changes, current_info, git_info)
+ else:
+ print("No new release to update")
if __name__ == "__main__":
if "TRAVIS_TAG" in os.environ and os.environ["TRAVIS_TAG"]:
diff --git a/tools/build_adafruit_bins.py b/tools/build_release_files.py
index 94c31ad33..6bf418fe6 100755
--- a/tools/build_adafruit_bins.py
+++ b/tools/build_release_files.py
@@ -1,6 +1,4 @@
import os
-from sh import rm
-from sh import make
import sys
import subprocess
import shutil
@@ -8,7 +6,7 @@ import build_board_info as build_info
import time
for port in build_info.SUPPORTED_PORTS:
- rm("-rf", "../ports/{}/build*".format(port))
+ result = subprocess.run("rm -rf ../ports/{}/build*".format(port), shell=True)
ROSIE_SETUPS = ["rosie-ci"]
rosie_ok = {}
@@ -60,8 +58,9 @@ for board in build_boards:
if travis:
print('travis_fold:start:adafruit-bins-{}-{}\\r'.format(language, board))
print("Build {} for {} took {:.2f}s and {}".format(board, language, build_duration, success))
- print(make_result.stdout.decode("utf-8"))
- print(other_output)
+ if make_result.returncode != 0:
+ print(make_result.stdout.decode("utf-8"))
+ print(other_output)
# Only upload to Rosie if its a pull request.
if travis:
for rosie in ROSIE_SETUPS:
@@ -72,6 +71,7 @@ for board in build_boards:
if travis:
print('travis_fold:end:adafruit-bins-{}-{}\\r'.format(language, board))
- print()
+ # Flush so travis will see something before 10 minutes has passed.
+ print(flush=True)
sys.exit(exit_status)
diff --git a/tools/tinytest-codegen.py b/tools/tinytest-codegen.py
index 7f14db4ba..7a48f8a9a 100755
--- a/tools/tinytest-codegen.py
+++ b/tools/tinytest-codegen.py
@@ -23,7 +23,7 @@ def chew_filename(t):
def script_to_map(test_file):
r = {"name": chew_filename(test_file)["func"]}
- with open(t) as test:
+ with open(test_file, "rb") as test:
script = test.readlines()
# Test for import skip_if and inject it into the test as needed.
@@ -39,7 +39,11 @@ def script_to_map(test_file):
continue
script.insert(index + total_lines, "\t" + line)
total_lines += 1
- r['script'] = escape(''.join(script))
+ r['script'] = escape(b''.join(script))
+
+ with open(test_file + ".exp", "rb") as f:
+ r["output"] = escape(f.read())
+
return r
test_function = (