通过 GitHub Actions 生成的每个魅力报告都有单独的 GitHub Pages URL

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

我有这个工作流程来生成 allure 报告并部署在 gh-pages 上:

  - name: Generate Allure report
    run: |
      allure generate allure-raw -o allure-report

  - name: Generate timestamp
    id: timestamp
    run: echo "::set-output name=timestamp::$(date +%Y%m%d%H%M%S)"

  - name: Create reports directory
    run: mkdir -p uireports/${{ steps.timestamp.outputs.timestamp }}

  - name: Copy Allure report
    run: |
      mkdir -p uireports/${{ steps.timestamp.outputs.timestamp }}
      cp -R allure-report/. uireports/${{ steps.timestamp.outputs.timestamp }}

  - name: Deploy to GitHub Pages
    uses: peaceiris/actions-gh-pages@v3
    with:
      github_token: ${{ secrets.GITHUB_TOKEN }}
      publish_dir: uireports/${{ steps.timestamp.outputs.timestamp }}
      publish_branch: gh-pages
      force_orphan: true

生成报告后,会触发另一个工作流程来构建和部署报告:

workflow graph

但是每次运行后该报告都会被覆盖。我想保留可通过各自的 URL 访问的所有报告。

我尝试通过将其复制到基于时间戳的文件夹并生成 URL 来实现它:

- name: Get GitHub Pages URL
  id: get_pages_url
  run: |
    echo "URL=https://${{ github.repository_owner }}.github.io/${{ github.repository }}/uireports/${{ steps.timestamp.outputs.timestamp }}/index.html" >> $GITHUB_ENV

但这不起作用,给出 404。

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

您可以传递report_url参数来自定义url。有关更多信息,请参阅此提交合并https://github.com/simple-elf/allure-report-action/pull/13

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