119 lines
3.2 KiB
YAML
119 lines
3.2 KiB
YAML
stages:
|
|
- build
|
|
- test
|
|
- deploy
|
|
- cleanup
|
|
|
|
mr-code-review:
|
|
stage: build
|
|
script:
|
|
- zb gitlab review
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
|
|
mr-build-virt:
|
|
stage: build
|
|
script:
|
|
- zb diskimage -ekernel:source-path=$PWD -osubsystem=test -odistro=debian -oboard=virt --tar
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
|
|
mr-build-a200-evb:
|
|
stage: build
|
|
script:
|
|
- zb diskimage -ekernel:source-path=$PWD -osubsystem=test -odistro=ubuntu -oboard=a200-evb --tar
|
|
- zb gitlab upload build/Release/*.tar.gz # 上传到临时 mr artifactory
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
|
|
mr-build-a210-evb:
|
|
stage: build
|
|
script:
|
|
- zb diskimage -ekernel:source-path=$PWD -osubsystem=test -odistro=debian -oboard=a210-evb --tar
|
|
- zb gitlab upload build/Release/*.tar.gz # 上传到临时 mr artifactory
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
|
|
mr-test-virt:
|
|
stage: test
|
|
script:
|
|
- echo "无需测试"
|
|
dependencies:
|
|
- mr-build-virt
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
|
|
mr-test-a200-evb:
|
|
stage: test
|
|
script:
|
|
- zb gitlab run --timeout 600 --board "p1-*" .cicd/runtest-a200-evb.sh
|
|
dependencies:
|
|
- mr-build-a200-evb
|
|
tags:
|
|
- a200-board-runner
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
|
|
mr-test-a210-evb:
|
|
stage: test
|
|
script:
|
|
- zb gitlab run --timeout 600 --board "a210-evb-3-*" .cicd/runtest-a210-evb.sh
|
|
dependencies:
|
|
- mr-build-a210-evb
|
|
tags:
|
|
- a210-board-runner
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
|
|
mr-deploy:
|
|
stage: deploy
|
|
script:
|
|
- zb kernel -f -esource-path=$PWD -oboard=a210-evb
|
|
- zb kernel -f -esource-path=$PWD -oboard=a200-evb
|
|
- zb kernel -f -esource-path=$PWD -oboard=virt
|
|
- zb upload kernel --all
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
|
|
cleanup-success:
|
|
stage: cleanup
|
|
script:
|
|
- zb gitlab remove "$ARTIFACTS_URL/mr/$CI_PIPELINE_ID"
|
|
- zb gitlab message "[SUCCESS] $CI_PIPELINE_SOURCE - $CI_PIPELINE_URL - $CI_COMMIT_TITLE"
|
|
tags:
|
|
- message-runner
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
when: on_success
|
|
|
|
cleanup-failure:
|
|
stage: cleanup
|
|
script:
|
|
- zb gitlab message "[FAILURE] $CI_PIPELINE_SOURCE - $CI_PIPELINE_URL - $CI_COMMIT_TITLE"
|
|
tags:
|
|
- message-runner
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
when: on_failure
|
|
|
|
before_script:
|
|
- .cicd/version.sh
|
|
|
|
- export ZB_CACHE_PATH=$HOME/download_cache
|
|
- export SDK_VERSION=${CI_COMMIT_BRANCH:-$CI_MERGE_REQUEST_TARGET_BRANCH_NAME}
|
|
- export DISK_IMAGE=diskimage_${SDK_VERSION//\//_}
|
|
|
|
- export VIRT_TARGZ=${DISK_IMAGE}_virt-release_test.tar.gz
|
|
|
|
- export A200_EVB_IMAGE=${DISK_IMAGE}_a200-evb-release_test_debian.tar.gz
|
|
- export A200_EVB_IMAGE_UBUNTU=${DISK_IMAGE}_a200-evb-release_test_ubuntu.tar.gz
|
|
|
|
- export A210_EVB_IMAGE=${DISK_IMAGE}_a210-evb-release_test_debian.tar.gz
|
|
- export A210_EVB_IMAGE_UBUNTU=${DISK_IMAGE}_a210-evb-release_test_ubuntu.tar.gz
|
|
|
|
- export
|
|
|
|
variables:
|
|
CONAN_USER_HOME: $CI_BUILDS_DIR/$CI_JOB_ID
|
|
MERGE_REQUEST_URL: $CI_MERGE_REQUEST_PROJECT_URL/-/merge_requests/$CI_MERGE_REQUEST_IID
|