Skip to content

Commit 7fe68f9

Browse files
ZaperexCopilot
andauthored
chore: cherry pick catalog index generation to release-1.10 (#2573)
* chore: migrate plugin catalog generation (#2431) * chore: initial migration of catalog index scripts with some modifications Signed-off-by: Frank Kong <frkong@redhat.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add default.packages.yaml Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: switch to using DPY instead of txt files Signed-off-by: Frank Kong <frkong@redhat.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * fix: update YAML file name derivation in generateCatalogIndex.py to ignore pruned plugins Signed-off-by: Frank Kong <frkong@redhat.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: construct productized catalog index with super set of DPY and rhdh-supported-packages.txt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: refactor regex check to fix sonarqube alert Co-Authored By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: fix registry swap Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: sync generateDynamicPluginsDefaultYaml.sh Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: added default args, fixed some sonarqube issues Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: fix shellcheck errs Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: fix image check if using digest Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: stop committing the workspace metadata writebacks Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add warning about digests in the metadata files Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: reconstruct dynamicArtifact for simplicity Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: move default.packages.yaml to root Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add publish workflow for catalog index Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: sanitize branch input Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: don't expand secrets in run blocks Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add nobody user to satisfy sonarqube Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: commit plugin_builds in target branch as well Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update metadata Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add wiki generation for plugin catalog index workflows (#2509) * chore: add don't fail if catalog index is empty (initial pass when creating a new branch) changes in gitlab Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add wiki generation to capture catalog plugin index build results and process Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: also include the DPY file into the supported catalog index Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: also trigger catalog index workflow if it changes Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: fix wiki rendering Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add test registry Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: fix commit in wiki Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update wiki table to show last successfully published commit Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: improve wiki table Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add additional details for registry fetch failure Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add don't fail if catalog index is empty (initial pass when creating a new branch) changes in gitlab Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add wiki generation to capture catalog plugin index build results and process Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: also include the DPY file into the supported catalog index Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: also trigger catalog index workflow if it changes Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: fix wiki rendering Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: fix commit in wiki Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update wiki table to show last successfully published commit Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: improve wiki table Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add additional details for registry fetch failure Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: sync the DPDY tag comment from downstream Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: fix sonarqube warning and remove hard coded paths Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * chore: update typo and script help messages Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: make sure build report status is updated for dpdy failure Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update to check by -package rather than last 10 lines to not miss tags for close packages in DPDY Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * chore: refactor DPDY failure handling to use BuildReport class for status updates Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update wiki with more details about DPDY generation Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: revert test registries Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update RHDH version fetching to fetch from RHDH package.json instead Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update wiki hyperlinks Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update ghcr.io links to point to the tags Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: fail publish jobs for better visibility Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: fix typo in ghcr links Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update ghcr.io link Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: also query user endpoint Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update generate job fail condition Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: link to catalog index branch in wiki as well Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * chore: add tag fallback to use outdated tags for best effort catalog index (#2547) * chore: add tag fallback to use outdated tags for best effort catalog index Signed-off-by: Frank Kong <frkong@redhat.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update workspacePath generation Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: decouple from downstream and only use ghcr.io builds for supported catalog index Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add docstrings for functions Assisted-By: Cursor Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add some initial unit tests for catalog index generation Assisted-By: Cursor Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add some fetch tests Assisted-By: Cursor Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add workflow to trigger catalog index script unit tests Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: exclude plugins in outdated workspaces from catalog index (#2565) * chore: add tag fallback to use outdated tags for best effort catalog index Signed-off-by: Frank Kong <frkong@redhat.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update workspacePath generation Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: decouple from downstream and only use ghcr.io builds for supported catalog index Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add docstrings for functions Assisted-By: Cursor Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add some initial unit tests for catalog index generation Assisted-By: Cursor Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add some fetch tests Assisted-By: Cursor Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: add workflow to trigger catalog index script unit tests Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: exclude outdated workspaces from catalog index Signed-off-by: Frank Kong <frkong@redhat.com> Assisted-By: Cursor rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update wiki content to be easier to troubleshoot Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: remove accidental duplication Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: remove duplicated values in workflow Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: don't rebase on retry Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update links in wiki Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update link to workflow run Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: link to quay.io registry when referencing r.a.r.c images in wiki Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: update fallback logic for wiki rendering (#2570) Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED * chore: sync DPY from rhdh release-1.10 Signed-off-by: Frank Kong <frkong@redhat.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
1 parent cb97d58 commit 7fe68f9

35 files changed

Lines changed: 7690 additions & 6 deletions

.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
**/build-report.json

.github/workflows/generate-catalog-index.yaml

Lines changed: 578 additions & 0 deletions
Large diffs are not rendered by default.

.github/workflows/github-script/sync-user-guide-to-wiki.js

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ const FILE_MAP = {
2626
'user-guide/04-metadata-synchronization.md': 'Metadata-Synchronization',
2727
'user-guide/05-version-updates.md': 'Version-Updates',
2828
'user-guide/06-patch-management.md': 'Patch-Management',
29+
'user-guide/07-plugin-catalog-index.md': 'Plugin-Catalog-Index-Generation',
2930
};
3031

3132
// Link transformations for wiki format
@@ -37,6 +38,7 @@ const LINK_TRANSFORMS = [
3738
{ from: /\[([^\]]+)\]\(\.\/04-metadata-synchronization\.md(#[^\)]+)?\)/g, to: '[$1](Metadata-Synchronization$2)' },
3839
{ from: /\[([^\]]+)\]\(\.\/05-version-updates\.md(#[^\)]+)?\)/g, to: '[$1](Version-Updates$2)' },
3940
{ from: /\[([^\]]+)\]\(\.\/06-patch-management\.md(#[^\)]+)?\)/g, to: '[$1](Patch-Management$2)' },
41+
{ from: /\[([^\]]+)\]\(\.\/07-plugin-catalog-index\.md(#[^\)]+)?\)/g, to: '[$1](Plugin-Catalog-Index-Generation$2)' },
4042
];
4143

4244
// Source repository metadata
@@ -213,10 +215,13 @@ function transformForWiki(content, dynamicContent) {
213215
/**
214216
* Generate the wiki sidebar navigation
215217
*/
216-
function generateSidebar(workspaceStats, reportPages) {
218+
function generateSidebar(workspaceStats, reportPages, catalogStatusPages) {
217219
const reportLinks = reportPages.length > 0
218220
? reportPages.map(({ branchName, pageName }) => ` * [${branchName}](${pageName})`).join('\n')
219221
: ' * [main](main)';
222+
const catalogLinks = catalogStatusPages.length > 0
223+
? '\n' + catalogStatusPages.map(({ branchName, pageName }) => ` * [${branchName}](${pageName})`).join('\n')
224+
: '';
220225

221226
return `### 📚 User Guide
222227
* [Home](Home)
@@ -228,11 +233,13 @@ function generateSidebar(workspaceStats, reportPages) {
228233
* [Metadata Synchronization](Metadata-Synchronization)
229234
* [Version Updates](Version-Updates)
230235
* [Patch Management](Patch-Management)
236+
* [Plugin Catalog Index](Plugin-Catalog-Index-Generation)
231237
232238
### 📊 Generated Reports
233239
* [Backstage Compatibility Report](Backstage-Compatibility-Report)
234240
* [Workspace Status Reports](Workspace-Status-Reports)
235241
${reportLinks}
242+
* [Plugin Catalog Index Status](Plugin-Catalog-Index-Status)${catalogLinks}
236243
237244
### 📈 Stats
238245
* **${workspaceStats.total}** workspaces
@@ -269,6 +276,27 @@ async function detectWorkspaceStatusReportPages(wikiDir) {
269276
return pages;
270277
}
271278

279+
/**
280+
* Detect branch-specific catalog status pages in the wiki.
281+
* Expected page names are `Plugin-Catalog-Status-*`.
282+
*/
283+
async function detectCatalogStatusPages(wikiDir) {
284+
const prefix = 'Plugin-Catalog-Status-';
285+
const files = await fs.readdir(wikiDir, { withFileTypes: true });
286+
return files
287+
.filter(file => file.isFile() && file.name.startsWith(prefix) && file.name.endsWith('.md'))
288+
.map(file => {
289+
const pageName = file.name.replace(/\.md$/, '');
290+
const branchName = pageName.slice(prefix.length);
291+
return { pageName, branchName };
292+
})
293+
.sort((a, b) => {
294+
if (a.branchName === 'main') return -1;
295+
if (b.branchName === 'main') return 1;
296+
return b.branchName.localeCompare(a.branchName, undefined, { numeric: true });
297+
});
298+
}
299+
272300
/**
273301
* Generate a discoverability page for branch-specific workspace status reports.
274302
*/
@@ -444,6 +472,8 @@ async function syncUserGuideToWiki({ github, context, core }) {
444472
// Detect existing workspace status report pages before writing new content
445473
const reportPages = await detectWorkspaceStatusReportPages(wikiDir);
446474
core.info(`Detected ${reportPages.length} workspace status report pages`);
475+
const catalogStatusPages = await detectCatalogStatusPages(wikiDir);
476+
core.info(`Detected ${catalogStatusPages.length} catalog status pages`);
447477

448478
// Process each user guide file
449479
core.info('\nProcessing user guide files...');
@@ -470,7 +500,7 @@ async function syncUserGuideToWiki({ github, context, core }) {
470500

471501
// Generate sidebar with stats
472502
core.info('Generating _Sidebar.md...');
473-
await fs.writeFile(join(wikiDir, '_Sidebar.md'), generateSidebar(workspaceStats, reportPages), 'utf-8');
503+
await fs.writeFile(join(wikiDir, '_Sidebar.md'), generateSidebar(workspaceStats, reportPages, catalogStatusPages), 'utf-8');
474504

475505
// Generate workspace status reports index page
476506
core.info('Generating Workspace-Status-Reports.md...');
@@ -495,7 +525,9 @@ async function syncUserGuideToWiki({ github, context, core }) {
495525
}
496526

497527
// Push changes
498-
if (!dryRun) {
528+
if (dryRun) {
529+
core.info('\n🔍 Dry run complete - no changes pushed');
530+
} else {
499531
const commitMessage = `docs: sync user guide from main repository
500532
501533
Synced from commit: ${context.sha?.substring(0, 7) || 'unknown'}
@@ -509,8 +541,6 @@ Triggered by: ${context.eventName}`;
509541
core.info('\n✅ Wiki updated successfully');
510542
core.info(`View at: https://github.com/${owner}/${repo}/wiki`);
511543
}
512-
} else {
513-
core.info('\n🔍 Dry run complete - no changes pushed');
514544
}
515545

516546
return { success: true, filesProcessed, versions, workspaceStats };
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Validate catalog index scripts
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
- 'release-*'
8+
paths:
9+
- 'scripts/*.py'
10+
- 'scripts/tests/**'
11+
- 'scripts/requirements-dev.txt'
12+
- '.github/workflows/validate-catalog-scripts.yaml'
13+
workflow_dispatch:
14+
15+
concurrency:
16+
group: validate-catalog-scripts-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
17+
cancel-in-progress: true
18+
19+
jobs:
20+
test:
21+
name: Python unit tests
22+
runs-on: ubuntu-latest
23+
timeout-minutes: 10
24+
permissions:
25+
contents: read
26+
steps:
27+
- name: Checkout
28+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
29+
30+
- name: Setup Python
31+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
32+
with:
33+
python-version: '3.12'
34+
35+
- name: Install dependencies
36+
run: pip install -r scripts/requirements-dev.txt
37+
38+
- name: Run tests
39+
working-directory: scripts
40+
run: python -m pytest tests/ -v

CLAUDE.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,8 @@ Trigger nightly manually: comment `/test e2e-ocp-helm-nightly` on a PR.
413413
## Documentation
414414

415415
- `README.md` — Repo overview, PR workflow, testing procedures
416-
- `user-guide/` — 6-part contributor guide (getting started, export tools, ownership, metadata sync, versions, patches)
416+
- `user-guide/` — 6-part contributor guide (getting started, export tools, ownership, metadata sync, versions, patches) plus catalog index pipeline docs
417+
- `user-guide/troubleshooting-catalog-index.md` — Troubleshooting content embedded by `renderCatalogStatus.py` into each generated status page. Anchor slugs must stay in sync with `REASON_ANCHORS` in the renderer
417418
- `catalog-entities/extensions/README.md` — Extensions catalog metadata format
418419
- GitHub Wiki — Auto-synced from `user-guide/` with dynamic content injection (`{{AUTO:*}}` placeholders replaced from `versions.json`)
419420
- **E2E test utils docs**https://github.com/redhat-developer/rhdh-e2e-test-utils/tree/main/docs — latest API docs, changelogs, tutorials, and configuration reference for `@red-hat-developer-hub/e2e-test-utils`

Dockerfile.catalog-index

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
FROM scratch
2+
ARG TIER=supported
3+
COPY catalog-index/${TIER}/ /
4+
USER 65534
5+
6+
LABEL summary="Red Hat Developer Hub plugin catalog index" \
7+
description="Red Hat Developer Hub plugin catalog index" \
8+
maintainer="RHDH Team <rhdh-bot@redhat.com>" \
9+
vendor="Red Hat, Inc."

default.packages.yaml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# MANUALLY maintained list of "core plugins"
2+
#
3+
# Do not add packages to this list without prior agreement from PM
4+
#
5+
# New packages should only be "tech-preview" or "generally-available"
6+
# 16 are tech-preview, and should be promoted via a PM-sponsored Feature to generally-available at some point
7+
# 06 are community, and should be removed over time
8+
packages:
9+
enabled: # should onyly include GA (or TP with a path to GA) content here
10+
- package: '@backstage-community/plugin-analytics-provider-segment' # generally-available
11+
- package: '@backstage-community/plugin-scaffolder-backend-module-regex' # generally-available
12+
- package: '@backstage/plugin-techdocs' # generally-available
13+
- package: '@backstage/plugin-techdocs-backend' # generally-available
14+
- package: '@backstage/plugin-techdocs-module-addons-contrib' # generally-available
15+
- package: '@red-hat-developer-hub/backstage-plugin-adoption-insights' # generally-available
16+
- package: '@red-hat-developer-hub/backstage-plugin-adoption-insights-backend' # generally-available
17+
- package: '@red-hat-developer-hub/backstage-plugin-analytics-module-adoption-insights' # generally-available
18+
- package: '@red-hat-developer-hub/backstage-plugin-catalog-backend-module-extensions' # tech-preview
19+
- package: '@red-hat-developer-hub/backstage-plugin-dynamic-home-page' # generally-available
20+
- package: '@red-hat-developer-hub/backstage-plugin-global-floating-action-button' # generally-available
21+
- package: '@red-hat-developer-hub/backstage-plugin-global-header' # generally-available
22+
- package: '@red-hat-developer-hub/backstage-plugin-extensions' # tech-preview
23+
- package: '@red-hat-developer-hub/backstage-plugin-extensions-backend' # tech-preview
24+
- package: '@red-hat-developer-hub/backstage-plugin-quickstart' # generally-available
25+
26+
disabled: # should ideally contain no community content; TODO: remove some community or TP stuff in 2.1?
27+
- package: '@backstage-community/plugin-acr' # tech-preview
28+
- package: '@backstage-community/plugin-catalog-backend-module-keycloak' # generally-available
29+
- package: '@backstage-community/plugin-catalog-backend-module-pingidentity' # tech-preview
30+
- package: '@backstage-community/plugin-catalog-backend-module-scaffolder-relation-processor' # tech-preview
31+
- package: '@backstage-community/plugin-rbac' # generally-available
32+
- package: '@backstage-community/plugin-scaffolder-backend-module-kubernetes' # generally-available
33+
- package: '@backstage-community/plugin-tech-radar' # generally-available
34+
- package: '@backstage-community/plugin-tech-radar-backend' # generally-available
35+
- package: '@backstage-community/plugin-topology' # generally-available
36+
- package: '@backstage/plugin-catalog-backend-module-github' # generally-available
37+
- package: '@backstage/plugin-catalog-backend-module-github-org' # generally-available
38+
- package: '@backstage/plugin-catalog-backend-module-gitlab' # production
39+
- package: '@backstage/plugin-catalog-backend-module-gitlab-org' # production
40+
- package: '@backstage/plugin-catalog-backend-module-ldap' # generally-available
41+
- package: '@backstage/plugin-catalog-backend-module-msgraph' # generally-available
42+
- package: '@backstage/plugin-events-backend-module-github' # tech-preview
43+
- package: '@backstage/plugin-kubernetes' # tech-preview
44+
- package: '@backstage/plugin-kubernetes-backend' # generally-available
45+
- package: '@backstage/plugin-notifications' # tech-preview
46+
- package: '@backstage/plugin-notifications-backend' # tech-preview
47+
- package: '@backstage/plugin-notifications-backend-module-email' # tech-preview
48+
- package: '@backstage/plugin-scaffolder-backend-module-github' # generally-available
49+
- package: '@backstage/plugin-scaffolder-backend-module-gitlab' # tech-preview
50+
- package: '@backstage/plugin-signals' # tech-preview
51+
- package: '@backstage/plugin-signals-backend' # generally-available
52+
- package: '@red-hat-developer-hub/backstage-plugin-bulk-import' # tech-preview
53+
- package: '@red-hat-developer-hub/backstage-plugin-bulk-import-backend' # tech-preview
54+
- package: '@red-hat-developer-hub/backstage-plugin-homepage-backend' # tech-preview
55+
# Lightspeed plugins are enabled by default in the install methods (Helm chart, Operator)
56+
- package: '@red-hat-developer-hub/backstage-plugin-lightspeed' # generally-available
57+
- package: '@red-hat-developer-hub/backstage-plugin-lightspeed-backend' # generally-available
58+
- package: '@red-hat-developer-hub/backstage-plugin-orchestrator' # generally-available
59+
- package: '@red-hat-developer-hub/backstage-plugin-orchestrator-backend' # generally-available
60+
- package: '@red-hat-developer-hub/backstage-plugin-orchestrator-backend-module-loki' # tech-preview
61+
- package: '@red-hat-developer-hub/backstage-plugin-orchestrator-form-widgets' # generally-available
62+
- package: '@red-hat-developer-hub/backstage-plugin-scaffolder-backend-module-orchestrator' # generally-available
63+
- package: '@roadiehq/scaffolder-backend-module-http-request' # generally-available
64+
65+
# these community supported plugins do not have a downstream analogue in overlays repo's rhdh-supported-packages.txt
66+
- package: '@backstage-community/plugin-quay' # community
67+
- package: '@backstage-community/plugin-quay-backend' # community
68+
- package: '@backstage-community/plugin-scaffolder-backend-module-quay' # community
69+
- package: '@backstage-community/plugin-tekton' # community
70+
- package: '@roadiehq/backstage-plugin-argo-cd-backend' # community - TODO: replace with RH Argo CD plugin when it's ready
71+
- package: '@roadiehq/scaffolder-backend-argocd' # community - TODO: replace with RH Argo CD plugin when it's ready

0 commit comments

Comments
 (0)