@@ -4,28 +4,31 @@ stages:
44 - test
55 - public_deploy
66
7- image : ${CI_DOCKER_REGISTRY}/llvm-build:2
7+ image : ${CI_DOCKER_REGISTRY}/llvm-build:3
88
99variables :
1010
1111 CONF_TARGET : " xtensa-esp32-elf"
1212 XTENSA_CLANG_TOOLCHAIN : " ${CONF_TARGET}-clang"
1313 PLATFORM_NAME_LINUX : " linux-amd64"
1414 PLATFORM_NAME_WIN : " win64"
15+ PLATFORM_NAME_MACOS : " macos"
1516
16- XTENSA_CLANG_TOOLCHAIN_BRANCH : " esp-20210728 -r12.0.1"
17+ XTENSA_CLANG_TOOLCHAIN_BRANCH : " esp-20210903 -r12.0.1"
1718 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"
2019
21- ARCHIVE_TOOL_LINUX : " tar cJf"
22- UNARCHIVE_TOOL_LINUX : " tar xf"
20+ ARCHIVE_TOOL_LINUX : " tar - cJf"
21+ UNARCHIVE_TOOL_LINUX : " tar - xf"
2322 ARCHIVE_EXT_LINUX : " tar.xz"
2423
2524 ARCHIVE_TOOL_WIN : " zip -9 -r"
2625 UNARCHIVE_TOOL_WIN : " unzip"
2726 ARCHIVE_EXT_WIN : " zip"
2827
28+ ARCHIVE_TOOL_MACOS : " tar -cJf"
29+ UNARCHIVE_TOOL_MACOS : " tar -xf"
30+ ARCHIVE_EXT_MACOS : " tar.xz"
31+
2932 DIST_DIR : " dist"
3033
3134.use_ci_tools : &use_ci_tools |
@@ -39,15 +42,6 @@ before_script:
3942 - *use_ci_tools
4043 - *add_gitlab_key
4144
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-
5145# Prepare release name/number
5246.get_release_name : &get_release_name |
5347 # using annotated tags
@@ -62,14 +56,9 @@ before_script:
6256 echo "ARCHIVE_NAME : $ARCHIVE_NAME"
6357
6458# 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}
7362 mv xtensa-esp32-elf ${XTENSA_CLANG_TOOLCHAIN}
7463
7564.get_clang_toolchain_build_scripts : &get_clang_toolchain_build_scripts |
@@ -87,44 +76,64 @@ before_script:
8776 mv ${ARCHIVE_NAME} ${DIST_DIR}/
8877 echo "${ARCHIVE_NAME}" > ${DIST_DIR}/file_${PLATFORM_NAME}_${CONF_TARGET}
8978
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
9287 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}
9788 - *get_release_name
98- - *get_gcc_toolchain_linux
89+ - *get_gcc_toolchain
9990 - *fix_origin_remote_for_public
10091 - *get_clang_toolchain_build_scripts
101- - ./build-toolchain-linux.sh ${XTENSA_CLANG_TOOLCHAIN}
92+ - ${BUILD_TOOLCHAIN_CMD} " ${XTENSA_CLANG_TOOLCHAIN}"
10293 - *package_toolchain
10394
104- build_clang_toolchain_win :
95+ linux_amd64_build :
10596 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 :
119127 stage : test
120128 tags : [ "amd64", "build" ]
121129 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}"
123136 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}
128137 - *get_release_name
129138 - ${UNARCHIVE_TOOL} ${DIST_DIR}/${ARCHIVE_NAME}
130139
0 commit comments