在 GitHub Actions 中为 2 个单独的测试运行生成 Allure 报告

问题描述 投票:0回答:1

我对 RobotFramework 进行了测试,该测试在 GitHub Actions 中运行。目前有一个工作流程,可以运行测试并为其生成 Allure 报告。然后将报告部署到 GitHub Pages 中。

看起来像这样:

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

现在我想要具有不同测试套件的其他工作流程。 理想情况下,我希望有 2 个具有不同 URL 的不同报告。但我不确定 GitHub Pages 是否允许这样做。

所以我尝试将 2 个套件的结果存储在 2 个不同的文件夹中,然后从它们生成一份报告

所以 Workflow_1 有

--listener allure_robotframework:results/allure/folder_1

Workflow_2 有

--listener allure_robotframework:results/allure/folder_2

每个工作流程应从父文件夹收集报告

 - 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

但是新报告只是覆盖了旧报告。

github-actions robotframework allure
1个回答
0
投票

您可以通过在 gh-pages 分支内创建两个不同的子目录来实现此目的。

© www.soinside.com 2019 - 2024. All rights reserved.