Skip to content
Snippets Groups Projects
  • Chase Qi's avatar
    b0793e7d
    ci: enable LAVA boot and smoke tests on qemu devices for new MRs · b0793e7d
    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: default avatarChase Qi <chase.qi@linaro.org>
    b0793e7d
    History
    ci: enable LAVA boot and smoke tests on qemu devices for new MRs
    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: default avatarChase 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.