I have tests on RobotFramework, that run in Github Actions. Currently there is one workflow, that runs tests and generates Allure Reports for them. And then report is deployed in GitHub Pages.
It looks like this:
jobs:
Run_tests:
runs-on: ubuntu-latest
steps:
- name: Run tests
run: |
robot --outputdir results --listener allure_robotframework:results/allure test_suite_folder
Generate_report:
needs: Run_tests
runs-on: ubuntu-latest
name: Generate Allure Report
steps:
- name: Get Allure history
uses: actions/checkout@v4
if: always()
continue-on-error: true
with:
ref: gh-pages
path: gh-pages
- name: Generate Allure report with history
uses: simple-elf/allure-report-action@master
if: always()
id: allure-report
with:
allure_results: results/allure
gh_pages: gh-pages
allure_report: allure-report
allure_history: allure-history
keep_reports: 20
- name: Deploy report to Github Pages
if: always()
uses: peaceiris/actions-gh-pages@v2
env:
PERSONAL_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PUBLISH_BRANCH: gh-pages
PUBLISH_DIR: allure-history
Now I want to have other workflow with different test suite.
Ideally I’d like to have 2 different reports with different URLs. But I’m not sure if GitHub pages allow this.
So I tried to store results for 2 suites in 2 different folders and then generate one single report from both of them
So Workflow_1 has
–listener allure_robotframework:results/allure/folder_1
and Workflow_2 has
–listener allure_robotframework:results/allure/folder_2
And each workflow should collect report from the parent folder
- name: Generate Allure report with history
uses: simple-elf/allure-report-action@master
if: always()
id: allure-report
with:
allure_results: results/*
gh_pages: gh-pages
allure_report: allure-report
allure_history: allure-history
keep_reports: 20
But new report just overrides the old one.