Skip to content

Allure reports without running an Allure server

Allure's report is gorgeous — and traditionally trapped behind allure serve on someone's laptop, or a self-hosted server you now maintain. Generate the static report, ship the folder, done.

Drop your Allure report here — get a live link

free, no account, live for 30 days.

Shipping…

The artifact dead-end

allure serve spins up a local web server — useless for the teammate who just wants to see the failures. The 'proper' answer is hosting Allure Server or bolting S3 + Lambda + auth together, which is a lot of infrastructure for a test report.

But allure generate already emits a static site. Everything the server does for viewing, a plain static host does better — faster and with nothing to maintain.

Two lines to a live link

Build your output like you already do, then hand the folder to the action:

Generate the report

allure generate allure-results -o allure-report --clean

.github/workflows/ci.yml

- uses: bitgate/ship-page-action@v1
  if: always()
  with:
    engine: allure

engine: allure makes the action find allure-report/ on its own — prefer explicit? path: allure-report/ does the same thing. Omit both and every known report gets probed; two or more matches land behind one URL with a built-in switcher. The link goes in the job summary — add comment: true and it lands on the pull request too.

What you get

  • Suites, categories, history tabs and attachments render exactly as generated — the folder is served as-is
  • Works for every Allure adapter — JUnit, TestNG, pytest, Playwright, Cucumber — they all emit the same static report
  • Omit path entirely — the action auto-detects allure-report/

Questions

Does the history/trend tab work?

The trend uses data baked into allure-results at generation time. Keep a history/ folder between runs (cache it in CI) and allure generate includes it — the deployed report shows the full trend.

Can I deploy from Jenkins or GitLab instead of GitHub Actions?

Yes — the action is GitHub-only, but the API is one curl. Zip the folder and POST it to https://ship.page/deploy; see /docs/ci-curl for the recipe.

What about large result sets?

Anonymous drops take up to 500 files; an API key raises that to 900, and chunked uploads go to 10,000 — enough for very large suites.

Try it on your next run

Anonymous deploys need no account and no key — paste the step, get a link. When you want stable URLs that redeploy in place, an API key and a name are all it takes.

Need to share the report with someone outside GitHub? How to share a GitHub Actions artifact without a login.