AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Lg5 Allure Report

skill-lg-labs-pentagon-lg5-spring-agent-os-lg5-allure-report · by lg-labs-pentagon

How to wire Allure Report into the Cucumber acceptance-test module of an lg5-spring service. Covers `allure-cucumber7-jvm` + `allure-junit-platform` 2.29.1 dependencies, registering `io.qameta.allure.cucumber7jvm.AllureCucumber7Jvm` as a Cucumber plugin in `AcceptanceTestCase`, pinning the results directory via `allure.properties`, and the CI job that downloads Allure CLI 2.32.0 and generates the…

No reviews yet
0 installs
35 views
0.0% view→install

Install

$ agentstack add skill-lg-labs-pentagon-lg5-spring-agent-os-lg5-allure-report

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-lg-labs-pentagon-lg5-spring-agent-os-lg5-allure-report)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Lg5 Allure Report? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

lg5-spring — Allure Report (Cucumber + JUnit Platform)

> Reference impl: blank-service/blank-acceptance-test/ and the allure > CI job in blank-service/.github/workflows/c-integration.yml.

Why this exists

The default Cucumber pretty/json/html plugins produce a single cucumber-reports.html that's enough for CI sanity but not for browsing trends, attaching screenshots, grouping by epic/feature/story, or diff-ing runs. Allure Report fixes all of that with a polished, filterable dashboard — and it plugs into Cucumber 7 + JUnit Platform without forcing a Maven plugin on the build.

Wiring in three places

1) -acceptance-test/pom.xml — add two deps


  io.qameta.allure
  allure-cucumber7-jvm
  2.29.1
  test

  io.qameta.allure
  allure-junit-platform
  2.29.1
  test

> Both pinned to 2.29.1 (latest stable as of 2026-05-10; aligned with > the Allure CLI 2.32.0 used in CI).

2) AcceptanceTestCase.java — register the Cucumber plugin

Append io.qameta.allure.cucumber7jvm.AllureCucumber7Jvm to the existing PLUGIN_PROPERTY_NAME value. Keep the legacy plugins so backward consumers (CI badges, IDE) still work:

@Suite
@IncludeEngines("cucumber")
@SelectClasspathResource("features")
@ConfigurationParameters({
    @ConfigurationParameter(key = Constants.PLUGIN_PROPERTY_NAME, value = "pretty, " +
        "json:target/atdd-reports/cucumber.json, " +
        "html:target/atdd-reports/cucumber-reports.html, " +
        "io.qameta.allure.cucumber7jvm.AllureCucumber7Jvm"),
    @ConfigurationParameter(key = Constants.GLUE_PROPERTY_NAME, value = "com..")
})
class AcceptanceTestCase { /* … */ }

3) src/test/resources/allure.properties — pin the results dir

Single line. Required so the Allure CLI in CI knows where to read from:

allure.results.directory=target/allure-results

> Full file: templates/src/test/resources/allure.properties.

CI job (Allure CLI 2.32.0)

Lives downstream of test (the ATDD job) in c-integration.yml. Runs even when test fails (if: always()) so flaky-run dashboards are preserved:

allure:
  name: Allure Report
  runs-on: ubuntu-latest
  needs: test
  if: always()
  steps:
    - uses: actions/checkout@v5

    - name: Download Allure raw results
      uses: actions/download-artifact@v5
      with:
        name: allure-results
        path: ./allure-results
      continue-on-error: true

    - name: Set up Allure CLI
      run: |
        set -euo pipefail
        ALLURE_VERSION=2.32.0
        curl -sL "https://github.com/allure-framework/allure2/releases/download/${ALLURE_VERSION}/allure-${ALLURE_VERSION}.tgz" \
          | tar -xz -C "$HOME"
        echo "$HOME/allure-${ALLURE_VERSION}/bin" >> "$GITHUB_PATH"

    - name: Generate Allure HTML report
      run: |
        set -euo pipefail
        allure --version
        allure generate ./allure-results --clean -o ./allure-report

    - name: Upload Allure HTML report
      uses: actions/upload-artifact@v4
      with:
        name: allure-report
        path: ./allure-report

The test job must upload allure-results for this to consume:

- name: Upload Allure raw results
  if: always()
  uses: actions/upload-artifact@v4
  with:
    name: allure-results
    path: ./-acceptance-test/target/allure-results
    if-no-files-found: ignore

Conventions

  • Don't add the allure-maven-plugin. We rely on the JVM Cucumber

plugin to write results and the Allure CLI to render them. Keeps the Maven build lean and the CLI version (which controls the UI) decoupled from the deps.

  • Keep the legacy pretty/json/html Cucumber plugins. The Allure

plugin is additive, not a replacement.

  • Pin the CLI (ALLURE_VERSION=2.32.0) for reproducibility across

runs. Bump deliberately.

  • if: always() + continue-on-error on the download step ensures

the dashboard still renders when ATDD fails — that's exactly when you need it most.

Anti-patterns

  • ❌ Replacing html:target/atdd-reports/cucumber-reports.html with the

Allure plugin alone. Some downstream consumers (PR comment bots, CI badges) still need the plain Cucumber HTML.

  • ❌ Adding io.qameta.allure:allure-maven as a `` in the build

lifecycle. Couples Maven to the Allure UI version.

  • ❌ Letting the CLI download float on latest. Reproducibility broken

on every Allure release.

  • ❌ Hard-coding the results path in Java code (e.g.

Allure.setResultsDirectory(...)). Use allure.properties.

Verifying locally

# Run ATDD as usual
make run-atdd-module

# Render the dashboard
brew install allure   # or download CLI 2.32.0 manually
allure serve -acceptance-test/target/allure-results

A browser opens with the dashboard. allure generate --clean -o ./allure-report produces a static directory you can host anywhere.

See also

  • lg5-atdd — the Cucumber + Testcontainers wiring this skill plugs

into.

  • lg5-github-actions — the workflow that hosts the allure job.
  • /scaffold-ci-cd command — copies all the wiring at once.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.