Skip to content

feat: add build-allure-report composite action - #66

Open
Ntnelbaba wants to merge 2 commits into
mainfrom
feat/build-allure-report-composite-a83c
Open

Ntnelbaba wants to merge 2 commits into
mainfrom
feat/build-allure-report-composite-a83c

Conversation

@Ntnelbaba

@Ntnelbaba Ntnelbaba commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds actions/build-allure-report, a composite action that centralizes the shared Playwright Allure report pipeline used by Elementor Core and Elementor Pro: download merged result artifacts, optional preprocess/categories, npx allure-commandline generate, workflow artifact upload, and optional GCS publish with main-branch history restore.

Additive only — no changes to existing actions or workflows. Fork/untrusted-PR guards stay in Core’s caller (via gcs-upload: false); the action only runs GCP when gcs-upload is true.

Inputs

Input Required Default Description
results-pattern yes — Artifact glob for download-artifact
preprocess-command no '' Shell command after download
categories-file no '' Copied to allure-results/categories.json when set
gcs-upload no true Skip GCP when false
gcs-bucket no '' Bucket name without gs://
gcs-dest no '' GCS prefix; main restores main/history
gcp-project-number no '' GCP project number for OIDC
gcp-project-id no '' GCP project ID for the Actions SA
report-url-base no '' Public base URL for summary link
artifact-name no allure-report Workflow artifact name
allure-version no 2.41.0 allure-commandline version
fail-on-upload-error no false Fail job on GCS upload error

Outputs

  • report-dir — generated HTML directory (allure-report)
  • uploaded — true when GCS upload succeeded

Callers check out the repo first and set contents: read, id-token: write, and actions: read.

Open in Web Open in Cursor 

✨ PR Description

1. Problem & Context

Standardizes the generation and publishing of Allure reports across Playwright CI pipelines via a reusable composite action.

2. What Changed (Where)

  • actions/build-allure-report/action.yml: Implemented composite logic for artifact merging, report generation, and GCS upload.
  • actions/build-allure-report/README.md: Added usage documentation and input/output specifications.

3. How It Works

Downloads result artifacts $\rightarrow$ restores history from GCS if gcs-dest is main $\rightarrow$ executes optional preprocessing $\rightarrow$ generates HTML report via npx allure-commandline $\rightarrow$ uploads to GCS and attaches link to GitHub Step Summary.

Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
💡 Tip: You can customize your AI Description using Guidelines Learn how

cursoragent and others added 2 commits November 2, 2026 11:42
Co-authored-by: Netanel Baba <Ntnelbaba@users.noreply.github.com>
Co-authored-by: Netanel Baba <Ntnelbaba@users.noreply.github.com>

- name: GCP Authentication
if: inputs.gcs-upload == 'true'
uses: google-github-actions/auth@v2

- name: Install gcloud CLI
if: inputs.gcs-upload == 'true' && inputs.gcs-dest == 'main'
uses: google-github-actions/setup-gcloud@v3
- name: Upload Allure report to GCP bucket
id: gcs_upload
if: inputs.gcs-upload == 'true' && hashFiles('allure-report/**') != ''
uses: google-github-actions/upload-cloud-storage@v3
if: always()
shell: bash
run: |
if [ "${{ steps.gcs_upload.outcome }}" = "success" ]; then
Comment on lines +79 to +81
- name: GCP Authentication
if: inputs.gcs-upload == 'true'
uses: google-github-actions/auth@v2

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Blocking: a GCP auth failure aborts the whole report, regardless of fail-on-upload-error.

Auth has no continue-on-error and runs before the report is generated. With fail-on-upload-error: 'false', an auth failure still means no report, no artifact, none of the caller's later steps (Pro's flaky-sheet update) and a red run. That input's description only promises a soft failure on upload, but callers will reasonably expect it to cover the whole GCS path.

It's also a regression for Pro, whose current job sets continue-on-error: true on both auth and gcloud setup.

Please apply the same expression to auth and setup-gcloud, and gate history restore and upload on auth succeeding:

Suggested change
- name: GCP Authentication
if: inputs.gcs-upload == 'true'
uses: google-github-actions/auth@v2
- name: GCP Authentication
id: auth
if: inputs.gcs-upload == 'true'
continue-on-error: ${{ inputs.fail-on-upload-error != 'true' }}
uses: google-github-actions/auth@v3

The bump to v3 also clears the Node 20 deprecation warning logged on both caller runs. Pro's inline job already uses v3 with the same inputs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants