mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
fba96d58c2
build: - upgrade idf-build-apps to 2.x - unify get_pytest_apps and get_cmake_apps to get_all_apps - returns (test_apps, non_test_apps) tuple - add tests for the new get_all_apps assign: - generate build report - generate target test pipeline based on the build report target test: - download artifacts from minio server - users can use `pytest --pipeline-id xxxxx` to download and flash the binaries from the artifacts .post: - generate target test reports
38 lines
1013 B
Python
38 lines
1013 B
Python
# SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
import typing as t
|
|
|
|
import yaml
|
|
|
|
from .models import Job
|
|
|
|
|
|
def dump_jobs_to_yaml(
|
|
jobs: t.List[Job], output_filepath: str, extra_include_yml: t.Optional[t.List[str]] = None
|
|
) -> None:
|
|
yaml_dict = {}
|
|
for job in jobs:
|
|
yaml_dict.update(job.to_dict())
|
|
|
|
# global stuffs
|
|
yaml_dict.update(
|
|
{
|
|
'include': [
|
|
'tools/ci/dynamic_pipelines/templates/.dynamic_jobs.yml',
|
|
'.gitlab/ci/common.yml',
|
|
],
|
|
# https://gitlab.com/gitlab-org/gitlab/-/issues/222370#note_662695503
|
|
'workflow': {
|
|
'rules': [
|
|
{'if': '$CI_MERGE_REQUEST_IID'},
|
|
{'if': '$CI_COMMIT_BRANCH'},
|
|
],
|
|
},
|
|
}
|
|
)
|
|
yaml_dict['include'].extend(extra_include_yml or [])
|
|
|
|
with open(output_filepath, 'w') as fw:
|
|
yaml.dump(yaml_dict, fw, indent=2)
|