Как сократить время запуска gclient sync для WebRTC

Я строю библиотеку WebRTC, используя travis CI.

Это работает хорошо, но занимает много времени и все чаще сборка заканчивается сообщением:

Задание превысило максимальный срок для заданий и было прекращено.

Вы можете обратиться к журналу, который не удалось Travis Log

В течение gclient sync:

_______ running 'download_from_google_storage --directory --recursive --num_threads=10 --no_auth --quiet --bucket chromium-webrtc-resources src/resources' in '/home/travis/build/mpromonet/webrtc-streamer/webrtc'
...
Hook 'download_from_google_storage --directory --recursive --num_threads=10 --no_auth --quiet --bucket chromium-webrtc-resources src/resources' took 1255.11 secs

Я отключил тесты, так что я считаю, что это бесполезно и занимает много времени.

В любом случае можно привести некоторые аргументы или установить некоторые переменные, чтобы избежать этой дорогостоящей задачи?

2 ответа

Решение

Способ не загружать chromium-webrtc-resources определены в зависимостях DEPS

{
    # Download test resources, i.e. video and audio files from Google Storage.
    'pattern': '.',
    'action': ['download_from_google_storage',
               '--directory',
               '--recursive',
               '--num_threads=10',
               '--no_auth',
               '--quiet',
               '--bucket', 'chromium-webrtc-resources',
               'src/resources'],
  },

в буфер, удалив этот раздел или добавив условие, которое ложно.

Для исправления я использовал следующую команду:

sed -i -e "s|'src/resources'],|'src/resources'],'condition':'rtc_include_tests==true',|" src/DEPS

Это экономит около 20 млн. И позволяет сборке Трэвиса оставаться ниже времени ожидания.

Вы можете запекать весь набор инструментов в образ докера и запускать в нем свои реальные тесты / сборки. Делегируйте обновление образа докера в другой автоматизированный процесс (например, travis-ci cronjob).

Дополнительным преимуществом является то, что теперь у вас есть полный контроль над изменением частей вашей цепочки инструментов. Я считаю это очень важным.

Изменить: некоторые ресурсы для чтения.

Другие вопросы по тегам