Repository navigation
Conversation
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 |
| - name: GCP Authentication | ||
| if: inputs.gcs-upload == 'true' | ||
| uses: google-github-actions/auth@v2 |
There was a problem hiding this comment.
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:
| - 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.
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-commandlinegenerate, 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 whengcs-uploadis true.Inputs
results-patterndownload-artifactpreprocess-command''categories-file''allure-results/categories.jsonwhen setgcs-uploadtruefalsegcs-bucket''gs://gcs-dest''mainrestoresmain/historygcp-project-number''gcp-project-id''report-url-base''artifact-nameallure-reportallure-version2.41.0allure-commandlineversionfail-on-upload-errorfalseOutputs
report-dir— generated HTML directory (allure-report)uploaded—truewhen GCS upload succeededCallers check out the repo first and set
contents: read,id-token: write, andactions: read.✨ 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 $\rightarrow$ executes optional preprocessing $\rightarrow$ generates HTML report via $\rightarrow$ uploads to GCS and attaches link to GitHub Step Summary.
gcs-destismainnpx allure-commandlineGenerated 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