diff --git a/.changeset/curvy-pugs-type.md b/.changeset/curvy-pugs-type.md new file mode 100644 index 0000000000..7e94a5b35f --- /dev/null +++ b/.changeset/curvy-pugs-type.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend': patch +--- + +GithubDiscoveryProcessor outputs locations as optional to avoid outputting errors for missing locations (see https://github.com/backstage/backstage/issues/4730). diff --git a/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.test.ts b/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.test.ts index 41698e1d04..9c9aa41740 100644 --- a/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.test.ts +++ b/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.test.ts @@ -133,7 +133,7 @@ describe('GithubDiscoveryProcessor', () => { target: 'https://github.com/backstage/backstage/blob/master/catalog.yaml', }, - optional: false, + optional: true, }); expect(emitter).toHaveBeenCalledWith({ type: 'location', @@ -141,7 +141,7 @@ describe('GithubDiscoveryProcessor', () => { type: 'url', target: 'https://github.com/backstage/demo/blob/master/catalog.yaml', }, - optional: false, + optional: true, }); }); @@ -175,7 +175,7 @@ describe('GithubDiscoveryProcessor', () => { target: 'https://github.com/backstage/techdocs-cli/blob/master/catalog.yaml', }, - optional: false, + optional: true, }); expect(emitter).toHaveBeenCalledWith({ type: 'location', @@ -184,7 +184,7 @@ describe('GithubDiscoveryProcessor', () => { target: 'https://github.com/backstage/techdocs-container/blob/master/catalog.yaml', }, - optional: false, + optional: true, }); }); it('filter unrelated repositories', async () => { @@ -215,7 +215,7 @@ describe('GithubDiscoveryProcessor', () => { type: 'url', target: 'https://github.com/backstage/test/blob/master/catalog.yaml', }, - optional: false, + optional: true, }); }); }); diff --git a/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.ts index 9af247fd25..34f7fa2782 100644 --- a/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.ts +++ b/plugins/catalog-backend/src/ingestion/processors/GithubDiscoveryProcessor.ts @@ -94,7 +94,10 @@ export class GithubDiscoveryProcessor implements CatalogProcessor { type: 'url', target: `${repository.url}${catalogPath}`, }, - false, + // Not all locations may actually exist, since the user defined them as a wildcard pattern. + // Thus, we emit them as optional and let the downstream processor find them while not outputting + // an error if it couldn't. + true, ), ); }