This commit is contained in:
Ken Van Hoeylandt
2025-09-23 22:36:36 +02:00
parent 8bd70313fa
commit dc8b1ab114
5 changed files with 31 additions and 10 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ runs:
- name: 'Upload Artifact' - name: 'Upload Artifact'
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: Tactility-Apps name: ${{ inputs.app_name }}
path: Apps/${{ inputs.app_name}}/build/${{ inputs.app_name }}.app path: Apps/${{ inputs.app_name}}/build/${{ inputs.app_name }}.app
retention-days: 30 retention-days: 30
+10 -3
View File
@@ -14,13 +14,14 @@ import shutil
import configparser import configparser
ttbuild_path = ".tactility" ttbuild_path = ".tactility"
ttbuild_version = "2.2.0" ttbuild_version = "2.3.0"
ttbuild_cdn = "https://cdn.tactility.one" ttbuild_cdn = "https://cdn.tactility.one"
ttbuild_sdk_json_validity = 3600 # seconds ttbuild_sdk_json_validity = 3600 # seconds
ttport = 6666 ttport = 6666
verbose = False verbose = False
use_local_sdk = False use_local_sdk = False
valid_platforms = ["esp32", "esp32s3"] valid_platforms = ["esp32", "esp32s3"]
no_anmimations = False
spinner_pattern = [ spinner_pattern = [
"", "",
@@ -71,6 +72,7 @@ def print_help():
print(" --local-sdk Use SDK specified by environment variable TACTILITY_SDK_PATH") print(" --local-sdk Use SDK specified by environment variable TACTILITY_SDK_PATH")
print(" --skip-build Run everything except the idf.py/CMake commands") print(" --skip-build Run everything except the idf.py/CMake commands")
print(" --verbose Show extra console output") print(" --verbose Show extra console output")
print(" --no-animations Disable animations during building (e.g. for CI jobs)")
# region Core # region Core
@@ -319,13 +321,17 @@ def build_all(version, platforms, skip_build):
break break
def wait_for_build(process, platform): def wait_for_build(process, platform):
global no_animations
buffer = [] buffer = []
os.set_blocking(process.stdout.fileno(), False) os.set_blocking(process.stdout.fileno(), False)
if no_animations:
print(f"Building for {platform}")
while process.poll() is None: while process.poll() is None:
for i in spinner_pattern: for i in spinner_pattern:
time.sleep(0.1) time.sleep(0.1)
progress_text = f"Building for {platform} {shell_color_cyan}" + str(i) + shell_color_reset if not no_animations:
sys.stdout.write(progress_text + "\r") progress_text = f"Building for {platform} {shell_color_cyan}" + str(i) + shell_color_reset
sys.stdout.write(progress_text + "\r")
while True: while True:
line = process.stdout.readline() line = process.stdout.readline()
decoded_line = line.decode("UTF-8") decoded_line = line.decode("UTF-8")
@@ -566,6 +572,7 @@ if __name__ == "__main__":
verbose = "--verbose" in sys.argv verbose = "--verbose" in sys.argv
skip_build = "--skip-build" in sys.argv skip_build = "--skip-build" in sys.argv
use_local_sdk = "--local-sdk" in sys.argv use_local_sdk = "--local-sdk" in sys.argv
no_animations = "--no-animations" in sys.argv
# Environment setup # Environment setup
setup_environment() setup_environment()
if not os.path.isfile("manifest.properties"): if not os.path.isfile("manifest.properties"):
+10 -3
View File
@@ -14,13 +14,14 @@ import shutil
import configparser import configparser
ttbuild_path = ".tactility" ttbuild_path = ".tactility"
ttbuild_version = "2.2.0" ttbuild_version = "2.3.0"
ttbuild_cdn = "https://cdn.tactility.one" ttbuild_cdn = "https://cdn.tactility.one"
ttbuild_sdk_json_validity = 3600 # seconds ttbuild_sdk_json_validity = 3600 # seconds
ttport = 6666 ttport = 6666
verbose = False verbose = False
use_local_sdk = False use_local_sdk = False
valid_platforms = ["esp32", "esp32s3"] valid_platforms = ["esp32", "esp32s3"]
no_anmimations = False
spinner_pattern = [ spinner_pattern = [
"", "",
@@ -71,6 +72,7 @@ def print_help():
print(" --local-sdk Use SDK specified by environment variable TACTILITY_SDK_PATH") print(" --local-sdk Use SDK specified by environment variable TACTILITY_SDK_PATH")
print(" --skip-build Run everything except the idf.py/CMake commands") print(" --skip-build Run everything except the idf.py/CMake commands")
print(" --verbose Show extra console output") print(" --verbose Show extra console output")
print(" --no-animations Disable animations during building (e.g. for CI jobs)")
# region Core # region Core
@@ -319,13 +321,17 @@ def build_all(version, platforms, skip_build):
break break
def wait_for_build(process, platform): def wait_for_build(process, platform):
global no_animations
buffer = [] buffer = []
os.set_blocking(process.stdout.fileno(), False) os.set_blocking(process.stdout.fileno(), False)
if no_animations:
print(f"Building for {platform}")
while process.poll() is None: while process.poll() is None:
for i in spinner_pattern: for i in spinner_pattern:
time.sleep(0.1) time.sleep(0.1)
progress_text = f"Building for {platform} {shell_color_cyan}" + str(i) + shell_color_reset if not no_animations:
sys.stdout.write(progress_text + "\r") progress_text = f"Building for {platform} {shell_color_cyan}" + str(i) + shell_color_reset
sys.stdout.write(progress_text + "\r")
while True: while True:
line = process.stdout.readline() line = process.stdout.readline()
decoded_line = line.decode("UTF-8") decoded_line = line.decode("UTF-8")
@@ -566,6 +572,7 @@ if __name__ == "__main__":
verbose = "--verbose" in sys.argv verbose = "--verbose" in sys.argv
skip_build = "--skip-build" in sys.argv skip_build = "--skip-build" in sys.argv
use_local_sdk = "--local-sdk" in sys.argv use_local_sdk = "--local-sdk" in sys.argv
no_animations = "--no-animations" in sys.argv
# Environment setup # Environment setup
setup_environment() setup_environment()
if not os.path.isfile("manifest.properties"): if not os.path.isfile("manifest.properties"):
+10 -3
View File
@@ -14,13 +14,14 @@ import shutil
import configparser import configparser
ttbuild_path = ".tactility" ttbuild_path = ".tactility"
ttbuild_version = "2.2.0" ttbuild_version = "2.3.0"
ttbuild_cdn = "https://cdn.tactility.one" ttbuild_cdn = "https://cdn.tactility.one"
ttbuild_sdk_json_validity = 3600 # seconds ttbuild_sdk_json_validity = 3600 # seconds
ttport = 6666 ttport = 6666
verbose = False verbose = False
use_local_sdk = False use_local_sdk = False
valid_platforms = ["esp32", "esp32s3"] valid_platforms = ["esp32", "esp32s3"]
no_anmimations = False
spinner_pattern = [ spinner_pattern = [
"", "",
@@ -71,6 +72,7 @@ def print_help():
print(" --local-sdk Use SDK specified by environment variable TACTILITY_SDK_PATH") print(" --local-sdk Use SDK specified by environment variable TACTILITY_SDK_PATH")
print(" --skip-build Run everything except the idf.py/CMake commands") print(" --skip-build Run everything except the idf.py/CMake commands")
print(" --verbose Show extra console output") print(" --verbose Show extra console output")
print(" --no-animations Disable animations during building (e.g. for CI jobs)")
# region Core # region Core
@@ -319,13 +321,17 @@ def build_all(version, platforms, skip_build):
break break
def wait_for_build(process, platform): def wait_for_build(process, platform):
global no_animations
buffer = [] buffer = []
os.set_blocking(process.stdout.fileno(), False) os.set_blocking(process.stdout.fileno(), False)
if no_animations:
print(f"Building for {platform}")
while process.poll() is None: while process.poll() is None:
for i in spinner_pattern: for i in spinner_pattern:
time.sleep(0.1) time.sleep(0.1)
progress_text = f"Building for {platform} {shell_color_cyan}" + str(i) + shell_color_reset if not no_animations:
sys.stdout.write(progress_text + "\r") progress_text = f"Building for {platform} {shell_color_cyan}" + str(i) + shell_color_reset
sys.stdout.write(progress_text + "\r")
while True: while True:
line = process.stdout.readline() line = process.stdout.readline()
decoded_line = line.decode("UTF-8") decoded_line = line.decode("UTF-8")
@@ -566,6 +572,7 @@ if __name__ == "__main__":
verbose = "--verbose" in sys.argv verbose = "--verbose" in sys.argv
skip_build = "--skip-build" in sys.argv skip_build = "--skip-build" in sys.argv
use_local_sdk = "--local-sdk" in sys.argv use_local_sdk = "--local-sdk" in sys.argv
no_animations = "--no-animations" in sys.argv
# Environment setup # Environment setup
setup_environment() setup_environment()
if not os.path.isfile("manifest.properties"): if not os.path.isfile("manifest.properties"):