Skip to content

chore: migrate from Allure 2 to Allure 3#64

Closed
JoachimLK wants to merge 1 commit into
mainfrom
feat/allure-reports
Closed

chore: migrate from Allure 2 to Allure 3#64
JoachimLK wants to merge 1 commit into
mainfrom
feat/allure-reports

Conversation

@JoachimLK

@JoachimLK JoachimLK commented Mar 1, 2026

Copy link
Copy Markdown
Contributor
  • Replace allure-commandline@^2.37.0 with allure@^3.3.1 (TypeScript-based, no Java required)
  • Add allurerc.mjs config with awesome plugin and .jsonl history
  • Update e2e-tests.yml: new .jsonl history model, allure-framework/allure-report@v0 PR comment action
  • Update allure-pages.yml: artifact path allure-report/awesome/ for Allure 3 plugin output
  • Update .gitignore: add allure-history.jsonl

Summary

  • What does this PR change?
  • Why is this needed?

Type of change

  • Bug fix
  • Feature
  • Refactor
  • Docs
  • Chore

Validation

  • I tested locally
  • I added/updated relevant documentation
  • I verified multi-tenant scoping and auth behavior for affected API paths

DCO

  • All commits in this PR are signed off (Signed-off-by) via git commit -s

Summary by CodeRabbit

  • Tests

    • Upgraded Allure test reporting framework to v3 with enhanced report generation and formatting capabilities
  • Chores

    • Updated GitHub Actions workflows to streamline test report creation and artifact publishing processes
    • Added new test report configuration file enabling advanced plugin capabilities and system environment tracking
    • Enhanced test artifact management with improved history tracking and file organization

- Replace allure-commandline@^2.37.0 with allure@^3.3.1 (TypeScript-based, no Java required)
- Add allurerc.mjs config with awesome plugin and .jsonl history
- Update e2e-tests.yml: new .jsonl history model, allure-framework/allure-report@v0 PR comment action
- Update allure-pages.yml: artifact path allure-report/awesome/ for Allure 3 plugin output
- Update .gitignore: add allure-history.jsonl
@railway-app

railway-app Bot commented Mar 1, 2026

Copy link
Copy Markdown

🚅 Deployed to the reqcore-pr-64 environment in applirank

Service Status Web Updated (UTC)
applirank ✅ Success (View Logs) Mar 1, 2026 at 7:32 am

@railway-app railway-app Bot temporarily deployed to applirank / reqcore-pr-64 March 1, 2026 07:28 Destroyed
@coderabbitai

coderabbitai Bot commented Mar 1, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

This PR migrates Allure reporting from v2 to v3 by updating GitHub Actions workflows, introducing an allurerc.mjs configuration file, upgrading package dependencies, and adjusting artifact paths and history file formats to align with the new Allure v3 pipeline structure.

Changes

Cohort / File(s) Summary
GitHub Actions Workflows
.github/workflows/allure-pages.yml, .github/workflows/e2e-tests.yml
Updated to Allure v3 pipeline: modified artifact paths to allure-report/awesome/, replaced multi-step history retrieval with direct artifact download, simplified Allure generation command (removed --clean and -o flags), added PR summary step, updated history upload format to allure-history.jsonl, added workflow permissions for pull-requests and checks.
Allure Configuration
allurerc.mjs
New configuration file defining Allure v3 setup with report name, output/history paths, awesome plugin with single-file report and language settings, and environment variable capture (OS/Node.js metadata).
Dependencies & Gitignore
package.json, .gitignore
Replaced allure-commandline v2.37.0 with allure v3.3.1; updated report:allure:generate script to remove --clean and -o flags; added allure-history.jsonl to gitignore.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 From v2 to v3, we hop with cheer,
New awesome plugins appear right here,
History flows like clover in spring,
GitHub workflows dance and sing,
Allure reports now bloom so bright! 🌟

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The description includes a detailed bulleted summary of changes but leaves the Summary section template items ('What does this PR change?' and 'Why is this needed?') empty, and all Type of change and Validation checkboxes are unchecked. Fill in the Summary section with explicit answers to 'What does this PR change?' and 'Why is this needed?', and check the relevant Type of change checkbox (likely Chore).
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and concisely summarizes the primary change: upgrading from Allure 2 to Allure 3, which is the main focus of all modifications in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/allure-reports

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/e2e-tests.yml:
- Around line 121-127: Update the "Post Allure summary to PR" GitHub Action
step: change the uses reference from allure-framework/allure-report@v0 to a
maintained action (verify availability first) and set the report-directory input
to ./allure-report instead of ./; specifically update the step named "Post
Allure summary to PR" to point to a working action (e.g.,
simple-elf/allure-report-with-history or andgineer/allure-report) and ensure the
with: report-directory field is ./allure-report and github-token remains ${{
secrets.GITHUB_TOKEN }}.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 12cc970 and 1ea6dd3.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (5)
  • .github/workflows/allure-pages.yml
  • .github/workflows/e2e-tests.yml
  • .gitignore
  • allurerc.mjs
  • package.json

Comment on lines +121 to +127
- name: Post Allure summary to PR
if: ${{ !cancelled() && github.event_name == 'pull_request' }}
uses: allure-framework/allure-report@v0
with:
report-directory: ./
github-token: ${{ secrets.GITHUB_TOKEN }}
continue-on-error: true

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

allure-framework/allure-report GitHub action documentation v0

💡 Result:

The official documentation for the GitHub Action version allure-framework/allure-report@v0 is in the Allure Report docs under “GitHub Action integration”. It explains prerequisites (must generate an Allure 3 HTML report that contains {report-directory}/summary.json), required GitHub permissions, configuration, and quality-gate behavior. [1]

Minimal usage (from the docs):

permissions:
  pull-requests: write
  checks: write

- name: Run Allure Action
  uses: allure-framework/allure-report@v0
  with:
    report-directory: "./allure-report"
    github-token: ${{ secrets.GITHUB_TOKEN }}

[1]

Notes from the same doc page:

  • The action reads summary.json from the generated HTML report directory to post a PR summary comment. [1]
  • If you use Allure quality gates, it also creates a GitHub Check and reads {report-directory}/quality-gate.json. [1]

🏁 Script executed:

# Check if there are other references to this action in the codebase
rg "allure-report" --type yaml -B 2 -A 5

Repository: reqcore-inc/reqcore

Length of output: 45


🏁 Script executed:

# Look for any documentation or comments about allure configuration in the repo
fd README -o CONTRIBUTING -o "*.md" | xargs rg -l "allure" 2>/dev/null | head -5

Repository: reqcore-inc/reqcore

Length of output: 288


🌐 Web query:

allure-framework/allure-report releases tags v0 version history GitHub

💡 Result:

allure-framework/allure-report is not a GitHub repo anymore (404 Not Found), so there’s no “v0.*” tag/release history to retrieve from it. [1]

The Allure Report codebase/releases are published under:

  • Allure 2: allure-framework/allure2 — use GitHub Tags / Releases pages. Its tags are 2.x (e.g., 2.36.0 dated Dec 10, 2025) and do not include any v0.* tags. [2][3]
  • Allure 3 (beta): allure-framework/allure3 — releases/tags are **v3.0.0-beta.*`. [4]

Sources

  • [1] GitHub repository URL returns 404. ()
  • [2] allure-framework/allure2 tags list (shows 2.x tags; e.g., 2.36.0 on Dec 10, 2025). (github.com)
  • [3] allure-framework/allure2 releases page. (github.com)
  • [4] allure-framework/allure3 releases page (v3 beta tags). (github.com)

Citations:


🏁 Script executed:

# Check the allurerc.mjs to see what report directory is configured
cat allurerc.mjs

Repository: reqcore-inc/reqcore

Length of output: 559


🌐 Web query:

"allure-framework/allure-report" GitHub action marketplace

💡 Result:

I couldn’t find a GitHub Marketplace listing for the action repo allure-framework/allure-report. The official Allure docs still show it as a usable action by reference in workflows (e.g., uses: allure-framework/allure-report@v0). [1]

If you specifically need a Marketplace-listed Allure report action, common options include:

  • simple-elf/allure-report-with-history (Marketplace: “Allure Report with history”). [2]
  • andgineer/allure-report (Marketplace: “generate-allure-report”). [3]

Sources
[1] Allure Report docs – GitHub Action integration: (allurereport.org)
[2] GitHub Marketplace – “Allure Report with history”: (github.com)
[3] GitHub Marketplace – “generate-allure-report”: (github.com)

Citations:


🏁 Script executed:

# Check if this action exists by searching the GitHub Actions marketplace or common action repos
rg "allure-report" . --type yaml -B 5 -A 10

Repository: reqcore-inc/reqcore

Length of output: 45


🏁 Script executed:

# Get the full context of the workflow around the allure action
sed -n '115,135p' .github/workflows/e2e-tests.yml

Repository: reqcore-inc/reqcore

Length of output: 752


🏁 Script executed:

# Try to access the allure-framework/allure-report repository directly
curl -s -o /dev/null -w "%{http_code}" https://api.github.com/repos/allure-framework/allure-report

Repository: reqcore-inc/reqcore

Length of output: 66


🏁 Script executed:

# Check if the action might be archived or under a different name
curl -s https://api.github.com/repos/allure-framework/allure-report 2>/dev/null | jq '.message, .archived' 2>/dev/null || echo "Repo not found"

Repository: reqcore-inc/reqcore

Length of output: 79


Fix incorrect report-directory input and verify action availability.

The allure-framework/allure-report@v0 repository returns a 404—it appears to no longer exist or is archived. Additionally, the report-directory input is incorrect. Per the official Allure documentation, it should be ./allure-report (where the report is generated by allure generate), not ./. The action reads summary.json from the specified report directory, so using ./ will cause the action to fail.

Correction needed:
- name: Post Allure summary to PR
  if: ${{ !cancelled() && github.event_name == 'pull_request' }}
  uses: allure-framework/allure-report@v0
  with:
    report-directory: ./allure-report
    github-token: ${{ secrets.GITHUB_TOKEN }}
  continue-on-error: true

Verify that the action is still available and maintained; if not, consider using an alternative such as simple-elf/allure-report-with-history or andgineer/allure-report.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/e2e-tests.yml around lines 121 - 127, Update the "Post
Allure summary to PR" GitHub Action step: change the uses reference from
allure-framework/allure-report@v0 to a maintained action (verify availability
first) and set the report-directory input to ./allure-report instead of ./;
specifically update the step named "Post Allure summary to PR" to point to a
working action (e.g., simple-elf/allure-report-with-history or
andgineer/allure-report) and ensure the with: report-directory field is
./allure-report and github-token remains ${{ secrets.GITHUB_TOKEN }}.

@JoachimLK JoachimLK closed this Mar 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant