From 8bf7b35eebda100659172187b02d65ff3376f14d Mon Sep 17 00:00:00 2001 From: rostalan Date: Mon, 11 May 2026 14:19:20 +0200 Subject: [PATCH 1/3] fix(tests): run smoke tests with partial metadata Allow smoke tests to continue when a workspace has runnable metadata for only some published plugins, and surface skipped plugin metadata gaps in workflow comments. Co-authored-by: Cursor --- .github/workflows/workspace-tests.yaml | 66 ++++++++++++++++++-------- README.md | 7 +-- user-guide/01-getting-started.md | 4 +- 3 files changed, 54 insertions(+), 23 deletions(-) diff --git a/.github/workflows/workspace-tests.yaml b/.github/workflows/workspace-tests.yaml index bef5003b4..907e81788 100644 --- a/.github/workflows/workspace-tests.yaml +++ b/.github/workflows/workspace-tests.yaml @@ -125,8 +125,9 @@ jobs: if: ${{ needs.resolve.outputs.workspace != '' }} runs-on: ubuntu-latest outputs: - plugins-metadata-complete: ${{ steps.build-dynamic-plugins.outputs.plugins-metadata-complete }} + has-runnable-plugins: ${{ steps.build-dynamic-plugins.outputs.has-runnable-plugins }} skip-tests-missing-env: ${{ steps.build-dynamic-plugins.outputs.skip-tests-missing-env }} + missing-metadata-plugins: ${{ steps.build-dynamic-plugins.outputs.missing-metadata-plugins }} steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -141,16 +142,20 @@ jobs: PUBLISHED_EXPORTS: ${{ needs.resolve.outputs.published-exports }} run: | PLUGINS_FOUND=0 + PLUGINS_SKIPPED_MISSING_METADATA=0 PLUGINS_SKIPPED_MISSING_ENV=0 TEST_PLUGINS_SKIPPED=0 TOTAL_PLUGINS=0 - PLUGINS_METADATA_COMPLETE="false" + HAS_RUNNABLE_PLUGINS="false" SKIP_TESTS_MISSING_ENV="false" + MISSING_METADATA_PLUGINS=() if [ -z "$PUBLISHED_EXPORTS" ]; then echo "No published exports provided." - echo "plugins-metadata-complete=$PLUGINS_METADATA_COMPLETE" >> "$GITHUB_OUTPUT" + echo "has-runnable-plugins=$HAS_RUNNABLE_PLUGINS" >> "$GITHUB_OUTPUT" echo "skip-tests-missing-env=$SKIP_TESTS_MISSING_ENV" >> "$GITHUB_OUTPUT" + echo "missing-metadata-plugins<> "$GITHUB_OUTPUT" + echo "EOF" >> "$GITHUB_OUTPUT" exit 0 fi @@ -203,7 +208,9 @@ jobs: echo "Plugin $PLUGIN_NAME is a test plugin without metadata, skipping this individual plugin test" TEST_PLUGINS_SKIPPED=$((TEST_PLUGINS_SKIPPED + 1)) else - echo "Metadata mapping not found for $PLUGIN_NAME: test workflow will be skipped" + echo "Metadata mapping not found for $PLUGIN_NAME: skipping this plugin" + PLUGINS_SKIPPED_MISSING_METADATA=$((PLUGINS_SKIPPED_MISSING_METADATA + 1)) + MISSING_METADATA_PLUGINS+=("$PLUGIN_NAME") fi continue fi @@ -211,6 +218,8 @@ jobs: PACKAGE_NAME=$(yq -r '.spec.packageName' "$METADATA_FILE") if [ -z "$PACKAGE_NAME" ] || [ "$PACKAGE_NAME" = "null" ]; then echo "spec.packageName not found in $METADATA_FILE, skipping" + PLUGINS_SKIPPED_MISSING_METADATA=$((PLUGINS_SKIPPED_MISSING_METADATA + 1)) + MISSING_METADATA_PLUGINS+=("$PLUGIN_NAME") continue fi @@ -264,19 +273,23 @@ jobs: if [ "$PLUGINS_FOUND" -eq 0 ]; then echo "[]" >> "$OUT_FILE" + else + HAS_RUNNABLE_PLUGINS="true" fi - # Check if all plugins were accounted for (found, skipped due to missing env, or test-only) - TOTAL_PROCESSED=$((PLUGINS_FOUND + PLUGINS_SKIPPED_MISSING_ENV + TEST_PLUGINS_SKIPPED)) echo "Plugins: $PLUGINS_FOUND/$TOTAL_PLUGINS processed successfully" + [ "${PLUGINS_SKIPPED_MISSING_METADATA:-0}" -gt 0 ] && echo "Skipped $PLUGINS_SKIPPED_MISSING_METADATA (missing runnable metadata)" [ "${PLUGINS_SKIPPED_MISSING_ENV:-0}" -gt 0 ] && echo "Skipped $PLUGINS_SKIPPED_MISSING_ENV (missing test.env)" - - if [ "$TOTAL_PROCESSED" -eq "$TOTAL_PLUGINS" ] && [ "$TOTAL_PLUGINS" -gt 0 ]; then - PLUGINS_METADATA_COMPLETE="true" + [ "${TEST_PLUGINS_SKIPPED:-0}" -gt 0 ] && echo "Skipped $TEST_PLUGINS_SKIPPED test plugin(s) without metadata" + if [ "${PLUGINS_SKIPPED_MISSING_METADATA:-0}" -gt 0 ]; then + echo "Some published plugins were skipped because they do not have runnable metadata." fi - echo "plugins-metadata-complete=$PLUGINS_METADATA_COMPLETE" >> "$GITHUB_OUTPUT" + echo "has-runnable-plugins=$HAS_RUNNABLE_PLUGINS" >> "$GITHUB_OUTPUT" echo "skip-tests-missing-env=$SKIP_TESTS_MISSING_ENV" >> "$GITHUB_OUTPUT" + echo "missing-metadata-plugins<> "$GITHUB_OUTPUT" + printf "%s\n" "${MISSING_METADATA_PLUGINS[@]}" >> "$GITHUB_OUTPUT" + echo "EOF" >> "$GITHUB_OUTPUT" - name: Upload smoke test artifacts uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 @@ -289,13 +302,13 @@ jobs: needs: - resolve - prepare-test-config - if: ${{ needs.prepare-test-config.outputs.plugins-metadata-complete == 'true' && needs.prepare-test-config.outputs.skip-tests-missing-env != 'true' }} + if: ${{ needs.prepare-test-config.outputs.has-runnable-plugins == 'true' && needs.prepare-test-config.outputs.skip-tests-missing-env != 'true' }} uses: ./.github/workflows/run-workspace-smoke-tests.yaml with: target-branch: ${{ needs.resolve.outputs.target-branch }} add-skipped-test-comment: - if: ${{ always() && needs.resolve.outputs.pr-number != 'null' && needs.resolve.outputs.pr-number != '' && (needs.resolve.outputs.workspace == '' || (needs.prepare-test-config.result != 'skipped' && (needs.prepare-test-config.outputs.plugins-metadata-complete != 'true' || needs.prepare-test-config.outputs.skip-tests-missing-env == 'true'))) }} + if: ${{ always() && needs.resolve.outputs.pr-number != 'null' && needs.resolve.outputs.pr-number != '' && (needs.resolve.outputs.workspace == '' || (needs.prepare-test-config.result != 'skipped' && (needs.prepare-test-config.outputs.has-runnable-plugins != 'true' || needs.prepare-test-config.outputs.skip-tests-missing-env == 'true'))) }} needs: - resolve - prepare-test-config @@ -310,8 +323,9 @@ jobs: env: OVERLAY_COMMIT: ${{ needs.resolve.outputs.overlay-commit }} INPUT_WORKSPACE: ${{ needs.resolve.outputs.workspace }} - INPUT_PLUGINS_METADATA_COMPLETE: ${{ needs.prepare-test-config.outputs.plugins-metadata-complete || '' }} + INPUT_HAS_RUNNABLE_PLUGINS: ${{ needs.prepare-test-config.outputs.has-runnable-plugins || '' }} INPUT_SKIP_TESTS_MISSING_ENV: ${{ needs.prepare-test-config.outputs.skip-tests-missing-env || '' }} + INPUT_MISSING_METADATA_PLUGINS: ${{ needs.prepare-test-config.outputs.missing-metadata-plugins || '' }} INPUT_PR_NUMBER: ${{ needs.resolve.outputs.pr-number }} with: script: | @@ -319,8 +333,9 @@ jobs: const overlayCommit = process.env.OVERLAY_COMMIT; const pr = Number(core.getInput('pr_number') || '0'); const workspace = core.getInput('workspace'); - const pluginsMetadataComplete = core.getInput('plugins_metadata_complete') === 'true'; + const hasRunnablePlugins = core.getInput('has_runnable_plugins') === 'true'; const skipTestsMissingEnv = core.getInput('skip_tests_missing_env') === 'true'; + const missingMetadataPlugins = (core.getInput('missing_metadata_plugins') || '').trim(); let statusDescription = 'Skipped'; let commentDetail = ' skipped for an unknown reason. Check workflow run for details.\n'; @@ -334,10 +349,15 @@ jobs: statusDescription = 'Skipped: missing smoke-tests/test.env'; commentDetail = ' skipped: missing workspace `smoke-tests/test.env` file.\n'; summaryDetail = 'Missing workspace `smoke-tests/test.env` file.'; - } else if (!pluginsMetadataComplete) { - statusDescription = 'Skipped: missing plugin metadata'; - commentDetail = ' skipped: missing plugin metadata files (`/metadata/*.yaml`).\n'; - summaryDetail = 'Missing plugin metadata files (`/metadata/*.yaml`).'; + } else if (!hasRunnablePlugins) { + statusDescription = 'Skipped: no runnable plugin metadata'; + commentDetail = ' skipped: no published plugins in this workspace have runnable metadata entries.\n'; + summaryDetail = 'No published plugins in this workspace have runnable metadata entries.'; + } + + if (missingMetadataPlugins) { + commentDetail += `\nPublished plugins skipped due to missing runnable metadata:\n\`\`\`\n${missingMetadataPlugins}\n\`\`\`\n`; + summaryDetail += `\n\nPublished plugins skipped due to missing runnable metadata:\n${missingMetadataPlugins}`; } if (overlayCommit) { @@ -367,7 +387,7 @@ jobs: .write(); add-test-result-comment: - if: ${{ always() && needs.prepare-test-config.outputs.plugins-metadata-complete == 'true' && needs.prepare-test-config.outputs.skip-tests-missing-env != 'true' }} + if: ${{ always() && needs.prepare-test-config.outputs.has-runnable-plugins == 'true' && needs.prepare-test-config.outputs.skip-tests-missing-env != 'true' }} needs: - resolve - prepare-test-config @@ -389,6 +409,7 @@ jobs: SUCCESS: ${{ needs.run-smoke-tests.outputs.success }} FAILED_PLUGINS: ${{ needs.run-smoke-tests.outputs.failed-plugins }} ERROR_LOGS: ${{ needs.run-smoke-tests.outputs.error-logs }} + MISSING_METADATA_PLUGINS: ${{ needs.prepare-test-config.outputs.missing-metadata-plugins || '' }} PR_NUMBER: ${{ needs.resolve.outputs.pr-number }} OVERLAY_COMMIT: ${{ needs.resolve.outputs.overlay-commit }} with: @@ -398,6 +419,7 @@ jobs: const successOutput = process.env.SUCCESS; const failed = (process.env.FAILED_PLUGINS || '').trim(); const errorLogs = (process.env.ERROR_LOGS || '').trim(); + const missingMetadataPlugins = (process.env.MISSING_METADATA_PLUGINS || '').trim(); const pr = Number(process.env.PR_NUMBER); const overlayCommit = process.env.OVERLAY_COMMIT; @@ -433,6 +455,9 @@ jobs: summary += `\n\n
Error logs from container\n\n\`\`\`\n${errorLogs}\n\`\`\`\n\n
`; } } + if (missingMetadataPlugins) { + summary += `\n\n**Published plugins skipped due to missing runnable metadata:**\n\`\`\`\n${missingMetadataPlugins}\n\`\`\``; + } await core.summary.addRaw(summary).write(); if (!pr) { @@ -473,6 +498,9 @@ jobs: body += `\n\n
Error logs from container\n\n\`\`\`\n${errorLogs}\n\`\`\`\n\n
`; } } + if (missingMetadataPlugins) { + body += `\n\n:warning: Published plugins skipped due to missing runnable metadata:\n\`\`\`\n${missingMetadataPlugins}\n\`\`\``; + } await github.rest.issues.createComment({ issue_number: pr, diff --git a/README.md b/README.md index 6012e2754..9e9ebc302 100644 --- a/README.md +++ b/README.md @@ -130,7 +130,8 @@ The repository includes an automated smoke testing workflow that verifies plugin **Prerequisites:** - PR must touch exactly one workspace -- Each plugin must have its own metadata file in `workspaces//metadata/` +- At least one published plugin in the workspace must have runnable metadata in `workspaces//metadata/` +- Published plugins without runnable metadata are skipped individually **Triggering smoke tests:** - After `/publish`: Smoke tests run automatically upon successful publish completion @@ -139,8 +140,8 @@ The repository includes an automated smoke testing workflow that verifies plugin **Smoke testing workflow steps:** 1. **Resolve metadata**: Retrieves published OCI references and PR metadata from the `published-exports` artifact -2. **Prepare test config**: Generates `dynamic-plugins.test.yaml` from plugin metadata (each plugin's `spec.appConfigExamples[0].content` is placed under `pluginConfig`) and copies other configuration files - base (`smoke-tests/app-config.yaml` and workspace-specific `app-config.test.yaml` app-config and `test.env`). The optional `app-config.test.yaml` is for test-only or shared workspace settings that should not appear in the user-facing `appConfigExamples` in metadata. -3. **Run smoke tests**: Starts RHDH container with layered configuration, installs dynamic plugins from OCI artifacts, and verifies each plugin loads successfully +2. **Prepare test config**: Generates `dynamic-plugins.test.yaml` from any runnable plugin metadata it finds (each plugin's `spec.appConfigExamples[0].content` is placed under `pluginConfig`) and copies other configuration files - base (`smoke-tests/app-config.yaml` and workspace-specific `app-config.test.yaml` app-config and `test.env`). Published plugins without runnable metadata are skipped; if none are runnable, smoke tests are skipped. +3. **Run smoke tests**: Starts RHDH container with layered configuration, installs dynamic plugins from OCI artifacts, and verifies each plugin included in the generated config loads successfully 4. **Report results**: Posts test status as a commit status check and PR comment with pass/fail results and links to the workflow run **Environment Variables in Smoke Tests:** diff --git a/user-guide/01-getting-started.md b/user-guide/01-getting-started.md index f88c0bb16..ad1517dd7 100644 --- a/user-guide/01-getting-started.md +++ b/user-guide/01-getting-started.md @@ -278,7 +278,9 @@ This builds and publishes test OCI artifacts tagged as `pr___`. After `/publish` completes, smoke tests run automatically if: - PR touches exactly one workspace -- Each plugin has a metadata file +- At least one published plugin has runnable metadata + +Published plugins without runnable metadata are skipped individually. Smoke tests are skipped only when no published plugin in the workspace can produce runnable metadata, or when plugin config references environment variables and the workspace `smoke-tests/test.env` file is missing. If the file exists but required variables are missing from it, the workflow fails instead of skipping. To re-run smoke tests manually: From 815f10b80a3d504c3b4eb54dfad6e275782b1889 Mon Sep 17 00:00:00 2001 From: rostalan Date: Wed, 27 May 2026 14:35:59 +0200 Subject: [PATCH 2/3] chore(workflows): use forked export-utils and surface metadata warnings Point workflow calls to the forked export-utils workflows and include metadata coverage warnings in the auto-publish PR completion comment so warning-only missing metadata is visible. --- .github/workflows/auto-publish-pr.yaml | 44 +++++++++++++++++-- .../check-backstage-compatibility.yaml | 2 +- .github/workflows/create-release-branch.yaml | 4 +- .../export-workspaces-as-dynamic.yaml | 2 +- ...lish-release-branch-workspace-plugins.yaml | 2 +- .../workflows/update-plugins-repo-refs.yaml | 4 +- 6 files changed, 48 insertions(+), 10 deletions(-) diff --git a/.github/workflows/auto-publish-pr.yaml b/.github/workflows/auto-publish-pr.yaml index 643a27dbe..2d1f554c3 100644 --- a/.github/workflows/auto-publish-pr.yaml +++ b/.github/workflows/auto-publish-pr.yaml @@ -206,6 +206,8 @@ jobs: metadata-validation-passed: ${{ steps.validate-metadata.outputs.validation-passed }} metadata-validation-errors: ${{ steps.validate-metadata.outputs.validation-errors }} metadata-validation-error-count: ${{ steps.validate-metadata.outputs.validation-error-count }} + metadata-warning-packages: ${{ steps.extract-metadata-warnings.outputs.metadata-warning-packages }} + metadata-warning-count: ${{ steps.extract-metadata-warnings.outputs.metadata-warning-count }} steps: - name: Checkout overlay repository @@ -265,13 +267,37 @@ jobs: - name: Validate Catalog Metadata id: validate-metadata - uses: redhat-developer/rhdh-plugin-export-utils/validate-metadata@main + uses: rostalan/rhdh-plugin-export-utils/validate-metadata@main with: overlay-root: ${{ github.workspace }}/overlay-repo/${{ needs.prepare.outputs.workspace }} plugins-root: ${{ github.workspace }}/source-repo/${{ steps.source-config.outputs.plugins-root }} target-backstage-version: ${{ steps.source-config.outputs.backstage-version }} image-repository-prefix: ${{ needs.prepare.outputs.image-repository-prefix }} + - name: Extract metadata warnings from step summary + id: extract-metadata-warnings + shell: bash + run: | + WARNING_PACKAGES=$( + awk ' + /## ⚠️ Metadata Coverage Warnings/ { in_section=1; next } + in_section && /^## / { in_section=0 } + in_section && /^- `.*`$/ { gsub(/^- `|`$/, ""); print } + ' "$GITHUB_STEP_SUMMARY" | sort -u + ) + + WARNING_COUNT=0 + if [ -n "$WARNING_PACKAGES" ]; then + WARNING_COUNT=$(printf "%s\n" "$WARNING_PACKAGES" | sed '/^$/d' | wc -l | tr -d ' ') + fi + + { + echo "metadata-warning-count=$WARNING_COUNT" + echo "metadata-warning-packages<> "$GITHUB_OUTPUT" + export: name: Publish PR Dynamic Plugin Images needs: @@ -285,7 +311,7 @@ jobs: (needs.check-up-to-date.result == 'success' || needs.check-up-to-date.result == 'skipped') && needs.detect-changes.outputs.only-metadata-changed != 'true' - uses: redhat-developer/rhdh-plugin-export-utils/.github/workflows/export-workspaces-as-dynamic.yaml@main + uses: rostalan/rhdh-plugin-export-utils/.github/workflows/export-workspaces-as-dynamic.yaml@main with: overlay-branch: ${{ needs.prepare.outputs.overlay-branch }} overlay-repo: ${{ needs.prepare.outputs.overlay-repo }} @@ -313,7 +339,7 @@ jobs: needs.prepare.outputs.workspace != '' && needs.detect-changes.outputs.only-metadata-changed != 'true' - uses: redhat-developer/rhdh-plugin-export-utils/.github/workflows/check-backstage-compatibility.yaml@main + uses: rostalan/rhdh-plugin-export-utils/.github/workflows/check-backstage-compatibility.yaml@main with: overlay-branch: ${{ needs.prepare.outputs.overlay-branch }} overlay-repo: ${{ needs.prepare.outputs.overlay-repo }} @@ -357,6 +383,8 @@ jobs: INPUT_METADATA_VALIDATION_PASSED: ${{ needs.export.outputs.metadata-validation-passed || needs.validate-metadata-only.outputs.metadata-validation-passed }} INPUT_METADATA_VALIDATION_ERRORS: ${{ needs.export.outputs.metadata-validation-errors || needs.validate-metadata-only.outputs.metadata-validation-errors }} INPUT_METADATA_VALIDATION_ERROR_COUNT: ${{ needs.export.outputs.metadata-validation-error-count || needs.validate-metadata-only.outputs.metadata-validation-error-count }} + INPUT_METADATA_WARNING_PACKAGES: ${{ needs.validate-metadata-only.outputs.metadata-warning-packages }} + INPUT_METADATA_WARNING_COUNT: ${{ needs.validate-metadata-only.outputs.metadata-warning-count }} INPUT_CHECK_UP_TO_DATE_RESULT: ${{ needs.check-up-to-date.result }} INPUT_EXPORT_RESULT: ${{ needs.export.result }} INPUT_CHECK_BACKSTAGE_COMPATIBILITY_RESULT: ${{ needs.check-backstage-compatibility.result }} @@ -461,6 +489,16 @@ jobs: body += metadataSection; } + const metadataWarningCount = Number(core.getInput('metadata_warning_count') || '0'); + const metadataWarningPackages = core.getMultilineInput('metadata_warning_packages'); + if (metadataWarningCount > 0 && metadataWarningPackages.length > 0) { + body += '\n\n#### Metadata Coverage Warnings\n'; + body += `⚠️ Missing metadata file(s) for **${metadataWarningCount}** package(s):`; + metadataWarningPackages.forEach(pkg => { + body += `\n - \`${pkg}\``; + }); + } + if (publishSuccess) { const [repoOwner, repoName] = core.getInput('overlay_repo').split('/'); try { diff --git a/.github/workflows/check-backstage-compatibility.yaml b/.github/workflows/check-backstage-compatibility.yaml index 6d24615e9..91d4bc3b0 100644 --- a/.github/workflows/check-backstage-compatibility.yaml +++ b/.github/workflows/check-backstage-compatibility.yaml @@ -53,7 +53,7 @@ jobs: needs: - prepare-required-plugins - uses: redhat-developer/rhdh-plugin-export-utils/.github/workflows/check-backstage-compatibility.yaml@main + uses: rostalan/rhdh-plugin-export-utils/.github/workflows/check-backstage-compatibility.yaml@main with: overlay-branch: ${{ inputs.overlay-branch }} workspace-path: ${{ inputs.workspace-path }} diff --git a/.github/workflows/create-release-branch.yaml b/.github/workflows/create-release-branch.yaml index c9fe3d751..7482617e3 100644 --- a/.github/workflows/create-release-branch.yaml +++ b/.github/workflows/create-release-branch.yaml @@ -38,7 +38,7 @@ jobs: needs: - prepare-required-plugins - uses: redhat-developer/rhdh-plugin-export-utils/.github/workflows/check-backstage-compatibility.yaml@main + uses: rostalan/rhdh-plugin-export-utils/.github/workflows/check-backstage-compatibility.yaml@main with: overlay-branch: main debug: ${{ inputs.debug || false }} @@ -120,7 +120,7 @@ jobs: contents: write export: - uses: redhat-developer/rhdh-plugin-export-utils/.github/workflows/export-workspaces-as-dynamic.yaml@main + uses: rostalan/rhdh-plugin-export-utils/.github/workflows/export-workspaces-as-dynamic.yaml@main needs: - create diff --git a/.github/workflows/export-workspaces-as-dynamic.yaml b/.github/workflows/export-workspaces-as-dynamic.yaml index 4fca321e9..47f62e313 100644 --- a/.github/workflows/export-workspaces-as-dynamic.yaml +++ b/.github/workflows/export-workspaces-as-dynamic.yaml @@ -118,7 +118,7 @@ concurrency: jobs: export: - uses: redhat-developer/rhdh-plugin-export-utils/.github/workflows/export-workspaces-as-dynamic.yaml@main + uses: rostalan/rhdh-plugin-export-utils/.github/workflows/export-workspaces-as-dynamic.yaml@main with: node-version: ${{ inputs.node-version }} janus-cli-version: ${{ inputs.janus-cli-version }} diff --git a/.github/workflows/publish-release-branch-workspace-plugins.yaml b/.github/workflows/publish-release-branch-workspace-plugins.yaml index 50648ded6..6dcaefbb9 100644 --- a/.github/workflows/publish-release-branch-workspace-plugins.yaml +++ b/.github/workflows/publish-release-branch-workspace-plugins.yaml @@ -66,7 +66,7 @@ jobs: core.setOutput('last-published-commit', ''); export: - uses: redhat-developer/rhdh-plugin-export-utils/.github/workflows/export-workspaces-as-dynamic.yaml@main + uses: rostalan/rhdh-plugin-export-utils/.github/workflows/export-workspaces-as-dynamic.yaml@main needs: - prepare diff --git a/.github/workflows/update-plugins-repo-refs.yaml b/.github/workflows/update-plugins-repo-refs.yaml index ed12c6604..9a1734908 100644 --- a/.github/workflows/update-plugins-repo-refs.yaml +++ b/.github/workflows/update-plugins-repo-refs.yaml @@ -179,7 +179,7 @@ jobs: name: Update Branches needs: prepare if: github.event_name != 'schedule' - uses: redhat-developer/rhdh-plugin-export-utils/.github/workflows/update-plugins-repo-refs.yaml@main + uses: rostalan/rhdh-plugin-export-utils/.github/workflows/update-plugins-repo-refs.yaml@main with: regexps: ${{ needs.prepare.outputs.regexps }} exclude-workspaces: ${{ needs.prepare.outputs.exclude-workspaces }} @@ -201,7 +201,7 @@ jobs: needs: prepare if: >- (github.event_name == 'schedule') - uses: redhat-developer/rhdh-plugin-export-utils/.github/workflows/update-plugins-repo-refs.yaml@main + uses: rostalan/rhdh-plugin-export-utils/.github/workflows/update-plugins-repo-refs.yaml@main with: regexps: ${{ needs.prepare.outputs.regexps }} exclude-workspaces: ${{ needs.prepare.outputs.exclude-workspaces }} From e828ee69fdf30143a4cbe80d0b7a2ff9fa12a6d3 Mon Sep 17 00:00:00 2001 From: rostalan Date: Wed, 27 May 2026 14:41:22 +0200 Subject: [PATCH 3/3] test(orchestrator): trigger smoke path with complete metadata coverage Add a harmless smoke-tests change outside metadata so publish/export runs while metadata coverage remains complete. --- workspaces/orchestrator/smoke-tests/test.env | 1 + 1 file changed, 1 insertion(+) diff --git a/workspaces/orchestrator/smoke-tests/test.env b/workspaces/orchestrator/smoke-tests/test.env index ec5728a42..2e9449123 100644 --- a/workspaces/orchestrator/smoke-tests/test.env +++ b/workspaces/orchestrator/smoke-tests/test.env @@ -1,6 +1,7 @@ # Smoke-test placeholders for dynamic plugin config substitution. # Values are non-production dummies for CI/local smoke runs only. # Existing entries win over generated defaults; re-run to add missing keys. +# verification: smoke metadata complete path LOKI_BASE_URL=https://example_url AUTH_TOKEN=e2e-ci-placeholder