CI: replace with Gitlab v9 variable names

This commit is contained in:
He Yin Ling 2017-05-19 16:44:17 +08:00
parent 972d1d9242
commit 215ada6479
3 changed files with 24 additions and 27 deletions

View file

@ -41,7 +41,7 @@ build_template_app:
# Try to use the same branch name for esp-idf-template that we're # Try to use the same branch name for esp-idf-template that we're
# using on esp-idf. If it doesn't exist then just stick to the default # using on esp-idf. If it doesn't exist then just stick to the default
# branch # branch
- git checkout ${CI_BUILD_REF_NAME} || echo "Using esp-idf-template default branch..." - git checkout ${CI_COMMIT_REF_NAME} || echo "Using esp-idf-template default branch..."
# Test debug build (default) # Test debug build (default)
- make all V=1 - make all V=1
# Now test release build # Now test release build
@ -76,7 +76,7 @@ build_ssc:
script: script:
- git clone $SSC_REPOSITORY - git clone $SSC_REPOSITORY
- cd SSC - cd SSC
- git checkout ${CI_BUILD_REF_NAME} || echo "Using SSC default branch..." - git checkout ${CI_COMMIT_REF_NAME} || echo "Using SSC default branch..."
- ./gen_misc_ng.sh - ./gen_misc_ng.sh
build_at: build_at:
@ -84,7 +84,7 @@ build_at:
script: script:
- git clone $GITLAB_SSH_SERVER/application/esp-at.git - git clone $GITLAB_SSH_SERVER/application/esp-at.git
- cd esp-at - cd esp-at
- git checkout ${CI_BUILD_REF_NAME} || echo "Using esp-at default branch..." - git checkout ${CI_COMMIT_REF_NAME} || echo "Using esp-at default branch..."
- make defconfig - make defconfig
- make - make
@ -123,7 +123,7 @@ build_examples:
# mechanism work, but this is the next best thing # mechanism work, but this is the next best thing
- mkdir build_examples - mkdir build_examples
- cd build_examples - cd build_examples
- ${IDF_PATH}/make/build_examples.sh - ${IDF_PATH}/make/build_examples.sh -j5
build_docs: build_docs:
stage: build stage: build
@ -194,7 +194,7 @@ test_report:
- /^release\/v/ - /^release\/v/
- /^v\d+\.\d+(\.\d+)?($|-)/ - /^v\d+\.\d+(\.\d+)?($|-)/
variables: variables:
LOG_PATH: "$CI_PROJECT_DIR/$CI_BUILD_REF" LOG_PATH: "$CI_PROJECT_DIR/$CI_COMMIT_SHA"
TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test" TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test"
REPORT_PATH: "$CI_PROJECT_DIR/CI_Test_Report" REPORT_PATH: "$CI_PROJECT_DIR/CI_Test_Report"
MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/tools/unit-test-app/tools/ModuleDefinition.yml" MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/tools/unit-test-app/tools/ModuleDefinition.yml"
@ -207,13 +207,13 @@ test_report:
script: script:
# calc log path # calc log path
- VER_NUM=`git rev-list HEAD | wc -l | awk '{print $1}'` - VER_NUM=`git rev-list HEAD | wc -l | awk '{print $1}'`
- SHA_ID=`echo $CI_BUILD_REF | cut -c 1-7` - SHA_ID=`echo $CI_COMMIT_SHA | cut -c 1-7`
- REVISION="${VER_NUM}_${SHA_ID}" - REVISION="${VER_NUM}_${SHA_ID}"
# replace / to _ in branch name # replace / to _ in branch name
- ESCAPED_BRANCH_NAME=`echo $CI_BUILD_REF_NAME | sed 's/\//___/g'` - ESCAPED_BRANCH_NAME=`echo $CI_COMMIT_REF_NAME | sed 's/\//___/g'`
# result path and artifacts path # result path and artifacts path
- RESULT_PATH="$CI_PROJECT_NAME/$ESCAPED_BRANCH_NAME/$REVISION" - RESULT_PATH="$CI_PROJECT_NAME/$ESCAPED_BRANCH_NAME/$REVISION"
- ARTIFACTS_PATH="$GITLAB_HTTP_SERVER/idf/esp-idf/builds/$CI_BUILD_ID/artifacts/browse/$CI_BUILD_REF" - ARTIFACTS_PATH="$GITLAB_HTTP_SERVER/idf/esp-idf/builds/$CI_JOB_ID/artifacts/browse/$CI_COMMIT_SHA"
# clone test bench # clone test bench
- git clone $GITLAB_SSH_SERVER/yinling/auto_test_script.git - git clone $GITLAB_SSH_SERVER/yinling/auto_test_script.git
- cd auto_test_script - cd auto_test_script
@ -230,7 +230,7 @@ test_report:
- git config --global user.name "ci-test-result" - git config --global user.name "ci-test-result"
# commit test result # commit test result
- git add . - git add .
- git commit . -m "update test result for $CI_PROJECT_NAME/$CI_BUILD_REF_NAME/$CI_BUILD_REF, pipeline ID $CI_PIPELINE_ID" || exit 0 - git commit . -m "update test result for $CI_PROJECT_NAME/$CI_COMMIT_REF_NAME/$CI_COMMIT_SHA, pipeline ID $CI_PIPELINE_ID" || exit 0
- git push origin master - git push origin master
- test "${TEST_RESULT}" = "Pass" || exit 1 - test "${TEST_RESULT}" = "Pass" || exit 1
@ -258,13 +258,10 @@ push_master_to_github:
- echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
- git remote add github git@github.com:espressif/esp-idf.git - git remote add github git@github.com:espressif/esp-idf.git
# What the next line of script does: goes through the list of refs for all branches we push to github, # What the next line of script does: goes through the list of refs for all branches we push to github,
# generates a snippet of shell which is evaluated. The snippet checks CI_BUILD_REF against the SHA # generates a snippet of shell which is evaluated. The snippet checks CI_COMMIT_SHA against the SHA
# (aka objectname) at tip of each branch, and if any SHAs match then it checks out the local branch # (aka objectname) at tip of each branch, and if any SHAs match then it checks out the local branch
# and then pushes that ref to a corresponding github branch # and then pushes that ref to a corresponding github branch
# - eval $(git for-each-ref --shell bash --format 'if [ $CI_COMMIT_SHA == %(objectname) ]; then git checkout -B %(refname:strip=3); git push --follow-tags github %(refname:strip=3); fi;' $GITHUB_PUSH_REFS)
# NB: In gitlab 9.x, CI_BUILD_REF was deprecated. New name is CI_COMMIT_REF. If below command suddenly
# generates bash syntax errors, this is probably why.
- eval $(git for-each-ref --shell bash --format 'if [ $CI_BUILD_REF == %(objectname) ]; then git checkout -B %(refname:strip=3); git push --follow-tags github %(refname:strip=3); fi;' $GITHUB_PUSH_REFS)
deploy_docs: deploy_docs:
@ -305,7 +302,7 @@ check_doc_links:
# must be triggered with CHECK_LINKS=Yes, otherwise exit without test # must be triggered with CHECK_LINKS=Yes, otherwise exit without test
- test "$CHECK_LINKS" = "Yes" || exit 0 - test "$CHECK_LINKS" = "Yes" || exit 0
# can only run on master branch (otherwise the commit is not on Github yet) # can only run on master branch (otherwise the commit is not on Github yet)
- test "${CI_BUILD_REF_NAME}" = "master" || exit 0 - test "${CI_COMMIT_REF_NAME}" = "master" || exit 0
- cd docs - cd docs
- make linkcheck - make linkcheck
artifacts: artifacts:
@ -325,9 +322,9 @@ check_commit_msg:
before_script: before_script:
- echo "skip update submodule" - echo "skip update submodule"
script: script:
- git checkout ${CI_BUILD_REF_NAME} - git checkout ${CI_COMMIT_REF_NAME}
# commit start with "WIP: " need to be squashed before merge # commit start with "WIP: " need to be squashed before merge
- 'git log --pretty=%s master..${CI_BUILD_REF_NAME} | grep "^WIP: " || exit 0 && exit 1' - 'git log --pretty=%s master..${CI_COMMIT_REF_NAME} | grep "^WIP: " || exit 0 && exit 1'
assign_test: assign_test:
<<: *build_template <<: *build_template
@ -347,7 +344,7 @@ assign_test:
# clone test script to assign tests # clone test script to assign tests
- git clone $TEST_SCRIPT_REPOSITORY - git clone $TEST_SCRIPT_REPOSITORY
- cd auto_test_script - cd auto_test_script
- git checkout ${CI_BUILD_REF_NAME} || echo "Using default branch..." - git checkout ${CI_COMMIT_REF_NAME} || echo "Using default branch..."
# assign unit test cases # assign unit test cases
- python CIAssignTestCases.py -t $IDF_PATH/components/idf_test/unit_test -c $IDF_PATH/.gitlab-ci.yml -b $IDF_PATH/test_bins - python CIAssignTestCases.py -t $IDF_PATH/components/idf_test/unit_test -c $IDF_PATH/.gitlab-ci.yml -b $IDF_PATH/test_bins
# assgin integration test cases # assgin integration test cases
@ -370,10 +367,10 @@ assign_test:
# set git strategy to fetch so we can get esptool without update submodule # set git strategy to fetch so we can get esptool without update submodule
GIT_STRATEGY: fetch GIT_STRATEGY: fetch
LOCAL_ENV_CONFIG_PATH: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF" LOCAL_ENV_CONFIG_PATH: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF"
LOG_PATH: "$CI_PROJECT_DIR/$CI_BUILD_REF" LOG_PATH: "$CI_PROJECT_DIR/$CI_COMMIT_SHA"
TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test/integration_test" TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test/integration_test"
MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/components/idf_test/ModuleDefinition.yml" MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/components/idf_test/ModuleDefinition.yml"
CONFIG_FILE: "$CI_PROJECT_DIR/components/idf_test/integration_test/CIConfigs/$CI_BUILD_NAME.yml" CONFIG_FILE: "$CI_PROJECT_DIR/components/idf_test/integration_test/CIConfigs/$CI_JOB_NAME.yml"
IDF_PATH: "$CI_PROJECT_DIR" IDF_PATH: "$CI_PROJECT_DIR"
artifacts: artifacts:
@ -402,9 +399,9 @@ assign_test:
# clone test bench # clone test bench
- git clone $TEST_SCRIPT_REPOSITORY - git clone $TEST_SCRIPT_REPOSITORY
- cd auto_test_script - cd auto_test_script
- git checkout ${CI_BUILD_REF_NAME} || echo "Using default branch..." - git checkout ${CI_COMMIT_REF_NAME} || echo "Using default branch..."
# run test # run test
- python CIRunner.py -l "$LOG_PATH/$CI_BUILD_NAME" -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH -m $MODULE_UPDATE_FILE - python CIRunner.py -l "$LOG_PATH/$CI_JOB_NAME" -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH -m $MODULE_UPDATE_FILE
# template for unit test jobs # template for unit test jobs
.unit_test_template: &unit_test_template .unit_test_template: &unit_test_template
@ -415,10 +412,10 @@ assign_test:
variables: variables:
GIT_STRATEGY: fetch GIT_STRATEGY: fetch
LOCAL_ENV_CONFIG_PATH: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF" LOCAL_ENV_CONFIG_PATH: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF"
LOG_PATH: "$CI_PROJECT_DIR/$CI_BUILD_REF" LOG_PATH: "$CI_PROJECT_DIR/$CI_COMMIT_SHA"
TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test/unit_test" TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test/unit_test"
MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/components/idf_test/ModuleDefinition.yml" MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/components/idf_test/ModuleDefinition.yml"
CONFIG_FILE: "$CI_PROJECT_DIR/components/idf_test/unit_test/CIConfigs/$CI_BUILD_NAME.yml" CONFIG_FILE: "$CI_PROJECT_DIR/components/idf_test/unit_test/CIConfigs/$CI_JOB_NAME.yml"
IDF_PATH: "$CI_PROJECT_DIR" IDF_PATH: "$CI_PROJECT_DIR"
UT_001_01: UT_001_01:

View file

@ -7,9 +7,9 @@
# #
# Tweaks .gitmodules file for private builds # Tweaks .gitmodules file for private builds
[ -z $CI_BUILD_REF ] && echo "This internal script should only be run by a Gitlab CI runner." && exit 1 [ -z $CI_COMMIT_REF_NAME ] && echo "This internal script should only be run by a Gitlab CI runner." && exit 1
REF=$CI_BUILD_REF REF=$CI_COMMIT_REF_NAME
# Public branches are: # Public branches are:
# release branches - start with release/ # release branches - start with release/

View file

@ -12,7 +12,7 @@ touch .gitmodules # dummy file
function assert_branch_public() function assert_branch_public()
{ {
( (
CI_BUILD_REF=$1 CI_COMMIT_REF_NAME=$1
set -e set -e
source ./configure_ci_environment.sh source ./configure_ci_environment.sh
[[ $IS_PUBLIC = $2 ]] || exit 1 [[ $IS_PUBLIC = $2 ]] || exit 1