@@ -4,28 +4,31 @@ stages:
4
4
- test
5
5
- public_deploy
6
6
7
- image : ${CI_DOCKER_REGISTRY}/llvm-build:2
7
+ image : ${CI_DOCKER_REGISTRY}/llvm-build:3
8
8
9
9
variables :
10
10
11
11
CONF_TARGET : " xtensa-esp32-elf"
12
12
XTENSA_CLANG_TOOLCHAIN : " ${CONF_TARGET}-clang"
13
13
PLATFORM_NAME_LINUX : " linux-amd64"
14
14
PLATFORM_NAME_WIN : " win64"
15
+ PLATFORM_NAME_MACOS : " macos"
15
16
16
- XTENSA_CLANG_TOOLCHAIN_BRANCH : " esp-20210728 -r12.0.1"
17
+ XTENSA_CLANG_TOOLCHAIN_BRANCH : " esp-20210903 -r12.0.1"
17
18
GCC_REL_NAME : " gcc8_4_0-esp-2021r1"
18
- XTENSA_GCC_TOOLCHAIN_LINUX_TAR_GZ : " xtensa-esp32-elf-${GCC_REL_NAME}-linux-amd64.tar.gz"
19
- XTENSA_GCC_TOOLCHAIN_WIN_ZIP : " xtensa-esp32-elf-${GCC_REL_NAME}-win64.zip"
20
19
21
- ARCHIVE_TOOL_LINUX : " tar cJf"
22
- UNARCHIVE_TOOL_LINUX : " tar xf"
20
+ ARCHIVE_TOOL_LINUX : " tar - cJf"
21
+ UNARCHIVE_TOOL_LINUX : " tar - xf"
23
22
ARCHIVE_EXT_LINUX : " tar.xz"
24
23
25
24
ARCHIVE_TOOL_WIN : " zip -9 -r"
26
25
UNARCHIVE_TOOL_WIN : " unzip"
27
26
ARCHIVE_EXT_WIN : " zip"
28
27
28
+ ARCHIVE_TOOL_MACOS : " tar -cJf"
29
+ UNARCHIVE_TOOL_MACOS : " tar -xf"
30
+ ARCHIVE_EXT_MACOS : " tar.xz"
31
+
29
32
DIST_DIR : " dist"
30
33
31
34
.use_ci_tools : &use_ci_tools |
@@ -39,15 +42,6 @@ before_script:
39
42
- *use_ci_tools
40
43
- *add_gitlab_key
41
44
42
- .build_template :
43
- stage : build
44
- tags : [ "amd64", "build" ]
45
- artifacts :
46
- paths :
47
- - ${DIST_DIR}/
48
- when : always
49
- expire_in : 10 day
50
-
51
45
# Prepare release name/number
52
46
.get_release_name : &get_release_name |
53
47
# using annotated tags
@@ -62,14 +56,9 @@ before_script:
62
56
echo "ARCHIVE_NAME : $ARCHIVE_NAME"
63
57
64
58
# Get an existing crosstool-ng build for esp32
65
- .get_gcc_toolchain_linux : &get_gcc_toolchain_linux |
66
- wget https://dl.espressif.com/dl/${XTENSA_GCC_TOOLCHAIN_LINUX_TAR_GZ}
67
- tar -xf ${XTENSA_GCC_TOOLCHAIN_LINUX_TAR_GZ}
68
- mv xtensa-esp32-elf ${XTENSA_CLANG_TOOLCHAIN}
69
-
70
- .get_gcc_toolchain_win : &get_gcc_toolchain_win |
71
- wget https://dl.espressif.com/dl/${XTENSA_GCC_TOOLCHAIN_WIN_ZIP}
72
- unzip ${XTENSA_GCC_TOOLCHAIN_WIN_ZIP}
59
+ .get_gcc_toolchain : &get_gcc_toolchain |
60
+ wget https://dl.espressif.com/dl/${XTENSA_GCC_TOOLCHAIN}
61
+ ${UNARCHIVE_TOOL} ${XTENSA_GCC_TOOLCHAIN}
73
62
mv xtensa-esp32-elf ${XTENSA_CLANG_TOOLCHAIN}
74
63
75
64
.get_clang_toolchain_build_scripts : &get_clang_toolchain_build_scripts |
@@ -87,44 +76,64 @@ before_script:
87
76
mv ${ARCHIVE_NAME} ${DIST_DIR}/
88
77
echo "${ARCHIVE_NAME}" > ${DIST_DIR}/file_${PLATFORM_NAME}_${CONF_TARGET}
89
78
90
- build_clang_toolchain_linux :
91
- extends : .build_template
79
+ .build_template :
80
+ stage : build
81
+ tags : [ "amd64", "build" ]
82
+ artifacts :
83
+ paths :
84
+ - ${DIST_DIR}/
85
+ when : always
86
+ expire_in : 10 day
92
87
script :
93
- - ARCHIVE_TOOL=${ARCHIVE_TOOL_LINUX}
94
- - UNARCHIVE_TOOL=${UNARCHIVE_TOOL_LINUX}
95
- - ARCHIVE_EXT=${ARCHIVE_EXT_LINUX}
96
- - PLATFORM_NAME=${PLATFORM_NAME_LINUX}
97
88
- *get_release_name
98
- - *get_gcc_toolchain_linux
89
+ - *get_gcc_toolchain
99
90
- *fix_origin_remote_for_public
100
91
- *get_clang_toolchain_build_scripts
101
- - ./build-toolchain-linux.sh ${XTENSA_CLANG_TOOLCHAIN}
92
+ - ${BUILD_TOOLCHAIN_CMD} " ${XTENSA_CLANG_TOOLCHAIN}"
102
93
- *package_toolchain
103
94
104
- build_clang_toolchain_win :
95
+ linux_amd64_build :
105
96
extends : .build_template
106
- script :
107
- - ARCHIVE_TOOL=${ARCHIVE_TOOL_WIN}
108
- - UNARCHIVE_TOOL=${UNARCHIVE_TOOL_WIN}
109
- - ARCHIVE_EXT=${ARCHIVE_EXT_WIN}
110
- - PLATFORM_NAME=${PLATFORM_NAME_WIN}
111
- - *get_release_name
112
- - *get_gcc_toolchain_win
113
- - *fix_origin_remote_for_public
114
- - *get_clang_toolchain_build_scripts
115
- - ./build-toolchain-win.sh ${XTENSA_CLANG_TOOLCHAIN}
116
- - *package_toolchain
117
-
118
- testsuite :
97
+ variables :
98
+ PLATFORM_NAME : " ${PLATFORM_NAME_LINUX}"
99
+ ARCHIVE_TOOL : " ${ARCHIVE_TOOL_LINUX}"
100
+ UNARCHIVE_TOOL : " ${UNARCHIVE_TOOL_LINUX}"
101
+ ARCHIVE_EXT : " ${ARCHIVE_EXT_LINUX}"
102
+ # a filename was moved here from the global 'variables:' because of GCC_REL_NAME value couldn't be expanded and substituted there
103
+ XTENSA_GCC_TOOLCHAIN : " xtensa-esp32-elf-${GCC_REL_NAME}-linux-amd64.tar.gz"
104
+ BUILD_TOOLCHAIN_CMD : " ./build-toolchain-linux.sh"
105
+
106
+ win64_build :
107
+ extends : .build_template
108
+ variables :
109
+ PLATFORM_NAME : " ${PLATFORM_NAME_WIN}"
110
+ ARCHIVE_TOOL : " ${ARCHIVE_TOOL_WIN}"
111
+ UNARCHIVE_TOOL : " ${UNARCHIVE_TOOL_WIN}"
112
+ ARCHIVE_EXT : " ${ARCHIVE_EXT_WIN}"
113
+ XTENSA_GCC_TOOLCHAIN : " xtensa-esp32-elf-${GCC_REL_NAME}-win64.zip"
114
+ BUILD_TOOLCHAIN_CMD : " ./build-toolchain-win.sh"
115
+
116
+ macos_amd64_build :
117
+ extends : .build_template
118
+ variables :
119
+ PLATFORM_NAME : " ${PLATFORM_NAME_MACOS}"
120
+ ARCHIVE_TOOL : " ${ARCHIVE_TOOL_MACOS}"
121
+ UNARCHIVE_TOOL : " ${UNARCHIVE_TOOL_MACOS}"
122
+ ARCHIVE_EXT : " ${ARCHIVE_EXT_MACOS}"
123
+ XTENSA_GCC_TOOLCHAIN : " xtensa-esp32-elf-${GCC_REL_NAME}-macos.tar.gz"
124
+ BUILD_TOOLCHAIN_CMD : " ./build-toolchain-macos.sh"
125
+
126
+ linux_amd64_testsuite :
119
127
stage : test
120
128
tags : [ "amd64", "build" ]
121
129
dependencies :
122
- - build_clang_toolchain_linux
130
+ - linux_amd64_build
131
+ variables :
132
+ PLATFORM_NAME : " ${PLATFORM_NAME_LINUX}"
133
+ ARCHIVE_TOOL : " ${ARCHIVE_TOOL_LINUX}"
134
+ UNARCHIVE_TOOL : " ${UNARCHIVE_TOOL_LINUX}"
135
+ ARCHIVE_EXT : " ${ARCHIVE_EXT_LINUX}"
123
136
script :
124
- - ARCHIVE_TOOL=${ARCHIVE_TOOL_LINUX}
125
- - UNARCHIVE_TOOL=${UNARCHIVE_TOOL_LINUX}
126
- - ARCHIVE_EXT=${ARCHIVE_EXT_LINUX}
127
- - PLATFORM_NAME=${PLATFORM_NAME_LINUX}
128
137
- *get_release_name
129
138
- ${UNARCHIVE_TOOL} ${DIST_DIR}/${ARCHIVE_NAME}
130
139
0 commit comments