Как приготовить Allure2 репорты с таймлайнами на CircleCI ?

Доброго времени суток,
А есть кого success story интеграции allure с circleci ?
Интересует сохранение артефактов и дальнейшее их отображение в самом репорте соответственно.

Сохранить сами артефакты вроде не проблема

- store_artifacts:
          path: test-reports/
          destination: tr1

но вот сгенерить непосредственно алюровский отчет и открыть его через circle S3, как то не могу понять как осуществить.

Есть у кого годные мануалы может? Или кто может хотя бы подтолкнуть к решению? (гугл что-то не помог =)

Заранее благодарен.

1 лайк

Bump :slight_smile:

Можливо допоможе:
Repo: GitHub - klamping/react-webdriverio-tests: Functional tests for the React DOM Fixtures
Allure Report: https://341-124597155-gh.circle-artifacts.com/0/home/circleci/project/allure-report/index.html
CircleCI Build Url: https://circleci.com/gh/klamping/react-webdriverio-tests/341

1 лайк

Готового решения так и не нашел, пришлось свое допилить. По сути надо получить history артефакты с предыдущего билда и подсунуть перед генерацией отчета на последнем билде. Пока что все сделал с помощью степов на самом circlci. Если кому будет интересно стучитесь, поделюсь решением :slight_smile:

Да поделись пожалуйста. Просто завести отчеты - дело одно, а разобраться с историей - совсем другое

Вот что получилось

      - run:
          name: Make history dir for allure
          command: mkdir target/allure-results/history
      - run:
          name: Get previous artifact links
          command: curl https://circleci.com/api/v1.1/project/github/ablems/qa/{{$CIRCLE_PREVIOUS_BUILD_NUM	}}/artifacts?circle-token=${API_KEY} | grep -o 'https:\/\/[^"]*history\/history.*\.json' > artifacts.txt
      - run:
          name: Download history artfacts
          command: <artifacts.txt xargs -P4 -I % wget %?circle-token=$API_KEY
      - run:
          name: Rename and copy history artifacts to allure-result
          command: |
            mv history.json?circle-token=${API_KEY} history.json && mv history-trend.json?circle-token=${API_KEY} history-trend.json
            cp history.json target/allure-results/history/ && cp history-trend.json target/allure-results/history/
 - run:
          name: Generate allure report
          command: mvn allure:report
      - store_test_results:
          path: target/surefire-reports/junitreports/
      - store_artifacts:
          path: target/site/allure-maven-plugin/

То-есть мы вручную копируем предыдущий аллюровский отчет, потом подставляем его в текущий и генерим отчет снова. По итогу история подхватывается.
Однако здесь есть одна проблема, Если предыдущий билд завалился или по какой то причине артефакты не зааплодились, то упадет и текущий так как он не сможет достать артефакты из предыдущего. Все можно будет залатать баш скриптом но пока руки не доходили.

Я уже понял что в идеале надо копировать отчет куда то на s3, или вообще Allure Server отдельно держать =)
Но спасибо большое за ваш вариант

@Vladyslav_Lopatynskyi
Наконец добрался, и заработало спасибо!!!
Можно глянуть тут selenoid-video-allure/config.yml at master · simple-elf/selenoid-video-allure · GitHub
А насчет того, если билд упал с ошибкой - тут решает параметр команды run - when:always
Благодаря ему, если у меня мавен тесты упали - то отчет все равно генерируется, также и с историей =)