Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • seco-ne/yocto/infrastructure/gitlab-ci
1 result
Show changes
Commits on Source (3)
......@@ -30,27 +30,30 @@ workflow:
# ---------------------------------------------------------------------------------------
# Stage: analyze
# ---------------------------------------------------------------------------------------
pylint:
.analyze:
stage: analyze
rules:
- if: $CI_COMMIT_BRANCH == "master"
when: never
timeout: 2m
pylint:
extends: .analyze
script:
- pylint --rcfile=pylintrc *.py
black:
stage: analyze
timeout: 2m
extends: .analyze
script:
- black --diff --check *.py
executable:
stage: analyze
timeout: 2m
extends: .analyze
script:
- (! find ! -executable -name "*.py" -exec echo "not executable:"" {}" \; | grep .)
yamllint:
stage: analyze
timeout: 2m
extends: .analyze
script:
- yamllint -c .yamllint.yml *.yml .*.yml
......@@ -195,12 +198,12 @@ check:
- MASTER_BRANCH=dunfell
- ./check_if_integration_branch_is_up_to_date.py
--gitlab-url=${CI_SERVER_URL}
--token=${GITBOT_TOKEN}
--manifest-project=${CI_PROJECT_ROOT_NAMESPACE}/yocto/manifest
--integration-base=${MASTER_BRANCH}
--project=${CI_PROJECT_PATH}
--merge-request=${CI_MERGE_REQUEST_IID}
--gitlab-url=${CI_SERVER_URL}
--token=${GITBOT_TOKEN}
--manifest-project=${CI_PROJECT_ROOT_NAMESPACE}/yocto/manifest
--integration-base=${MASTER_BRANCH}
--project=${CI_PROJECT_PATH}
--merge-request=${CI_MERGE_REQUEST_IID}
# The check is done for both manifests in one job as the retrigger
# looks for jobs named check, though there can only be one
......
......@@ -280,7 +280,7 @@ def is_commit_parent_of_project_commit(project: Project, project_commit, commit)
) from e
# The integration branch is up to date if its parent is the integration base
logging.debug(parent.id)
logging.debug("Compare '%s' and '%s'",parent.id, commit)
if parent.id == commit:
return True
if len(parent.parent_ids) == 0:
......
......@@ -79,4 +79,5 @@ yamllint:
--integration-base=${MASTER_BRANCH_MANIFEST}
--project=${CI_PROJECT_PATH}
--merge-request=${MERGE_REQUEST}
--verbose
${PARENT_MR}
......@@ -111,6 +111,7 @@ merge:
--commit=${CI_COMMIT_SHA}
--save-revision-to=manifest_revision
--recipe-name=${BB_RECIPE_NAME}
--verbose
artifacts:
paths:
- manifest_revision
......
......@@ -132,7 +132,9 @@ def main():
gitlab = Gitlab(args.gitlab_url, private_token=args.token)
for p in args.projects + [args.project]:
# Start with the manifest here, so the subproject
# can see that they are already integrated
for p in [args.project] + args.projects:
project = common.get_project(gitlab, p)
branch = args.branch
......@@ -177,7 +179,7 @@ def main():
)
)
found = False
for p2 in args.projects + [args.project]:
for p2 in [args.project] + args.projects:
if p2 == p:
found = True
continue
......
......@@ -2,6 +2,7 @@
import common
import argparse
import logging
import sys
import time
from gitlab import Gitlab
......@@ -37,16 +38,17 @@ def merge_into_manifest(
recipe_name=recipe_name,
srcrev_file=srcrev_file,
)
logging.debug(current_revisions)
# This commit is contained there if current_revisions contains
# it directly or any parrent of current_revisions is commit
for rev in current_revisions:
for rev in current_revisions.values():
if common.is_commit_parent_of_project_commit(project, rev, commit):
print(
"Commit {} is already merged into {}".format(
commit, manifest_project.name
)
)
return
return ""
# Get source merge request
mrs = get_merge_requests(
......@@ -191,8 +193,16 @@ def main():
dest="revision_file",
required=False,
)
parser.add_argument(
"-v",
"--verbose",
action="store_true",
help="""Increase verbosity.""",
)
args, _ = parser.parse_known_args()
if args.verbose:
logging.basicConfig(level=logging.DEBUG)
gitlab = Gitlab(args.gitlab_url, private_token=args.token)
project = common.get_project(gitlab, args.project)
......