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