-
Notifications
You must be signed in to change notification settings - Fork 242
/
.gitlab-ci.yml
95 lines (89 loc) · 2.45 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
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
image: espressif/idf:release-v4.4
tags:
- build
build_demo_cmake:
<<: *build_examples_template
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