Something went wrong on our end
-
Chase Qi authored
Given test scope for new MRs is not defined yet and we only have one rpi4, b68 and c61 in the warsaw lab which are occupied mostly by daily scheduled pipeline, starting with boot and smoke tests on qemu devices should be a good starting point for per MR testing. Jobs that extend `.lava-test` will be added to MR's pipeline and schedueld pipeline. `.lava-test-scheduled` extends `.lava-test` with new scheduled pipeline only rule. Long run jobs like ltp should extends the job so that they wouldn't prevent MRs from merging. Solves #486. Signed-off-by:
Chase Qi <chase.qi@linaro.org>
Chase Qi authoredGiven test scope for new MRs is not defined yet and we only have one rpi4, b68 and c61 in the warsaw lab which are occupied mostly by daily scheduled pipeline, starting with boot and smoke tests on qemu devices should be a good starting point for per MR testing. Jobs that extend `.lava-test` will be added to MR's pipeline and schedueld pipeline. `.lava-test-scheduled` extends `.lava-test` with new scheduled pipeline only rule. Long run jobs like ltp should extends the job so that they wouldn't prevent MRs from merging. Solves #486. Signed-off-by:
Chase Qi <chase.qi@linaro.org>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 19.36 KiB
# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2020-2021 Huawei Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
stages:
- compliance
- build
- build-gcc
- build-clang
- update
- test
- report
- deploy
include:
- local: '/.oniro-ci/build-generic.yaml'
- local: '/.oniro-ci/test-generic.yaml'
- local: '/.oniro-ci/machines-and-flavours.yaml'
- local: '/.oniro-ci/dco.yaml'
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
dco:
extends: .dco
build-docs:
extends: .build-docs
aggregate-docs:
extends: .aggregate-docs
needs: [build-docs]
# Customize the .workspace job to set the path of the git repository to deviate
# from what the git-repo prepares. This effectively allows testing incoming
# changes that match the repository holding this CI pipeline.
.workspace:
variables:
CI_ONIRO_GIT_REPO_PATH: oniro
# Anchor job rules, which govern if a job is instantiated in a given pipeline.
# This job is then used as another base to several different jobs, including
# .bitbake-workspace, .build-rauc-bundle and the
# .publish-rauc-bundle-to-hawkbit jobs.
#
# The rules are: modifications (changes) to the pipeline, meta-layers, flavours
# and assets OR to placement of a tag on a commit OR when a job is scheduled.
# In addition, draft merge requests will no longer start the heavy build jobs
# automatically, giving an option to the developer, to start the desired jobs
# manually.
.workspace-rules:
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule"'
variables:
CI_ONIRO_MANIFEST_URL: "$CI_PROJECT_URL"
CI_ONIRO_MANIFEST_BRANCH: "$CI_COMMIT_REF_NAME"
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TITLE =~ /^(wip|draft):.*/i'
when: manual
variables:
# See below for rationale.