Доброго времени суток,
А есть кого success story интеграции allure с circleci ?
Интересует сохранение артефактов и дальнейшее их отображение в самом репорте соответственно.
Готового решения так и не нашел, пришлось свое допилить. По сути надо получить history артефакты с предыдущего билда и подсунуть перед генерацией отчета на последнем билде. Пока что все сделал с помощью степов на самом circlci. Если кому будет интересно стучитесь, поделюсь решением
- 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/
То-есть мы вручную копируем предыдущий аллюровский отчет, потом подставляем его в текущий и генерим отчет снова. По итогу история подхватывается.
Однако здесь есть одна проблема, Если предыдущий билд завалился или по какой то причине артефакты не зааплодились, то упадет и текущий так как он не сможет достать артефакты из предыдущего. Все можно будет залатать баш скриптом но пока руки не доходили.