Skip to content

feat: integrate Allure reporting and enhance CI workflows for better test visibility#63

Merged
JoachimLK merged 2 commits into
mainfrom
feat/allure-reports
Feb 28, 2026
Merged

feat: integrate Allure reporting and enhance CI workflows for better test visibility#63
JoachimLK merged 2 commits into
mainfrom
feat/allure-reports

Conversation

@JoachimLK

@JoachimLK JoachimLK commented Feb 28, 2026

Copy link
Copy Markdown
Contributor

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

  • New Features

    • Allure test reporting added with dashboards, history tracking, and a GitHub Pages publish of the report.
    • Playwright configured to always produce Allure output for CI and local runs.
    • Generated JUnit XML results uploaded for integration visibility.
    • README badges added for E2E, PR validation, and Docker integration workflows.
  • Chores

    • CI summaries and reporting improved; CI ignores updated to exclude Allure artifacts.
    • NPM scripts added to generate and open Allure reports.

@railway-app railway-app Bot temporarily deployed to applirank / reqcore-pr-63 February 28, 2026 19:38 Destroyed
@railway-app

railway-app Bot commented Feb 28, 2026

Copy link
Copy Markdown

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

Service Status Web Updated (UTC)
applirank 🕗 Deploying (View Logs) Feb 28, 2026 at 7:53 pm

@coderabbitai

coderabbitai Bot commented Feb 28, 2026

Copy link
Copy Markdown

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

📥 Commits

Reviewing files that changed from the base of the PR and between fcc9f98 and 14d1ba9.

📒 Files selected for processing (2)
  • .github/workflows/e2e-tests.yml
  • .github/workflows/pr-validation.yml
 _________________________________________
< Time zones: the final boss of software. >
 -----------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ

✏️ Tip: You can disable in-progress messages and the fortune message in your review settings.

📝 Walkthrough

Walkthrough

Implements Allure reporting integration into the CI/CD pipeline and Playwright test configuration. Adds Allure npm packages, modifies Playwright to report test results to Allure, introduces new GitHub Actions workflows for publishing Allure reports and consolidating test summaries, and updates repository documentation with status badges.

Changes

Cohort / File(s) Summary
Allure Core Integration
package.json, playwright.config.ts
Added Allure npm packages (allure-commandline, allure-playwright) and npm scripts for report generation. Modified Playwright configuration to consistently include allure-playwright reporter in both CI and local environments with outputFolder set to allure-results.
Workflow Test Reporting
.github/workflows/e2e-tests.yml, .github/workflows/docker-readme-validation.yml, .github/workflows/pr-validation.yml
Enhanced workflows with step identifiers, reporting blocks, and summary generation. E2E workflow downloads Allure history, generates reports, and uploads artifacts for trend tracking. Docker and PR validation workflows added structured summaries with step outcome tracking.
Allure Report Publication
.github/workflows/allure-pages.yml
New workflow triggered after E2E tests completes. Downloads allure-report artifact, configures GitHub Pages, and deploys Allure report to Pages.
Repository Configuration and Documentation
.gitignore, README.md
Added allure-results/ and allure-report/ to gitignore. Added E2E Tests, PR Validation, and Docker Integration status badges to README.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~28 minutes

Possibly related PRs

Poem

🐰 Allure reports hop into the fold,
Stories of tests, in dashboards told,
GitHub Pages gleams with reports so bright,
E2E rabbits testing through the night!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description only contains the template with unchecked boxes and lacks substantive content; required sections for summary, type of change, validation details, and DCO status remain incomplete. Fill in the Summary section explaining what changed and why, select the appropriate Type of change (appears to be Feature), complete Validation checklist items, and confirm DCO compliance with signed-off commits.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main changes: integrating Allure reporting and enhancing CI workflows for improved test visibility, which directly aligns with 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 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: 3

🧹 Nitpick comments (1)
.github/workflows/pr-validation.yml (1)

68-68: Install status row is derived from the wrong step outcome.

Track install with its own id and render steps.install.outcome directly instead of inferring from tests.

Suggested refactor
-      - name: Install dependencies
-        run: npm ci
+      - name: Install dependencies
+        id: install
+        run: npm ci
-          echo "| Install dependencies | $(status_icon '${{ steps.tests.outcome != 'skipped' && 'success' || 'failure' }}') |" >> "$GITHUB_STEP_SUMMARY"
+          echo "| Install dependencies | $(status_icon '${{ steps.install.outcome }}') ${{ steps.install.outcome }} |" >> "$GITHUB_STEP_SUMMARY"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/pr-validation.yml at line 68, The install-status row is
currently inferred from the tests outcome; add an explicit id to the install
step (e.g., set id: install on the job step that runs dependency installation)
and change the summary line to reference steps.install.outcome directly instead
of "${{ steps.tests.outcome ... }}"; update the echo that writes the Install
dependencies row to use $(status_icon '${{ steps.install.outcome != 'skipped' &&
'success' || 'failure' }}') so the install row reflects the actual install step
outcome.
🤖 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 104-109: The "Download previous Allure history" step using
actions/download-artifact@v4 must include run-id and github-token so it can
fetch the artifact from the prior workflow run; update that step (named
"Download previous Allure history") to add inputs run-id: ${{
steps.get_previous_run.outputs.run_id }} and github-token: ${{
secrets.GITHUB_TOKEN }} (or equivalent token), and add/ensure a preceding step
(e.g., "get_previous_run") that queries the GitHub REST API and exposes the
previous workflow's run_id as an output so the download action can restore the
"allure-history" artifact across runs.

In @.github/workflows/pr-validation.yml:
- Around line 59-60: Update the step condition that currently reads `if: ${{
!cancelled() }}` so the PR summary step always runs even after prior failures;
replace it with `if: ${{ always() && !cancelled() }}` to ensure the summary
renders on failed runs while still skipping on cancellation—locate the step with
the `if: ${{ !cancelled() }}` condition in the workflow and update that
condition accordingly.
- Around line 47-49: The audit step uses "npm audit --audit-level=high 2>&1 |
tee audit-output.txt" which can mask failures because pipefail isn't enabled;
update the workflow step to enable pipefail (e.g., set the shell to bash and run
"set -o pipefail" before the pipeline or prefix with "set -o pipefail &&") so
the step fails when npm audit exits non‑zero—locate the command string "npm
audit --audit-level=high 2>&1 | tee audit-output.txt" in the workflow and modify
the step to use bash with pipefail enabled.

---

Nitpick comments:
In @.github/workflows/pr-validation.yml:
- Line 68: The install-status row is currently inferred from the tests outcome;
add an explicit id to the install step (e.g., set id: install on the job step
that runs dependency installation) and change the summary line to reference
steps.install.outcome directly instead of "${{ steps.tests.outcome ... }}";
update the echo that writes the Install dependencies row to use $(status_icon
'${{ steps.install.outcome != 'skipped' && 'success' || 'failure' }}') so the
install row reflects the actual install step outcome.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between dd6a7f3 and fcc9f98.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (8)
  • .github/workflows/allure-pages.yml
  • .github/workflows/docker-readme-validation.yml
  • .github/workflows/e2e-tests.yml
  • .github/workflows/pr-validation.yml
  • .gitignore
  • README.md
  • package.json
  • playwright.config.ts

Comment thread .github/workflows/e2e-tests.yml
Comment thread .github/workflows/pr-validation.yml
Comment thread .github/workflows/pr-validation.yml Outdated
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