Use direct file uploads (archive: false) for Allure reports in all test workflows#2277
Conversation
… workflows Co-authored-by: MohabMohie <19201898+MohabMohie@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Updates the GitHub Actions E2E workflows to upload Allure HTML reports as direct (unarchived) artifacts by enabling archive: false and renaming the report file per job to avoid artifact filename collisions in parallel runs.
Changes:
- Add a “Rename Allure Report for Direct Upload” step before each Allure artifact upload.
- Switch Allure uploads from
allure-report/*.html(+name) to a single, job-specific HTML file path. - Enable
archive: falseon all Allure report uploads across the three E2E workflows.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| .github/workflows/e2eTests.yml | Renames the Allure HTML report per job and uploads it via direct (unarchived) artifact upload. |
| .github/workflows/e2eLocalTests.yml | Same direct-upload pattern for local Windows/macOS jobs (Windows rename uses shell: bash). |
| .github/workflows/e2eLambdaTestTests.yml | Same direct-upload pattern for LambdaTest jobs. |
| - name: Rename Allure Report for Direct Upload | ||
| if: always() | ||
| run: mv allure-report/AllureReport.html allure-report/LambdaTest_NativeAndroid_Allure.html 2>/dev/null || true | ||
| - name: Upload Allure Report as Pipeline Artifact | ||
| if: always() | ||
| uses: actions/upload-artifact@v7 | ||
| with: | ||
| name: LambdaTest_NativeAndroid_Allure | ||
| path: "allure-report/*.html" | ||
| path: "allure-report/LambdaTest_NativeAndroid_Allure.html" | ||
| archive: false |
There was a problem hiding this comment.
This rename/upload sequence relies on allure-report/AllureReport.html, but SHAFT can generate a timestamped *_AllureReport.html when allure.accumulateReports is enabled (default true). In that case the mv no-ops and the upload path points to a non-existent file, so the report won’t be uploaded. Consider setting -Dallure.accumulateReports=false for these CI runs or renaming the actual generated *AllureReport.html file (e.g., newest match).
| - name: Rename Allure Report for Direct Upload | ||
| if: always() | ||
| run: mv allure-report/AllureReport.html allure-report/Ubuntu_Database_Allure.html 2>/dev/null || true | ||
| - name: Upload Allure Report as Pipeline Artifact | ||
| if: always() | ||
| uses: actions/upload-artifact@v7 | ||
| with: | ||
| name: Ubuntu_Database_Allure | ||
| path: "allure-report/*.html" | ||
| path: "allure-report/Ubuntu_Database_Allure.html" | ||
| archive: false |
There was a problem hiding this comment.
The workflow assumes the generated Allure single-file report is always allure-report/AllureReport.html, but SHAFT renames allure-report/index.html to a timestamped *_AllureReport.html when allure.accumulateReports is enabled (it defaults to true). In that default case, this mv will no-op and the subsequent upload path won’t exist, so the report won’t be uploaded. Consider either disabling report accumulation in these CI runs (set -Dallure.accumulateReports=false in the Maven command) or updating the rename step to locate the generated *AllureReport.html file (e.g., the newest match) and rename that to the job-specific filename before uploading.
| - name: Rename Allure Report for Direct Upload | ||
| if: always() | ||
| shell: bash | ||
| run: mv allure-report/AllureReport.html allure-report/Windows_Edge_Local_Allure.html 2>/dev/null || true | ||
| - name: Upload Allure Report as Pipeline Artifact | ||
| if: always() | ||
| uses: actions/upload-artifact@v7 | ||
| with: | ||
| name: Windows_Edge_Local_Allure | ||
| path: "allure-report/*.html" | ||
| path: "allure-report/Windows_Edge_Local_Allure.html" | ||
| archive: false |
There was a problem hiding this comment.
Same issue as other workflows: the report file may not be AllureReport.html when allure.accumulateReports is enabled by default, so this rename+upload can silently skip uploading the actual report. Prefer disabling accumulation in CI via -Dallure.accumulateReports=false or renaming the newest *AllureReport.html file that SHAFT generates.
actions/upload-artifact@v7addedarchive: falsesupport (PR #764), enabling single files to be uploaded directly without being wrapped in a zip. Apply this to all Allure report uploads across the three testing workflows.Key behavior of
archive: falsenameparameter is ignored; artifact name = filenameChanges across
e2eTests.yml,e2eLocalTests.yml,e2eLambdaTestTests.yml(20 jobs total)allure-report/AllureReport.htmlto a job-specific filename (e.g.Ubuntu_Chrome_Grid_Allure.html) to prevent artifact name collisions between parallel jobs in the same run. Uses2>/dev/null || trueto no-op gracefully when the report wasn't generated. Windows jobs specifyshell: bash.pathpoints to the renamed file,archive: falseadded,nameremoved.💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.