У меня есть пользовательские настройки сборки на уровне проекта:
![user defined build setting](https://i.stack.imgur.com/1KNTU.png)
Который вводится в настройку сборки флагов Other Swift также на уровне проекта:
![Other Swift flags build setting](https://i.stack.imgur.com/Opmwt.png)
Это заставляет компилятор выдавать предупреждение, когда для компиляции любой функции требуется более 1000 мс. Проблема в том, что CI намного медленнее, чем наши dev-машины, поэтому на наших dev-машинах мы хотели бы, чтобы он был больше 300 мс, а на CI 2000+ мс или, может быть, даже просто отключен. Мы запускаем с предупреждениями как ошибками, поэтому, если CI, который является общим компьютером, работает медленно, это часто приводит к сбою сборки.
При работе на CI установлена переменная окружения CI
, поэтому я хотел бы изменить значение параметра сборки LONG_SWIFT_COMPILE_LIMIT_MS
, если установлен CI или нет. Как я могу это сделать? Я попытался добавить:
if [ -z ${CI+x} ]; then
# Not running on CI
setenv LONG_SWIFT_COMPILE_LIMIT_MS 300
else
# Running on CI
setenv LONG_SWIFT_COMPILE_LIMIT_MS 2000
fi
в качестве сценария предварительной сборки на схеме, но это не сработало.