我有这个工作流程来生成 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
生成报告后,会触发另一个工作流程来构建和部署报告:
但是每次运行后该报告都会被覆盖。我想保留可通过各自的 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。
您可以传递report_url参数来自定义url。有关更多信息,请参阅此提交合并https://github.com/simple-elf/allure-report-action/pull/13