Merge branch 'backstage:master' into techdocs-config-md

This commit is contained in:
Saptarshi Mula
2026-01-31 06:51:01 +05:30
committed by GitHub
1509 changed files with 38420 additions and 13386 deletions
+55
View File
@@ -6,3 +6,58 @@ find the full documentation for it [in our repository](https://github.com/change
We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/master/docs/common-questions.md)
---
## Backstage UI Changesets
For `@backstage/ui` changesets, use this format:
```markdown
---
'@backstage/ui': patch
---
Brief summary
Optional description with code examples.
**Migration:**
Migration instructions (breaking changes only).
**Affected components:** button, card
```
**Required:**
- End with `**Affected components:**` + comma-separated component names
- For breaking changes: Add `**Migration:**` section
- No headings (`##`, `###`) inside - use bold markers
**Examples:**
```markdown
Fixed button hover state
**Affected components:** button
```
````markdown
**BREAKING**: New Table API
**Migration:**
Update imports:
```diff
- import { Table } from '@backstage/ui';
+ import { Table, type ColumnConfig } from '@backstage/ui';
```
````
**Affected components:** table
```
```
@@ -0,0 +1,5 @@
---
'@backstage/frontend-defaults': minor
---
**BREAKING**: The `API_FACTORY_CONFLICT` warning is now treated as an error and will prevent the app from starting.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-app-api': minor
---
**BREAKING**: Updated the behavior of the new API override logic to reject the override and block app startup instead of just logging a deprecation warning.
@@ -0,0 +1,5 @@
---
'@backstage/backend-test-utils': patch
---
Updated `startTestBackend` to support factory-based extension points (v1.1 format) in addition to the existing direct implementation format.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-app-visualizer': patch
---
Bump react-aria-components to v1.14.0
@@ -0,0 +1,23 @@
---
'@backstage/plugin-catalog-backend': patch
'@backstage/plugin-catalog-backend-module-aws': patch
'@backstage/plugin-catalog-backend-module-azure': patch
'@backstage/plugin-catalog-backend-module-backstage-openapi': patch
'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
'@backstage/plugin-catalog-backend-module-bitbucket-server': patch
'@backstage/plugin-catalog-backend-module-gcp': patch
'@backstage/plugin-catalog-backend-module-gerrit': patch
'@backstage/plugin-catalog-backend-module-gitea': patch
'@backstage/plugin-catalog-backend-module-github': patch
'@backstage/plugin-catalog-backend-module-github-org': patch
'@backstage/plugin-catalog-backend-module-gitlab': patch
'@backstage/plugin-catalog-backend-module-gitlab-org': patch
'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
'@backstage/plugin-catalog-backend-module-ldap': patch
'@backstage/plugin-catalog-backend-module-msgraph': patch
'@backstage/plugin-catalog-backend-module-openapi': patch
'@backstage/plugin-catalog-backend-module-puppetdb': patch
'@backstage/plugin-catalog-backend-module-scaffolder-entity-model': patch
---
Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
@@ -0,0 +1,13 @@
---
'@backstage/plugin-catalog-node': minor
---
Promoted stable catalog extension points from alpha to main export. The following extension points are now exported from `@backstage/plugin-catalog-node` instead of `@backstage/plugin-catalog-node/alpha`:
- `catalogLocationsExtensionPoint` and `CatalogLocationsExtensionPoint`
- `catalogProcessingExtensionPoint` and `CatalogProcessingExtensionPoint`
- `catalogAnalysisExtensionPoint` and `CatalogAnalysisExtensionPoint`
The old alpha exports for these extension points are now deprecated with `@deprecated` markers pointing to the new stable exports. Please update your imports from `@backstage/plugin-catalog-node/alpha` to `@backstage/plugin-catalog-node`.
Note: The `catalogModelExtensionPoint`, `catalogPermissionExtensionPoint`, and related types remain in alpha.
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend': minor
---
Failures to connect catalog providers are now attributed to the module that provided the failing provider. This means that such failures will be reported as module startup failures rather than a failure to start the catalog plugin, and will therefore respect `onPluginModuleBootFailure` configuration instead.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-auth-backend-module-auth0-provider': minor
---
feat: Added organization option to authorization params of the strategy
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/repo-tools': patch
---
Add newline to OpenAPI license template files.
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Updated catalog provider module template to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of alpha exports.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/ui': patch
---
Fixed Box component to forward HTML attributes to the underlying div element.
**Affected components:** Box
+80
View File
@@ -0,0 +1,80 @@
---
'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch
'@backstage/plugin-search-backend-module-stack-overflow-collator': patch
'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
'@backstage/plugin-auth-backend-module-azure-easyauth-provider': patch
'@backstage/plugin-auth-backend-module-oauth2-proxy-provider': patch
'@backstage/plugin-scaffolder-backend-module-bitbucket-cloud': patch
'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch
'@backstage/plugin-auth-backend-module-pinniped-provider': patch
'@backstage/plugin-auth-backend-module-aws-alb-provider': patch
'@backstage/plugin-scaffolder-backend-module-bitbucket': patch
'@backstage/plugin-search-backend-module-elasticsearch': patch
'@backstage/plugin-auth-backend-module-oidc-provider': patch
'@backstage/backend-dynamic-feature-service': patch
'@backstage/plugin-scaffolder-backend-module-gerrit': patch
'@backstage/plugin-scaffolder-backend-module-github': patch
'@backstage/plugin-scaffolder-backend-module-gitlab': patch
'@backstage/plugin-scaffolder-backend-module-sentry': patch
'@backstage/plugin-scaffolder-backend-module-yeoman': patch
'@backstage/plugin-scaffolder-backend-module-gitea': patch
'@backstage/plugin-scaffolder-backend-module-rails': patch
'@backstage/plugin-catalog-backend-module-openapi': patch
'@backstage/plugin-search-backend-module-techdocs': patch
'@backstage/plugin-catalog-backend-module-gerrit': patch
'@backstage/plugin-catalog-backend-module-github': patch
'@backstage/plugin-catalog-backend-module-gitlab': patch
'@backstage/plugin-search-backend-module-catalog': patch
'@backstage/plugin-search-backend-module-explore': patch
'@backstage/plugin-catalog-backend-module-ldap': patch
'@backstage/plugin-catalog-backend-module-aws': patch
'@backstage/plugin-scaffolder-node-test-utils': patch
'@backstage/plugin-techdocs-addons-test-utils': patch
'@backstage/plugin-search-backend-module-pg': patch
'@backstage/backend-openapi-utils': patch
'@backstage/plugin-bitbucket-cloud-common': patch
'@backstage/integration-aws-node': patch
'@backstage/plugin-notifications-backend': patch
'@backstage/backend-plugin-api': patch
'@backstage/backend-test-utils': patch
'@backstage/plugin-search-backend-node': patch
'@backstage/backend-dev-utils': patch
'@backstage/plugin-kubernetes-backend': patch
'@backstage/plugin-permission-backend': patch
'@backstage/plugin-scaffolder-backend': patch
'@backstage/backend-defaults': patch
'@backstage/core-components': patch
'@backstage/plugin-devtools-backend': patch
'@backstage/plugin-kubernetes-react': patch
'@backstage/plugin-techdocs-backend': patch
'@backstage/e2e-test-utils': patch
'@backstage/plugin-catalog-backend': patch
'@backstage/plugin-kubernetes-node': patch
'@backstage/plugin-scaffolder-node': patch
'@backstage/plugin-signals-backend': patch
'@backstage/config-loader': patch
'@backstage/eslint-plugin': patch
'@backstage/plugin-events-backend': patch
'@backstage/plugin-search-backend': patch
'@techdocs/cli': patch
'@backstage/plugin-proxy-backend': patch
'@backstage/plugin-search-common': patch
'@backstage/plugin-techdocs-node': patch
'@backstage/integration': patch
'@backstage/plugin-auth-backend': patch
'@backstage/plugin-catalog-node': patch
'@backstage/cli-common': patch
'@backstage/create-app': patch
'@backstage/repo-tools': patch
'@backstage/plugin-app-backend': patch
'@backstage/plugin-scaffolder': patch
'@backstage/cli-node': patch
'@backstage/codemods': patch
'@backstage/plugin-auth-node': patch
'@backstage/plugin-api-docs': patch
'@backstage/plugin-app-node': patch
'@backstage/cli': patch
'@backstage/ui': patch
---
Use node prefix on native imports
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog': patch
---
Fixed vertical spacing between tags in the catalog table.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/ui': patch
---
Fixed CSS Module syntax to comply with Next.js 16 Turbopack validation by flattening nested dark theme selectors.
**Affected components:** Popover, Tooltip
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/ui': patch
---
Added `destructive` prop to Button for dangerous actions like delete or remove. Works with all variants (primary, secondary, tertiary).
**Affected components:** Button
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend-module-bitbucket-cloud': patch
---
Fully enable API token functionality for Bitbucket-Cloud.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-app-api': patch
---
Implemented support for the `internal` extension input option.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/ui': patch
---
Fixed `useDefinition` hook adding literal "undefined" class name when no className prop was passed.
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/plugin-kubernetes-backend': patch
'@backstage/plugin-kubernetes-common': patch
'@backstage/plugin-kubernetes-react': patch
'@backstage/plugin-kubernetes-node': patch
---
Add PersistentVolume and PersistentVolumeClaims Rendering
+9
View File
@@ -0,0 +1,9 @@
---
'@backstage/frontend-app-api': patch
---
Updated error reporting and app tree resolution logic to attribute errors to the correct extension and allow app startup to proceed more optimistically:
- If an attachment fails to provide the required input data, the error is now attributed to the attachment rather than the parent extension.
- Singleton extension inputs will now only forward attachment errors if the input is required.
- Array extension inputs will now filter out failed attachments instead of failing the entire app tree resolution.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend-module-github': patch
---
cleaned up repo creation to make the unique portions explicit
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Removed unused dependency
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/core-compat-api': patch
'@backstage/plugin-app-visualizer': patch
---
Internal updates for blueprint moves to `@backstage/plugin-app-react`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-defaults': patch
---
Minor internal restructure of the postgres config loading code
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-app-visualizer': patch
---
Improved rendering performance of the details page.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/create-app': patch
---
Switched `next-app` template to use blueprint from `@backstage/plugin-app-react`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-search-backend-module-pg': patch
---
Return `numberOfResults` count with search query responses
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-plugin-api': patch
---
Added a new `internal` option to `createExtensionInput` that marks the input as only allowing attachments from the same plugin.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-app-api': minor
---
Added support for extension point factories, along with the ability to report module startup failures via the extension point factory context.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-plugin-api': minor
---
Added support for extension point factories. This makes it possible to call `registerExtensionPoint` with a single options argument and provide a factory for the extension point rather than a direct implementation. The factory is passed a context with a `reportModuleStartupFailure` method that makes it possible for plugins to report and attribute startup errors to the module that consumed the extension point.
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/backend-defaults': patch
'@backstage/plugin-scaffolder-node': patch
'@backstage/repo-tools': patch
'@backstage/cli': patch
---
Bump to tar v7
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/frontend-defaults': patch
'@backstage/frontend-app-api': patch
'@backstage/cli': patch
---
Completely removed support for the deprecated `app.experimental.packages` configuration. Replace existing usage directly with `app.packages`.
+14
View File
@@ -0,0 +1,14 @@
---
'@backstage/ui': patch
---
Added new `Alert` component with support for status variants (info, success, warning, danger), icons, loading states, and custom actions.
Updated status color tokens for improved contrast and consistency across light and dark themes:
- Added new `--bui-bg-info` and `--bui-fg-info` tokens for info status
- Updated `--bui-bg-danger`, `--bui-fg-danger` tokens
- Updated `--bui-bg-warning`, `--bui-fg-warning` tokens
- Updated `--bui-bg-success`, `--bui-fg-success` tokens
**Affected components**: Alert
+13
View File
@@ -0,0 +1,13 @@
---
'@backstage/frontend-plugin-api': minor
---
**BREAKING**: The following blueprints have been removed and are now only available from `@backstage/plugin-app-react`:
- `IconBundleBlueprint`
- `NavContentBlueprint`
- `RouterBlueprint`
- `SignInPageBlueprint`
- `SwappableComponentBlueprint`
- `ThemeBlueprint`
- `TranslationBlueprint`
+15
View File
@@ -0,0 +1,15 @@
---
'@backstage/ui': minor
---
**BREAKING**: Changed CSS selectors for `ButtonIcon` and `ButtonLink` components. Custom styles targeting `.bui-Button` to style these components must be updated to use `.bui-ButtonIcon` or `.bui-ButtonLink` respectively.
```diff
-/* This no longer styles ButtonIcon or ButtonLink */
-.bui-Button[data-variant="primary"] { ... }
+/* Use component-specific selectors */
+.bui-ButtonIcon[data-variant="primary"] { ... }
+.bui-ButtonLink[data-variant="primary"] { ... }
```
Affected components: ButtonIcon, ButtonLink
+57 -1
View File
@@ -208,5 +208,61 @@
"@backstage/plugin-user-settings-backend": "0.3.10",
"@backstage/plugin-user-settings-common": "0.0.1"
},
"changesets": []
"changesets": [
"api-override-deprecation-warning-defaults",
"api-override-deprecation-warning",
"backend-test-utils-extension-points",
"big-rabbits-think",
"bright-pans-greet",
"catalog-modules-update-extension-points",
"catalog-node-extension-points-to-stable",
"catalog-provider-module-failures",
"chatty-tips-stop",
"clean-suits-follow",
"cli-template-catalog-node-stable",
"cute-parts-smash",
"early-kids-see",
"floppy-parks-decide",
"fuzzy-shrimps-refuse",
"good-eggs-tell",
"green-bags-shave",
"green-flowers-brush",
"green-llamas-wink",
"lazy-groups-hunt",
"legal-impalas-shine",
"lemon-eyes-grin",
"many-bags-brake",
"module-failure-reporting",
"module-handle-api",
"odd-eagles-guess",
"plenty-dryers-tan",
"plenty-monkeys-share",
"polite-glasses-throw",
"polite-symbols-act",
"proud-stars-grow",
"quiet-carpets-arrive",
"quiet-humans-hammer",
"rare-papers-decide",
"remove-multiple-attachment-points-frontend-app-api",
"remove-multiple-attachment-points-frontend-plugin-api",
"rotten-paths-pump",
"scaffolder-form-fields-api-migration-react",
"scaffolder-form-fields-api-migration",
"seven-states-sleep",
"slimy-dots-cross",
"slimy-dots-sing",
"slimy-zebras-lie",
"small-jars-lick",
"smooth-pants-wave",
"tasty-crabs-occur",
"techdocs-addons-api-migration-react",
"techdocs-addons-api-migration",
"tiny-lamps-give",
"tired-sides-share",
"twelve-dolls-tap",
"vast-rockets-dig",
"wet-cups-juggle",
"yellow-ties-dream",
"young-pens-wash"
]
}
+9
View File
@@ -0,0 +1,9 @@
---
'@backstage/ui': patch
---
Fixed client-side navigation for container components by wrapping the container (not individual items) in RouterProvider. Components now conditionally provide routing context only when children have internal links, removing the Router context requirement when not needed. This also removes the need to wrap these components in MemoryRouter during tests when they are not using the `href` prop.
Additionally, when multiple tabs match the current URL via prefix matching, the tab with the most specific path (highest segment count) is now selected. For example, with URL `/catalog/users/john`, a tab with path `/catalog/users` is now selected over a tab with path `/catalog`.
Affected components: Tabs, Tab, TagGroup, Tag, Menu, MenuItem, MenuAutocomplete
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/repo-tools': patch
---
Support Prettier v3 for api-reports
+22
View File
@@ -0,0 +1,22 @@
---
'@backstage/ui': minor
---
**BREAKING**: The `cell` and `header` properties in `ColumnConfig` now return `ReactElement` instead of `ReactNode`.
This fixes an issue where React Aria's Collection component would inject an `id` prop into Fragment wrappers, causing "Invalid prop `id` supplied to `React.Fragment`" errors on render.
Migration:
```diff
const columns: ColumnConfig<MyItem>[] = [
{
id: 'name',
label: 'Name',
- cell: (item) => item.name,
+ cell: (item) => <CellText title={item.name} />,
- header: () => 'Name',
+ header: () => <Column>Name</Column>,
},
];
```
+13
View File
@@ -0,0 +1,13 @@
---
'@backstage/plugin-app': minor
---
**BREAKING**: Extensions created with the following blueprints must now be provided via an override or a module for the `app` plugin. Extensions from other plugins will now trigger a warning in the app and be ignored.
- `IconBundleBlueprint`
- `NavContentBlueprint`
- `RouterBlueprint`
- `SignInPageBlueprint`
- `SwappableComponentBlueprint`
- `ThemeBlueprint`
- `TranslationBlueprint`
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/ui': patch
---
Fixed an infinite render loop in Tabs when navigating to a URL that doesn't match any tab `href`.
@@ -0,0 +1,5 @@
---
'@backstage/frontend-app-api': patch
---
**DEPRECATED**: Deprecated support for multiple attachment points.
@@ -0,0 +1,7 @@
---
'@backstage/frontend-plugin-api': patch
---
**DEPRECATED**: Multiple attachment points for extensions have been deprecated. The functionality continues to work for backward compatibility, but will log a deprecation warning and be removed in a future release.
Extensions using array attachment points should migrate to using Utility APIs instead. See the [Sharing Extensions Across Multiple Locations](https://backstage.io/docs/frontend-system/architecture/27-sharing-extensions) guide for the recommended pattern.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Migrate audit events reference docs to http://backstage.io/docs.
@@ -0,0 +1,11 @@
---
'@backstage/plugin-scaffolder-react': patch
---
Scaffolder form fields in the new frontend system now use a Utility API pattern instead of multiple attachment points. The `FormFieldBlueprint` now uses this new approach, and while form fields created with older versions still work, they will produce a deprecation warning and will stop working in a future release.
As part of this change, the following alpha exports were removed:
- `formFieldsApi`
- `formFieldsApiRef`
- `ScaffolderFormFieldsApi`
@@ -0,0 +1,10 @@
---
'@backstage/plugin-scaffolder': patch
---
Scaffolder form fields in the new frontend system now use a Utility API pattern instead of multiple attachment points. The `FormFieldBlueprint` now uses this new approach, and while form fields created with older versions still work, they will produce a deprecation warning and will stop working in a future release.
As part of this change, the following alpha exports were removed:
- `formFieldsApiRef`
- `ScaffolderFormFieldsApi`
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-techdocs-node': patch
---
Some security fixes
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-defaults': patch
---
Dependency update for tests.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-devtools': patch
---
Fixes an issue where a user lacking permission to schedule tasks can now easily see the issue through a custom icon + tooltip.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-msgraph': minor
---
Log group/user count, tenant ID, execution time as separate fields
+9
View File
@@ -0,0 +1,9 @@
---
'@backstage/frontend-plugin-api': patch
'@backstage/frontend-app-api': patch
'@backstage/frontend-defaults': patch
'@backstage/core-plugin-api': patch
'@backstage/core-compat-api': patch
---
Plugins in the new frontend system now have a `pluginId` field rather than `id` to better align with naming conventions used throughout the frontend and backend systems. The old field is still present but marked as deprecated. All internal code has been updated to prefer `pluginId` while maintaining backward compatibility by falling back to `id` when needed.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-defaults': patch
---
Support `connection.type: azure` in database client to use Microsoft Entra authentication with Azure database for PostgreSQL
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/ui': patch
---
Fixed components to not require a Router context when rendering without internal links.
Affected components: Link, ButtonLink, Row
@@ -0,0 +1,7 @@
---
'@backstage/plugin-techdocs-react': patch
---
TechDocs addons in the new frontend system now use a Utility API pattern instead of multiple attachment points. The `AddonBlueprint` now uses this new approach, and while addons created with older versions still work, they will produce a deprecation warning and will stop working in a future release.
As part of this change, the `techDocsAddonDataRef` alpha export was removed.
@@ -0,0 +1,5 @@
---
'@backstage/plugin-techdocs': patch
---
TechDocs addons in the new frontend system now use a Utility API pattern instead of multiple attachment points. The `AddonBlueprint` now uses this new approach, and while addons created with older versions still work, they will produce a deprecation warning and will stop working in a future release.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-search': minor
---
Added support for configuring the default search type in the search page via the `search.defaultType` option in `app-config.yaml`. This applies to both the legacy and new frontend systems. If not set, the default is empty, which means searching for "all" types.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/ui': patch
---
Bump react-aria-components to v1.14.0
+14
View File
@@ -0,0 +1,14 @@
---
'@backstage/ui': minor
---
**BREAKING**: Removed `large` size variant from Button component as it was never implemented.
**Migration:**
```diff
- <Button size="large">Click me</Button>
+ <Button size="medium">Click me</Button>
```
**Affected components:** Button
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-app-react': patch
---
Internal refactor to move implementation of blueprints from `@backstage/frontend-plugin-api` to this package.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/ui': patch
---
Fixed Switch component disabled state styling to show `not-allowed` cursor and disabled text color.
**Affected components:** Switch
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-components': patch
---
Removed link styles from LinkButton to avoid styling inconsistencies related to import order.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend': patch
---
Migrate audit events reference docs to http://backstage.io/docs.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-dynamic-feature-service': patch
---
Updated README for backend-dynamic-feature-service
+50
View File
@@ -0,0 +1,50 @@
---
'@backstage/plugin-auth-backend-module-cloudflare-access-provider': patch
'@backstage/plugin-auth-backend-module-bitbucket-server-provider': patch
'@backstage/plugin-auth-backend-module-azure-easyauth-provider': patch
'@backstage/plugin-auth-backend-module-oauth2-proxy-provider': patch
'@backstage/plugin-scaffolder-backend-module-bitbucket-cloud': patch
'@backstage/plugin-auth-backend-module-atlassian-provider': patch
'@backstage/plugin-auth-backend-module-bitbucket-provider': patch
'@backstage/plugin-auth-backend-module-microsoft-provider': patch
'@backstage/plugin-auth-backend-module-onelogin-provider': patch
'@backstage/plugin-auth-backend-module-aws-alb-provider': patch
'@backstage/plugin-auth-backend-module-gcp-iap-provider': patch
'@backstage/plugin-auth-backend-module-github-provider': patch
'@backstage/plugin-auth-backend-module-gitlab-provider': patch
'@backstage/plugin-auth-backend-module-google-provider': patch
'@backstage/plugin-auth-backend-module-oauth2-provider': patch
'@backstage/plugin-auth-backend-module-oidc-provider': patch
'@backstage/plugin-auth-backend-module-okta-provider': patch
'@backstage/plugin-scaffolder-backend-module-github': patch
'@backstage/plugin-scaffolder-backend-module-gitlab': patch
'@backstage/frontend-plugin-api': patch
'@backstage/frontend-test-utils': patch
'@backstage/backend-plugin-api': patch
'@backstage/backend-test-utils': patch
'@backstage/plugin-mcp-actions-backend': patch
'@backstage/plugin-permission-backend': patch
'@backstage/plugin-scaffolder-backend': patch
'@backstage/backend-defaults': patch
'@backstage/frontend-app-api': patch
'@backstage/plugin-permission-common': patch
'@backstage/core-compat-api': patch
'@backstage/core-components': patch
'@backstage/core-plugin-api': patch
'@backstage/plugin-scaffolder-react': patch
'@backstage/plugin-catalog-backend': patch
'@backstage/plugin-permission-node': patch
'@backstage/plugin-scaffolder-node': patch
'@backstage/plugin-search-backend': patch
'@backstage/core-app-api': patch
'@backstage/plugin-catalog-react': patch
'@backstage/repo-tools': patch
'@backstage/plugin-scaffolder': patch
'@backstage/cli-node': patch
'@backstage/plugin-auth-node': patch
'@backstage/cli': patch
'@backstage/plugin-home': patch
'@backstage/plugin-app': patch
---
Bump to latest zod to ensure it has the latest features
+3 -2
View File
@@ -14,12 +14,13 @@
* limitations under the License.
*/
var path = require('path');
var path = require('node:path');
module.exports = {
root: true,
plugins: ['@spotify', 'notice', 'react', 'testing-library', '@backstage'],
plugins: ['@spotify', 'notice', 'react', 'testing-library', '@backstage', 'node-import'],
rules: {
'node-import/prefer-node-protocol': 1,
'@backstage/no-mixed-plugin-imports': [
'error',
{
@@ -345,6 +345,7 @@ parallelization
param
params
parseable
passwordless
Patrik
pattison
Peloton
@@ -527,6 +528,7 @@ transpilers
trixie
truthy
tsconfig
Turbopack
TSDoc
typeahead
ui
+2 -2
View File
@@ -18,7 +18,7 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
# Fetch the commit that's merged into the base rather than the target ref
# This will let us diff only the contents of the PR, without fetching more history
@@ -27,7 +27,7 @@ jobs:
run: git fetch --depth 1 origin ${{ github.base_ref }}
- name: setup-node
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
registry-url: https://registry.npmjs.org/
@@ -27,7 +27,7 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
# Fetch the commit that's merged into the base rather than the target ref
# This will let us diff only the contents of the PR, without fetching more history
+1 -1
View File
@@ -28,7 +28,7 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: '${{ github.event.pull_request.merge_commit_sha }}'
+8 -6
View File
@@ -32,10 +32,10 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -68,10 +68,10 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -121,6 +121,8 @@ jobs:
- name: verify doc links
run: node scripts/verify-links.js
- name: verify plugin directory
run: node scripts/verify-plugin-directory.js
- name: build all packages
run: yarn backstage-cli repo build --all
@@ -210,7 +212,7 @@ jobs:
INTEGRATION_TEST_AZURE_TOKEN: ${{ secrets.INTEGRATION_TEST_AZURE_TOKEN }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: fetch master branch
run: git fetch origin master
@@ -220,7 +222,7 @@ jobs:
run: git fetch origin ${{ github.event.pull_request.base.ref }}
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
-160
View File
@@ -1,160 +0,0 @@
name: Cleanup Patch Files
on:
push:
branches:
- 'patch/v*'
concurrency:
group: cleanup-patch-files
cancel-in-progress: false
jobs:
cleanup:
name: Cleanup Patch Files
runs-on: ubuntu-latest
if: github.repository == 'backstage/backstage'
permissions:
contents: write
steps:
- name: Harden Runner
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with:
egress-policy: audit
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 0
token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
- name: Configure Git
run: |
git config --global user.email noreply@backstage.io
git config --global user.name 'Github patch cleanup workflow'
- name: Extract PR numbers from commit messages
id: extract-pr-numbers
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
script: |
const { execSync } = require('child_process');
// Extract PR numbers from commits pushed to the patch branch
// Commits have messages in format: "Patch from PR #123"
const beforeSha = context.payload.before;
const afterSha = context.payload.after;
let commitRange;
if (beforeSha && beforeSha !== '0000000000000000000000000000000000000000') {
commitRange = `${beforeSha}..${afterSha}`;
} else {
// First push to branch, check recent commits
commitRange = `-n 20 ${afterSha}`;
}
// Get commit messages from git log
let commitMessages;
try {
commitMessages = execSync(
`git log --format=%B ${commitRange}`,
{ encoding: 'utf-8', stdio: ['ignore', 'pipe', 'ignore'] }
);
} catch (error) {
console.log('No commits found in range');
commitMessages = '';
}
// Extract PR numbers from commit messages matching "Patch from PR #123"
const prNumbers = new Set();
const prPattern = /Patch from PR #(\d+)/g;
let match;
while ((match = prPattern.exec(commitMessages)) !== null) {
prNumbers.add(parseInt(match[1], 10));
}
// Convert to sorted array
const prNumbersArray = Array.from(prNumbers).sort((a, b) => a - b);
if (prNumbersArray.length > 0) {
console.log(`Found PR numbers: ${prNumbersArray.join(', ')}`);
core.setOutput('pr_numbers', JSON.stringify(prNumbersArray));
core.setOutput('has_pr_numbers', 'true');
} else {
console.log('No PR numbers found in commit messages');
core.setOutput('pr_numbers', '[]');
core.setOutput('has_pr_numbers', 'false');
}
- name: Checkout master
if: steps.extract-pr-numbers.outputs.has_pr_numbers == 'true'
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
ref: master
token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
- name: Delete patch files
if: steps.extract-pr-numbers.outputs.has_pr_numbers == 'true'
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
env:
PR_NUMBERS: ${{ steps.extract-pr-numbers.outputs.pr_numbers }}
REF_NAME: ${{ github.ref_name }}
with:
github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
script: |
const { execSync } = require('child_process');
const fs = require('fs');
const path = require('path');
const prNumbers = JSON.parse(process.env.PR_NUMBERS);
const patchesDir = path.join(process.cwd(), '.patches');
if (!fs.existsSync(patchesDir)) {
console.log('No .patches directory found, nothing to clean up');
return;
}
const deletedFiles = [];
// Delete patch files for each PR number
for (const prNum of prNumbers) {
const patchFile = path.join(patchesDir, `pr-${prNum}.txt`);
if (fs.existsSync(patchFile)) {
fs.unlinkSync(patchFile);
deletedFiles.push(patchFile);
console.log(`Deleted ${patchFile}`);
} else {
console.log(`Patch file ${patchFile} not found, skipping`);
}
}
if (deletedFiles.length === 0) {
console.log('No patch files to delete');
return;
}
- name: Commit and push changes
if: steps.extract-pr-numbers.outputs.has_pr_numbers == 'true'
run: |
# Check if there are any changes to commit
if git diff --quiet && git diff --cached --quiet; then
echo "No changes to commit"
exit 0
fi
git add .patches/
git commit -m "chore: remove applied patch files after patch release merge
Removed patch files for PRs included in patch release to ${{ github.ref_name }}"
git push origin master
- name: Summary
if: steps.extract-pr-numbers.outputs.has_pr_numbers == 'true'
run: |
echo "## Patch Files Cleanup Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "Patch release to ${{ github.ref_name }} has been merged." >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "Patch files have been removed from the master branch." >> $GITHUB_STEP_SUMMARY
+3 -3
View File
@@ -25,13 +25,13 @@ jobs:
egress-policy: audit
- name: checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
path: backstage
ref: ${{ github.event.client_payload.version && env.RELEASE_VERSION || github.ref }}
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -59,7 +59,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
- name: Build and push
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
+30 -50
View File
@@ -54,12 +54,12 @@ jobs:
result-encoding: string
- name: checkout latest release
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: refs/tags/${{ steps.find-release.outputs.result }}
- name: Use Node.js 22.x
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -69,17 +69,6 @@ jobs:
with:
cache-prefix: ${{ runner.os }}-v22.x
- name: build API reference
run: yarn build:api-docs
- name: upload API reference
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: stable-reference
path: docs/reference/
if-no-files-found: error
retention-days: 1
# Use the lower-level cache actions for the success cache, so that we can store the cache even on failed builds
- name: restore package-docs cache
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
@@ -89,13 +78,13 @@ jobs:
restore-keys: |
${{ runner.os }}-v${{ matrix.node-version }}-package-docs-stable-
- name: build API reference (beta)
- name: build API reference
run: yarn backstage-repo-tools package-docs
- name: upload API reference (beta)
- name: upload API reference
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: stable-reference-beta
name: stable-reference
path: type-docs/
if-no-files-found: error
retention-days: 1
@@ -140,10 +129,10 @@ jobs:
egress-policy: audit
- name: checkout master
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Use Node.js 22.x
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -153,17 +142,6 @@ jobs:
with:
cache-prefix: ${{ runner.os }}-v22.x
- name: build API reference
run: yarn build:api-docs
- name: upload API reference
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: next-reference
path: docs/reference/
if-no-files-found: error
retention-days: 1
# Use the lower-level cache actions for the success cache, so that we can store the cache even on failed builds
- name: restore package-docs cache
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
@@ -173,13 +151,13 @@ jobs:
restore-keys: |
${{ runner.os }}-v${{ matrix.node-version }}-package-docs-
- name: build API reference (beta)
- name: build API reference
run: yarn backstage-repo-tools package-docs
- name: upload API reference (beta)
- name: upload API reference
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: next-reference-beta
name: next-reference
path: type-docs/
if-no-files-found: error
retention-days: 1
@@ -245,14 +223,14 @@ jobs:
egress-policy: audit
- name: Use Node.js 22.x
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
registry-url: https://registry.npmjs.org/ # Needed for auth
# Stable docs
- name: checkout latest release
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: refs/tags/${{ needs.stable.outputs.release }}
@@ -260,23 +238,31 @@ jobs:
run: yarn install --immutable
working-directory: microsite
- name: download stable reference
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: stable-reference
path: docs/reference
- name: download stable OpenAPI API docs
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: stable-openapi-docs
path: docs
- name: grab lastest releases docs
- name: grab latest releases docs
run: |
git fetch origin master --depth 1
git checkout FETCH_HEAD -- docs/releases
- name: create missing generated file
run: |
mkdir -p docs/reference
cat > docs/reference/index.md <<EOF
---
id: 'index'
title: 'Package Index'
description: 'Index of all Backstage Packages'
---
Please use [the new API documentation](https://backstage.io/api/stable) for more information.
EOF
- name: generate stable docs
run: yarn docusaurus docs:version stable
working-directory: microsite
@@ -286,7 +272,7 @@ jobs:
# Next docs
- name: checkout master
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
clean: false
@@ -294,12 +280,6 @@ jobs:
run: yarn install --immutable
working-directory: microsite
- name: download next reference
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: next-reference
path: docs/reference
- name: download next OpenAPI API docs
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
@@ -317,12 +297,12 @@ jobs:
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: stable-reference-beta
name: stable-reference
path: microsite/build/api/stable/
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: next-reference-beta
name: next-reference
path: microsite/build/api/next/
- name: Check the build output
+2 -2
View File
@@ -68,10 +68,10 @@ jobs:
INTEGRATION_TEST_AZURE_TOKEN: ${{ secrets.INTEGRATION_TEST_AZURE_TOKEN }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
- name: Setup Node.js
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
registry-url: https://registry.npmjs.org/ # Needed for auth
+2 -2
View File
@@ -34,7 +34,7 @@ jobs:
egress-policy: audit
- name: 'Checkout code'
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
@@ -67,6 +67,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: 'Upload to code-scanning'
uses: github/codeql-action/upload-sarif@f47c8e6a9bd05ef3ee422fc8d8663be7fe4bdc61 # v3.31.8
uses: github/codeql-action/upload-sarif@439137e1b50c27ba9e2f9befc93e43091b449c34 # v3.32.0
with:
sarif_file: results.sarif
+3 -3
View File
@@ -13,10 +13,10 @@ jobs:
egress-policy: audit
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Use Node.js 22.x
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -27,7 +27,7 @@ jobs:
cache-prefix: ${{ runner.os }}-v22.x
- name: Checkout backstage/docs-ui
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
repository: backstage/docs-ui
path: bui-external-docs
+2 -2
View File
@@ -14,13 +14,13 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
# Fetch changes to previous commit - required for 'only_changed' in Prettier action
fetch-depth: 0
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -16,7 +16,7 @@ jobs:
egress-policy: audit
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 2
ref: ${{ github.head_ref }}
+2 -7
View File
@@ -5,11 +5,6 @@ on:
- master
paths:
- '.patches/**'
pull_request:
branches:
- master
paths:
- '.patches/**'
concurrency:
group: sync-patch-release
@@ -30,14 +25,14 @@ jobs:
egress-policy: audit
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 20000
fetch-tags: true
token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
- name: Use Node.js 22.x
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
registry-url: https://registry.npmjs.org/ # Needed for auth
+3 -3
View File
@@ -13,13 +13,13 @@ jobs:
egress-policy: audit
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
# 'v' prefix is added here for the tag, we keep it out of the manifest logic
ref: v${{ github.event.client_payload.version }}
- name: Use Node.js 22.x
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -35,7 +35,7 @@ jobs:
# Checkout backstage/versions into /backstage/versions, which is where store the output
- name: Checkout versions
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
repository: backstage/versions
path: versions
@@ -16,7 +16,7 @@ jobs:
egress-policy: audit
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 2
ref: ${{ github.head_ref }}
@@ -16,10 +16,10 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Use Node.js 22.x
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
registry-url: https://registry.npmjs.org/ # Needed for auth
+2 -2
View File
@@ -29,7 +29,7 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Monitor and Synchronize Snyk Policies
uses: snyk/actions/node@9adf32b1121593767fc3c057af55b55db032dc04 # master
with:
@@ -58,6 +58,6 @@ jobs:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
NODE_OPTIONS: --max-old-space-size=7168
- name: Upload Snyk report
uses: github/codeql-action/upload-sarif@f47c8e6a9bd05ef3ee422fc8d8663be7fe4bdc61 # v3.31.8
uses: github/codeql-action/upload-sarif@439137e1b50c27ba9e2f9befc93e43091b449c34 # v3.32.0
with:
sarif_file: snyk.sarif
+6 -2
View File
@@ -13,20 +13,24 @@ jobs:
name: Create Changeset PR
runs-on: ubuntu-latest
env:
CI: true
NODE_OPTIONS: --max-old-space-size=8192
steps:
- name: Harden Runner
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 20000
fetch-tags: true
token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
- name: Use Node.js 22.x
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
registry-url: https://registry.npmjs.org/ # Needed for auth
+2 -2
View File
@@ -24,9 +24,9 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Use Node.js 22.x
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
- name: yarn install
+2 -2
View File
@@ -29,12 +29,12 @@ jobs:
egress-policy: audit
- name: Checkout code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 10000 # Required to retrieve git history
- name: Use node.js ${{ matrix.node-version }}
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
+4 -4
View File
@@ -47,7 +47,7 @@ jobs:
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
@@ -55,7 +55,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@f47c8e6a9bd05ef3ee422fc8d8663be7fe4bdc61 # v3.31.8
uses: github/codeql-action/init@439137e1b50c27ba9e2f9befc93e43091b449c34 # v3.32.0
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -66,7 +66,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@f47c8e6a9bd05ef3ee422fc8d8663be7fe4bdc61 # v3.31.8
uses: github/codeql-action/autobuild@439137e1b50c27ba9e2f9befc93e43091b449c34 # v3.32.0
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -80,4 +80,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@f47c8e6a9bd05ef3ee422fc8d8663be7fe4bdc61 # v3.31.8
uses: github/codeql-action/analyze@439137e1b50c27ba9e2f9befc93e43091b449c34 # v3.32.0
+1 -1
View File
@@ -16,7 +16,7 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
# Vale does not support file excludes, so we use the script to generate a list of files instead
# The action also does not allow args or a local config file to be passed in, so the files array
+2 -2
View File
@@ -47,7 +47,7 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Configure Git
run: |
@@ -55,7 +55,7 @@ jobs:
git config --global user.name 'GitHub e2e user'
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
+3 -3
View File
@@ -36,13 +36,13 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.9'
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node-version }}
- name: yarn install
+3 -3
View File
@@ -44,7 +44,7 @@ jobs:
git config --global core.autocrlf false
git config --global core.eol lf
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Configure Git
run: |
@@ -52,13 +52,13 @@ jobs:
git config --global user.name 'GitHub e2e user'
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: setup python
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.10'
+1 -1
View File
@@ -19,7 +19,7 @@ jobs:
egress-policy: audit
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install Fossa
run: "curl -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/fossas/fossa-cli/master/install.sh | bash"
+29 -64
View File
@@ -59,12 +59,12 @@ jobs:
result-encoding: string
- name: checkout latest release
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: refs/tags/${{ steps.find-release.outputs.result }}
- name: Use Node.js 22.x
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -74,17 +74,6 @@ jobs:
with:
cache-prefix: ${{ runner.os }}-v22.x
- name: build API reference
run: yarn build:api-docs
- name: upload API reference
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: stable-reference
path: docs/reference/
if-no-files-found: error
retention-days: 1
# Use the lower-level cache actions for the success cache, so that we can store the cache even on failed builds
- name: restore package-docs cache
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
@@ -94,13 +83,13 @@ jobs:
restore-keys: |
${{ runner.os }}-v${{ matrix.node-version }}-package-docs-stable-
- name: build API reference (beta)
- name: build API reference
run: yarn backstage-repo-tools package-docs
- name: upload API reference (beta)
- name: upload API reference
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: stable-reference-beta
name: stable-reference
path: type-docs/
# Always save success cache even if there were failures, that way it can be used in re-triggered builds
@@ -142,10 +131,10 @@ jobs:
egress-policy: audit
- name: checkout master
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Use Node.js 22.x
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -155,17 +144,6 @@ jobs:
with:
cache-prefix: ${{ runner.os }}-v22.x
- name: build API reference
run: yarn build:api-docs
- name: upload API reference
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: next-reference
path: docs/reference/
if-no-files-found: error
retention-days: 1
# Use the lower-level cache actions for the success cache, so that we can store the cache even on failed builds
- name: restore package-docs cache
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
@@ -175,13 +153,13 @@ jobs:
restore-keys: |
${{ runner.os }}-v${{ matrix.node-version }}-package-docs-next-
- name: build API reference (beta)
- name: build API reference
run: yarn backstage-repo-tools package-docs
- name: upload API reference (beta)
- name: upload API reference
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: next-reference-beta
name: next-reference
path: type-docs/
# Always save success cache even if there were failures, that way it can be used in re-triggered builds
@@ -238,13 +216,13 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Use Node.js 22.x
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: '3.9'
@@ -267,23 +245,31 @@ jobs:
- name: verify yarn dependency duplicates
run: node scripts/verify-lockfile-duplicates.js
- name: download stable reference
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: stable-reference
path: docs/reference
- name: download stable OpenAPI API docs
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: stable-openapi-docs
path: docs
- name: grab lastest releases docs
- name: grab latest releases docs
run: |
git fetch origin master --depth 1
git checkout FETCH_HEAD -- docs/releases
- name: create missing generated file
run: |
mkdir -p docs/reference
cat > docs/reference/index.md <<EOF
---
id: 'index'
title: 'Package Index'
description: 'Index of all Backstage Packages'
---
Please use [the new API documentation](https://backstage.io/api/stable) for more information.
EOF
- name: generate stable docs
run: yarn docusaurus docs:version stable
working-directory: microsite
@@ -291,23 +277,14 @@ jobs:
- name: clear generated docs
run: git clean -fdx docs/
- name: build API reference
run: yarn build:api-docs
- name: checkout master
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
clean: false
- name: Build MkDocs for TechDocs
run: mkdocs build --strict
- name: download next reference
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: next-reference
path: docs/reference
- name: download next OpenAPI API docs
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
@@ -317,15 +294,3 @@ jobs:
- name: build microsite
run: yarn build
working-directory: microsite
- name: download stable reference (beta)
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: stable-reference-beta
path: api/stable/
- name: download next reference (beta)
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: next-reference-beta
path: api/next/
@@ -19,10 +19,10 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Use Node.js 22.x
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: 22.x
+2 -2
View File
@@ -33,10 +33,10 @@ jobs:
with:
egress-policy: audit
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
+2
View File
@@ -8,6 +8,8 @@ The [sync_patch-release.yml](/.github/workflows/sync_patch-release.yml) workflow
To add a PR to the set of patches, run `yarn patch-pr <pr-number> <description>` in the root of the repository.
Once a patch has been applied and merged, manually delete the corresponding patch file from this directory. The patch script will automatically skip patches that have already been applied to the target branch, so it's safe to re-run the script even if some patches are already present.
## GitHub Workflow
A GitHub workflow automatically keeps a "Patch Release" PR in sync with the patches listed in this directory. When you add, modify, or remove patch files, the workflow will:
+2 -2
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env node
const fs = require('fs');
const path = require('path');
const fs = require('node:fs');
const path = require('node:path');
const prNumber = process.argv[2];
const description = process.argv.slice(3).join(' ');
+1
View File
@@ -0,0 +1 @@
Depend on a version of the zod library that has the version 3 and 4 exports

Some files were not shown because too many files have changed in this diff Show More