mirror of
https://github.com/espressif/esp-drone.git
synced 2026-07-21 02:05:37 +00:00
link https://github.com/espressif/esp-drone/issues/100 https://github.com/espressif/esp-drone/issues/96
108 lines
2.7 KiB
YAML
108 lines
2.7 KiB
YAML
stages:
|
|
- build
|
|
- deploy
|
|
|
|
variables:
|
|
ESP_DRONE_PATH: "$CI_PROJECT_DIR"
|
|
|
|
before_script:
|
|
# add gitlab ssh key
|
|
- mkdir -p ~/.ssh
|
|
- chmod 700 ~/.ssh
|
|
- echo -n $GITLAB_KEY > ~/.ssh/id_rsa_base64
|
|
- base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
|
|
- chmod 600 ~/.ssh/id_rsa
|
|
- echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
|
|
- git --version
|
|
- git submodule update --init --recursive --force
|
|
|
|
.build_examples_template: &build_examples_template
|
|
stage: build
|
|
tags:
|
|
- build
|
|
|
|
build_project_idf44:
|
|
<<: *build_examples_template
|
|
image: espressif/idf:release-v4.4
|
|
script:
|
|
- idf.py fullclean
|
|
- idf.py build
|
|
- idf.py fullclean
|
|
- idf.py set-target esp32s2
|
|
- idf.py build
|
|
- idf.py fullclean
|
|
- idf.py set-target esp32s3
|
|
- idf.py build
|
|
|
|
build_project_idf50:
|
|
<<: *build_examples_template
|
|
image: espressif/idf:release-v5.0
|
|
script:
|
|
- idf.py fullclean
|
|
- idf.py build
|
|
- idf.py fullclean
|
|
- idf.py set-target esp32s2
|
|
- idf.py build
|
|
- idf.py fullclean
|
|
- idf.py set-target esp32s3
|
|
- idf.py build
|
|
|
|
build_docs:
|
|
stage: build
|
|
image: $CI_SPHINX_DOCKER:latest
|
|
tags:
|
|
- build_docs
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
# English version of documentation
|
|
- docs/en/rst/sphinx-warning-log.txt
|
|
- docs/en/rst/_build/html
|
|
# Chinese version of documentation
|
|
- docs/zh_CN/rst/sphinx-warning-log.txt
|
|
- docs/zh_CN/rst/_build/html
|
|
expire_in: 1 week
|
|
before_script:
|
|
- echo "skip default before_script"
|
|
script:
|
|
- cd docs
|
|
# make English version of documentation
|
|
- cd en/
|
|
- cd rst/
|
|
- make clean && make html
|
|
- cd ../../
|
|
# make Chinese version of documentation
|
|
- cd zh_CN/
|
|
- cd rst/
|
|
- make clean && make html
|
|
- cd ../../
|
|
|
|
push_master_to_github:
|
|
stage: deploy
|
|
only:
|
|
- master
|
|
# when: on_success
|
|
image: $CI_SPHINX_DOCKER:latest
|
|
tags:
|
|
- github_sync
|
|
variables:
|
|
GIT_STRATEGY: clone
|
|
SUBMODULES_TO_FETCH: "none"
|
|
dependencies: []
|
|
before_script:
|
|
- echo "skip default before_script"
|
|
script:
|
|
- mkdir -p ~/.ssh
|
|
- chmod 700 ~/.ssh
|
|
- echo -n $GH_PUSH_KEY > ~/.ssh/id_rsa_base64
|
|
- base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
|
|
- chmod 600 ~/.ssh/id_rsa
|
|
- echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
|
|
- git remote remove github &>/dev/null || true
|
|
- git remote add github git@github.com:espressif/esp-drone.git
|
|
- |
|
|
if [ -n "${CI_COMMIT_TAG}" ]; then
|
|
git push github "${CI_COMMIT_TAG}"
|
|
else
|
|
git push github "${CI_COMMIT_SHA}:refs/heads/${CI_COMMIT_REF_NAME}"
|
|
fi |