[FL-3243] github: testing SDK with ufbt action (#2581)
* github: testing SDK with ufbt action * github: also build apps with ufbt * github: fixed dir lookup for ufbt * ufbt: checks for compatibility on app discovery * github: Conditional app skip for ufbt * github: fixed app build flow with ufbt * extra debug * github: lint: message capture * github: testing different output capture method for linters * shorter version of status check * github: updated comment actions to suppress warnings * Reverted formatting changes Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
from SCons.Platform import TempFileMunge
|
||||
from SCons.Node import FS
|
||||
from SCons.Errors import UserError
|
||||
from SCons.Warnings import warn, WarningOnByDefault
|
||||
|
||||
|
||||
import os
|
||||
import multiprocessing
|
||||
@@ -246,7 +248,12 @@ known_extapps = [
|
||||
for apptype in apps_to_build_as_faps
|
||||
for app in appenv["APPBUILD"].get_apps_of_type(apptype, True)
|
||||
]
|
||||
incompatible_apps = []
|
||||
for app in known_extapps:
|
||||
if not app.supports_hardware_target(appenv.subst("f${TARGET_HW}")):
|
||||
incompatible_apps.append(app)
|
||||
continue
|
||||
|
||||
app_artifacts = appenv.BuildAppElf(app)
|
||||
app_src_dir = extract_abs_dir(app_artifacts.app._appdir)
|
||||
app_artifacts.installer = [
|
||||
@@ -254,6 +261,13 @@ for app in known_extapps:
|
||||
appenv.Install(app_src_dir.Dir("dist").Dir("debug"), app_artifacts.debug),
|
||||
]
|
||||
|
||||
if len(incompatible_apps):
|
||||
print(
|
||||
"WARNING: The following apps are not compatible with the current target hardware and will not be built: {}".format(
|
||||
", ".join([app.name for app in incompatible_apps])
|
||||
)
|
||||
)
|
||||
|
||||
if appenv["FORCE"]:
|
||||
appenv.AlwaysBuild([extapp.compact for extapp in apps_artifacts.values()])
|
||||
|
||||
|
Reference in New Issue
Block a user