Skip to content

Use direct file uploads (archive: false) for Allure reports in all test workflows#2277

Merged
MohabMohie merged 2 commits into
mainfrom
copilot/implement-file-uploads-all-workflows
Mar 2, 2026
Merged

Use direct file uploads (archive: false) for Allure reports in all test workflows#2277
MohabMohie merged 2 commits into
mainfrom
copilot/implement-file-uploads-all-workflows

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 2, 2026

actions/upload-artifact@v7 added archive: false support (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: false

  • File is uploaded unzipped — directly openable in the browser after download
  • name parameter is ignored; artifact name = filename
  • Only single-file paths supported (no glob resolving to multiple files)

Changes across e2eTests.yml, e2eLocalTests.yml, e2eLambdaTestTests.yml (20 jobs total)

  • Rename step added before each upload: renames allure-report/AllureReport.html to a job-specific filename (e.g. Ubuntu_Chrome_Grid_Allure.html) to prevent artifact name collisions between parallel jobs in the same run. Uses 2>/dev/null || true to no-op gracefully when the report wasn't generated. Windows jobs specify shell: bash.
  • Upload step updated: path points to the renamed file, archive: false added, name removed.
- name: Rename Allure Report for Direct Upload
  if: always()
  run: mv allure-report/AllureReport.html allure-report/Ubuntu_Chrome_Grid_Allure.html 2>/dev/null || true

- name: Upload Allure Report as Pipeline Artifact
  if: always()
  uses: actions/upload-artifact@v7
  with:
    path: "allure-report/Ubuntu_Chrome_Grid_Allure.html"
    archive: false

💡 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.

… workflows

Co-authored-by: MohabMohie <19201898+MohabMohie@users.noreply.github.com>
Copilot AI changed the title [WIP] Implement direct file uploads for Allure report Use direct file uploads (archive: false) for Allure reports in all test workflows Mar 2, 2026
@MohabMohie MohabMohie marked this pull request as ready for review March 2, 2026 19:02
Copilot AI review requested due to automatic review settings March 2, 2026 19:02
@MohabMohie MohabMohie merged commit 56b6bae into main Mar 2, 2026
3 checks passed
@MohabMohie MohabMohie deleted the copilot/implement-file-uploads-all-workflows branch March 2, 2026 19:02
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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: false on 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.

Comment on lines +36 to +44
- 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
Copy link

Copilot AI Mar 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.
Comment on lines +57 to +65
- 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
Copy link

Copilot AI Mar 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines +40 to +49
- 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
Copy link

Copilot AI Mar 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants