Circleci cypress: как изменить config.yml без фиксации на github?

#cypress #circleci

#cypress #circleci

Вопрос:

Я ищу способ удобного запуска только определенного набора файлов спецификаций Cypress на Circleci. Я могу сделать это локально, указав файлы спецификаций в файле Cypress.json, но я не хочу запускать их локально, поскольку это мешает мне использовать мой компьютер во время выполнения тестов. Я могу указать, какие файлы запускать в circleci, перечислив их в config.yml. Однако проблема с этим подходом заключается в том, что мне приходится отправлять PR на github каждый раз, когда я хочу запустить другой набор файлов спецификаций (без намерения объединить это изменение с репозиторием).

Я нашел это обсуждение на форуме circle, в котором есть потенциальное решение: https://discuss.circleci.com/t/efficiently-testing-configuration-file-migrating-to-2-0/11620

Я попытался реализовать это, но сборка завершилась неудачно в circleci, потому что он продолжает неправильно считывать мой файл config.yml.

Например,

 version: 2.1
orbs:
  cypress: cypress-io/cypress@1
executors:
  latest-chrome:
    docker:
      - image: "cypress/browsers:node14.7.0-chrome84"
workflows:
  build:
    jobs:
      - cypress/run:
          executor: latest-chrome
          browser: chrome
          spec: 
            "cypress/integration/test_lab.js,
            cypress/integration/example/example.js"
  

преобразуется в это на circleci:

 version: 2.1
orbs: {cypress: cypress-io/cypress@1}
executors:
  latest-chrome:
    docker:
    - {image: 'cypress/browsers:node14.7.0-chrome84'}
workflows:
  version: 2
  build:
    jobs:
    - build: {}
  

Обратите внимание, что config.yml создается правильно, когда я отправляю его на github, но не тогда, когда я использую метод, упомянутый в ссылке, которую я предоставил выше.

Комментарии:

1. «проблема с этим подходом заключается в том, что мне приходится отправлять PR на github каждый раз, когда я хочу запустить другой набор файлов спецификаций», вы пробовали использовать матрицу для решения такой проблемы?

2. Я с этим не знаком. Это функция circleci?

3. Обновление: я посмотрел это — это функция circleci. Использование матрицы не решило бы мою проблему. Я ищу удобный способ выбрать, какие тестовые файлы запускать. В идеале я могу сделать это напрямую с помощью веб-приложения circleci, но я не могу найти способ. На данный момент мне просто нужно нажать PR, а затем закрыть этот PR без слияния, как только я закончу.