mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-09-21 10:48:14 +00:00
ci: only upload artifacts in libsdl-org GitHub organization
This commit is contained in:
37
.github/workflows/create-test-plan.py
vendored
37
.github/workflows/create-test-plan.py
vendored
@@ -198,13 +198,14 @@ class JobDetails:
|
||||
cpactions_install_cmd: str = ""
|
||||
setup_vita_gles_type: str = ""
|
||||
|
||||
def to_workflow(self) -> dict[str, str|bool]:
|
||||
def to_workflow(self, enable_artifacts) -> dict[str, str|bool]:
|
||||
data = {
|
||||
"name": self.name,
|
||||
"os": self.os,
|
||||
"container": self.container if self.container else "",
|
||||
"platform": self.platform,
|
||||
"artifact": self.artifact,
|
||||
"enable-artifacts": enable_artifacts,
|
||||
"shell": self.shell,
|
||||
"msys2-msystem": self.msys2_msystem,
|
||||
"msys2-env": self.msys2_env,
|
||||
@@ -504,7 +505,7 @@ def spec_to_job(spec: JobSpec) -> JobDetails:
|
||||
"-DSDL_ARMSIMD=ON",
|
||||
))
|
||||
# Fix vita.toolchain.cmake (https://github.com/vitasdk/vita-toolchain/pull/253)
|
||||
job.source_cmd = "sed -i -E 's/set\( PKG_CONFIG_EXECUTABLE \"\$\{VITASDK}\/bin\/arm-vita-eabi-pkg-config\" )/set( PKG_CONFIG_EXECUTABLE \"${VITASDK}\/bin\/arm-vita-eabi-pkg-config\" CACHE PATH \"Path of pkg-config executable\" )/' ${VITASDK}/share/vita.toolchain.cmake"
|
||||
job.source_cmd = r"""sed -i -E "s#set\\( PKG_CONFIG_EXECUTABLE \"\\$\\{VITASDK}/bin/arm-vita-eabi-pkg-config\" \\)#set\\( PKG_CONFIG_EXECUTABLE \"${VITASDK}/bin/arm-vita-eabi-pkg-config\" CACHE PATH \"Path of pkg-config executable\" \\)#" ${VITASDK}/share/vita.toolchain.cmake"""
|
||||
job.clang_tidy = False
|
||||
job.run_tests = False
|
||||
job.shared = False
|
||||
@@ -613,16 +614,13 @@ def spec_to_job(spec: JobSpec) -> JobDetails:
|
||||
return job
|
||||
|
||||
|
||||
def specs_to_plaform(specs: tuple[JobSpec, ...]) -> list[dict[str, str|bool]]:
|
||||
result = []
|
||||
for spec in specs:
|
||||
logger.info("spec=%r", spec)
|
||||
job = spec_to_job(spec)
|
||||
logger.info("job=%r", job)
|
||||
platform = job.to_workflow()
|
||||
result.append(platform)
|
||||
logger.info("platform=%r", platform)
|
||||
return result
|
||||
def spec_to_platform(spec: JobSpec, enable_artifacts: bool) -> dict[str, str|bool]:
|
||||
logger.info("spec=%r", spec)
|
||||
job = spec_to_job(spec)
|
||||
logger.info("job=%r", job)
|
||||
platform = job.to_workflow(enable_artifacts=enable_artifacts)
|
||||
logger.info("platform=%r", platform)
|
||||
return platform
|
||||
|
||||
|
||||
def main():
|
||||
@@ -631,6 +629,7 @@ def main():
|
||||
parser.add_argument("--github-ci", action="store_true")
|
||||
parser.add_argument("--verbose", action="store_true")
|
||||
parser.add_argument("--commit-message-file")
|
||||
parser.add_argument("--no-artifact", dest="enable_artifacts", action="store_false")
|
||||
args = parser.parse_args()
|
||||
|
||||
logging.basicConfig(level=logging.INFO if args.verbose else logging.WARNING)
|
||||
@@ -651,6 +650,9 @@ def main():
|
||||
for m in re.finditer(r"\[sdl-ci-filter (.*)]", commit_message, flags=re.M):
|
||||
filters.append(m.group(1).strip(" \t\n\r\t'\""))
|
||||
|
||||
if re.search(r"\[sdl-ci-artifacts?]", commit_message, flags=re.M):
|
||||
args.enable_artifacts = True
|
||||
|
||||
if not filters:
|
||||
filters.append("*")
|
||||
|
||||
@@ -658,13 +660,15 @@ def main():
|
||||
|
||||
all_level_platforms = {}
|
||||
|
||||
all_platforms = {k: spec_to_platform(spec, enable_artifacts=args.enable_artifacts) for k, spec in JOB_SPECS.items()}
|
||||
|
||||
for level_i, level_keys in enumerate(all_level_keys, 1):
|
||||
level_key = f"level{level_i}"
|
||||
logger.info("Level %d: keys=%r", level_i, level_keys)
|
||||
assert all(k in remaining_keys for k in level_keys)
|
||||
level_specs = tuple(JOB_SPECS[key] for key in level_keys)
|
||||
level_platforms = tuple(all_platforms[key] for key in level_keys)
|
||||
remaining_keys.difference_update(level_keys)
|
||||
all_level_platforms[level_key] = specs_to_plaform(level_specs)
|
||||
all_level_platforms[level_key] = level_platforms
|
||||
logger.info("=" * 80)
|
||||
|
||||
logger.info("Keys before filter: %r", remaining_keys)
|
||||
@@ -677,9 +681,8 @@ def main():
|
||||
|
||||
remaining_keys = filtered_remaining_keys
|
||||
|
||||
logger.info("Remaining:")
|
||||
remaining_specs = tuple(JOB_SPECS[key] for key in remaining_keys)
|
||||
all_level_platforms["others"] = specs_to_plaform(remaining_specs)
|
||||
logger.info("Remaining: %r", remaining_keys)
|
||||
all_level_platforms["others"] = tuple(all_platforms[key] for key in remaining_keys)
|
||||
|
||||
if args.github_ci:
|
||||
for level, platforms in all_level_platforms.items():
|
||||
|
Reference in New Issue
Block a user