Merge branch 'master' of https://github.com/backstage/backstage into star-color

This commit is contained in:
Stephen Glass
2024-09-05 18:39:43 -04:00
874 changed files with 28792 additions and 17492 deletions
+9
View File
@@ -0,0 +1,9 @@
---
'@backstage/core-components': patch
'@backstage/plugin-catalog-react': patch
'@backstage/plugin-techdocs': patch
'@backstage/plugin-catalog': patch
'@backstage/plugin-home': patch
---
Add `FavoriteToggle` in `core-components` to standardise favorite marking
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/create-app': patch
'@backstage/cli': patch
---
Add `config.d.ts` files to the list of included file in `tsconfig.json`.
This allows ESLint to detect issues or deprecations in those files.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/backend-defaults': minor
'@backstage/backend-common': minor
---
**BREAKING**: You can no longer supply a `basePath` option to the host discovery implementation. In the new backend system, the ability to choose this path has been removed anyway at the plugin router level.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Remove direct `vite` dependency
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-auth-backend-module-aws-alb-provider': patch
---
Fix a bug where the signer was checked from the payload instead of the header
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-app-api': patch
---
Deprecate the `featureDiscoveryServiceFactory` in favor of using `@backstage/backend-defaults#discoveryFeatureLoader` instead.
+38
View File
@@ -0,0 +1,38 @@
---
'@backstage/backend-dynamic-feature-service': patch
---
Deprecate the `dynamicPluginsServiceRef`, `dynamicPluginsServiceFactory` and `dynamicPluginsServiceFactoryWithOptions` in favor of using the `dynamicPluginsFeatureDiscoveryLoader` to discover dynamic features in a new backend system.
See usage examples below:
Example using the `dynamicPluginsFeatureDiscoveryLoader` loader in a backend instance:
```ts
import { createBackend } from '@backstage/backend-defaults';
import { dynamicPluginsFeatureDiscoveryLoader } from '@backstage/backend-dynamic-feature-service';
//...
const backend = createBackend();
backend.add(dynamicPluginsFeatureDiscoveryLoader);
//...
backend.start();
```
Passing options to the `dynamicPluginsFeatureDiscoveryLoader` loader in a backend instance:
```ts
import { createBackend } from '@backstage/backend-defaults';
import { dynamicPluginsFeatureDiscoveryLoader } from '@backstage/backend-dynamic-feature-service';
import { myCustomModuleLoader } from './myCustomModuleLoader';
//...
const backend = createBackend();
backend.add(
dynamicPluginsFeatureDiscoveryLoader({
moduleLoader: myCustomModuleLoader,
}),
);
//...
backend.start();
```
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-app-api': patch
---
The `defaultConfigLoader` now also reads configuration from scripts tags with `type="backstage.io/config"`. The tag is expected to contain a JSON-serialized array of `AppConfig` objects. If any of these script tags are present, the injected runtime configuration in the static assets will no longer be used.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-gitlab': patch
---
Internal update to use the new cache manager
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/backend-common': minor
---
**BREAKING**: Simplifications and cleanup as part of the Backend System 1.0 work.
- The deprecated `dropDatabase` function has now been removed, without replacement.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-auth-backend-module-aws-alb-provider': patch
---
Throw correct error when email is missing from the claims
+21
View File
@@ -0,0 +1,21 @@
---
'@backstage/frontend-test-utils': patch
'@backstage/frontend-app-api': patch
'@backstage/core-compat-api': patch
'@backstage/plugin-catalog-import': patch
'@backstage/plugin-catalog-graph': patch
'@backstage/plugin-catalog-react': patch
'@backstage/plugin-user-settings': patch
'@backstage/plugin-search-react': patch
'@backstage/plugin-kubernetes': patch
'@backstage/plugin-scaffolder': patch
'@backstage/plugin-api-docs': patch
'@backstage/plugin-devtools': patch
'@backstage/plugin-techdocs': patch
'@backstage/plugin-catalog': patch
'@backstage/plugin-search': patch
'@backstage/plugin-home': patch
'@backstage/plugin-org': patch
---
Updated exports to use the new type parameters for extensions and extension blueprints.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-defaults': minor
---
Initial release of this package, which provides a default app setup through the `createApp` function. This replaces the existing `createApp` method from `@backstage/frontend-app-api`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-auth-node': patch
---
Extend the "unable to resolve user identity" message
+12
View File
@@ -0,0 +1,12 @@
---
'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch
'@backstage/plugin-scaffolder-backend-module-cookiecutter': 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-rails': patch
'@backstage/plugin-user-settings-backend': patch
'@backstage/plugin-devtools-backend': patch
---
Update README installation instructions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-test-utils': patch
---
Added missing service mock for `mockServices.rootConfig.mock`, and fixed the definition of `mockServices.rootHttpRouter.factory` to not have a duplicate callback.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Found the issue during testing the clean up of the workspace for the database implementation.
+31
View File
@@ -0,0 +1,31 @@
---
'@backstage/frontend-plugin-api': minor
---
**BREAKING**: Updated the type parameters for `ExtensionDefinition` and `ExtensionBlueprint` to only have a single object parameter. The base type parameter is exported as `ExtensionDefinitionParameters` and `ExtensionBlueprintParameters` respectively. This is shipped as an immediate breaking change as we expect usage of these types to be rare, and it does not affect the runtime behavior of the API.
This is a breaking change as it changes the type parameters. Existing usage can generally be updated as follows:
- `ExtensionDefinition<any>` -> `ExtensionDefinition`
- `ExtensionDefinition<any, any>` -> `ExtensionDefinition`
- `ExtensionDefinition<TConfig>` -> `ExtensionDefinition<{ config: TConfig }>`
- `ExtensionDefinition<TConfig, TConfigInput>` -> `ExtensionDefinition<{ config: TConfig, configInput: TConfigInput }>`
If you need to infer the parameter you can use `ExtensionDefinitionParameters`, for example:
```ts
import {
ExtensionDefinition,
ExtensionDefinitionParameters,
} from '@backstage/frontend-plugin-api';
function myUtility<T extends ExtensionDefinitionParameters>(
ext: ExtensionDefinition<T>,
): T['config'] {
// ...
}
```
The same patterns apply to `ExtensionBlueprint`.
This change is made to improve the readability of API references and ability to evolve the type parameters in the future.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-test-utils': minor
---
**BREAKING**: The deprecated `.render()` method has been removed from the extension tester.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/frontend-app-api': minor
---
**BREAKING**: The `createSpecializedApp` function now creates a bare-bones app without any of the default app structure or APIs. To re-introduce this functionality if you need to use `createSpecializedApp` you can install the `app` plugin from `@backstage/plugin-app`.
In addition, the `createApp` and `CreateAppFeatureLoader` exports are now deprecated as they are being moved to `@backstage/frontend-defaults`, which should be used instead.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-react': minor
---
Add `ui:backstage.review.name` option for custom item names on scaffolder review page, and also add support for rendering the `title` property instead of the key name.
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/frontend-plugin-api': patch
'@backstage/frontend-test-utils': patch
'@backstage/frontend-app-api': patch
'@backstage/plugin-app': minor
---
Introduce the `@backstage/plugin-app` package to hold all of the built-in extensions for easy consumption and overriding.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/cli': patch
'@backstage/create-app': patch
---
Update templates to not refer to backend-common
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-app-backend': patch
'@backstage/plugin-app-node': patch
---
Fixing dependency metadata with the new `@backstage/plugin-app` package
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/frontend-plugin-api': patch
---
Added `createFrontendModule` as a replacement for `createExtensionOverrides`, which is now deprecated.
Deprecated the `BackstagePlugin` and `FrontendFeature` type in favor of `FrontendPlugin` and `FrontendFeature` from `@backstage/frontend-app-api` respectively.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/frontend-app-api': patch
'@backstage/core-compat-api': patch
---
Added support for new `FrontendPlugin` and `FrontendModule` types.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-techdocs-backend': patch
---
The `createRouter` and its related types has been marked as deprecared. This backend should instead be initialized using the new backend system.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-scaffolder-react': minor
'@backstage/plugin-scaffolder': minor
---
Added support for `omitExtraData` and `liveOmit` for rjsf in the scaffolder
+34
View File
@@ -0,0 +1,34 @@
---
'@backstage/frontend-plugin-api': patch
'@backstage/plugin-app': patch
---
Deprecated the `namespace` option for `createExtensionBlueprint` and `createExtension`, these are no longer required and will default to the `pluginId` instead.
You can migrate some of your extensions that use `createExtensionOverrides` to using `createFrontendModule` instead and providing a `pluginId` there.
```ts
// Before
createExtensionOverrides({
extensions: [
createExtension({
name: 'my-extension',
namespace: 'my-namespace',
kind: 'test',
...
})
],
});
// After
createFrontendModule({
pluginId: 'my-namespace',
extensions: [
createExtension({
name: 'my-extension',
kind: 'test',
...
})
],
});
```
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-plugin-api': patch
---
Deprecate the `featureDiscoveryServiceRef` in favor of using the new `discoveryFeatureLoader` instead.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-defaults': patch
---
Added a new `CreateAppOptions` type for the `createApp` options.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-app-api': patch
---
Updated the error message for missing service dependencies to include the plugin and module IDs.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/cli': patch
---
The app build process now outputs an additional `index.html.tmpl` file. This is an non-templated version of the `index.html` file, which can be used to delay templating until runtime.
The new `index.html.tmpl` file also sets a `backstage-public-path` meta tag to be templated at runtime. The meta tag is in turn picked up by the new `@backstage/cli/config/webpack-public-path.js` entry point script, which uses it to set the runtime public path of the Webpack bundle.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Add `checks: 'read'` for default GitHub app permissions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-user-settings-backend': patch
---
In preparation to stop supporting to the legacy backend system, the `createRouter` function is now deprecated and we strongly recommend you [migrate](https://backstage.io/docs/backend-system/building-backends/migrating) your backend to the new system.
+11
View File
@@ -0,0 +1,11 @@
---
'@backstage/plugin-app-backend': patch
---
**BREAKING**: The app backend now supports the new `index.html.tmpl` output from `@backstage/cli`. If available, the `index.html` will be templated at runtime with the current configuration of the app backend.
This is marked as a breaking change because you must now supply the app build-time configuration to the backend. This change also affects the public path behavior, where it is no longer necessary to build the app with the correct public path upfront. You now only need to supply a correct `app.baseUrl` to the app backend plugin at runtime.
An effect that this change has is that the `index.html` will now contain and present the frontend configuration in an easily readable way, which can aid in debugging. This data was always available in the frontend, but it was injected and hidden in the static bundle.
This templating behavior is enabled by default, but it can be disabled by setting the `app.disableConfigInjection` configuration option to `true`.
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/catalog-client': patch
'@backstage/plugin-catalog-backend': patch
---
Moved `getEntities` ordering to utilize database instead of having it inside catalog client
Please note that the latest version of `@backstage/catalog-client` will not order the entities in the same way as before. This is because the ordering is now done in the database query instead of in the client. If you rely on the ordering of the entities, you may need to update your backend plugin or code to handle this change.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-test-utils': patch
---
There is a new `mockErrorHandler` utility to help in mocking the error middleware in tests.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-defaults': patch
---
Move down the discovery config to be in the root
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-components': patch
---
Added `titleComponent` prop to `SignInPage` component to allow further customization of the title using `ReactNode`
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-common': patch
---
Add `pg-format` as a dependency
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-notifications-backend': patch
'@backstage/plugin-notifications': patch
---
Implement icon in backend and show icon in table if available.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-defaults': patch
---
Added `createPublicSignInApp`, used to creating apps for the public entry point.
+120 -3
View File
@@ -15,7 +15,6 @@
"example-backend-legacy": "0.2.101",
"@backstage/backend-openapi-utils": "0.1.16",
"@backstage/backend-plugin-api": "0.8.0",
"@backstage/backend-tasks": "0.6.0",
"@backstage/backend-test-utils": "0.5.0",
"@backstage/catalog-client": "1.6.6",
"@backstage/catalog-model": "1.6.0",
@@ -187,7 +186,125 @@
"@backstage/plugin-techdocs-react": "1.2.7",
"@backstage/plugin-user-settings": "0.8.11",
"@backstage/plugin-user-settings-backend": "0.2.22",
"@backstage/plugin-user-settings-common": "0.0.1"
"@backstage/plugin-user-settings-common": "0.0.1",
"@backstage/plugin-app": "0.0.0",
"@backstage/frontend-defaults": "0.0.0"
},
"changesets": []
"changesets": [
"afraid-fans-cross",
"angry-hotels-warn",
"big-spies-stare",
"blue-forks-cry",
"breezy-flowers-dance",
"brown-actors-clap",
"brown-boxes-arrive",
"brown-worms-sneeze",
"calm-brooms-fail",
"chilled-cameras-change",
"chilly-birds-shout",
"cold-ways-protect",
"cool-actors-sin",
"cool-melons-check",
"cool-poems-hammer",
"cuddly-rocks-invent",
"curly-brooms-raise",
"dry-beers-shake",
"dry-glasses-push",
"dry-monkeys-mate",
"eighty-tables-hope",
"empty-coats-sparkle",
"famous-badgers-drop",
"five-tigers-share",
"flat-kangaroos-push",
"forty-toes-float",
"four-parents-buy",
"four-ties-raise",
"fresh-apes-dress",
"fresh-bears-prove",
"fresh-pumas-clean",
"friendly-days-march",
"friendly-months-march",
"funny-houses-rest",
"fuzzy-feet-exist",
"fuzzy-mails-walk",
"fuzzy-spies-share",
"gentle-hats-act",
"giant-jars-mix",
"gorgeous-scissors-wave",
"green-worms-rescue",
"healthy-moons-drum",
"heavy-suits-judge",
"hip-pandas-think",
"kind-moose-learn",
"kind-walls-speak",
"large-poets-check",
"loud-brooms-pull",
"lucky-sheep-cover",
"metal-garlics-fetch",
"metal-rivers-grin",
"mighty-cheetahs-call",
"mighty-days-kiss",
"nasty-tigers-knock",
"new-poets-unite",
"ninety-mayflies-raise",
"odd-goats-kiss",
"olive-phones-sniff",
"plenty-dragons-know",
"popular-cooks-camp",
"purple-cows-sing",
"purple-glasses-tease",
"quick-suns-swim",
"quiet-spies-clean",
"rare-feet-melt",
"real-pants-rule",
"renovate-53b7d25",
"renovate-546c524",
"renovate-93d032c",
"renovate-b8911c2",
"rich-bees-tickle",
"rotten-crabs-hear",
"serious-cheetahs-help",
"serious-spies-knock",
"sharp-fans-tan",
"sharp-items-study",
"sharp-mayflies-beg",
"shiny-carpets-worried",
"shiny-carpets-worry",
"shiny-zoos-film",
"short-moles-brush",
"silent-eyes-lie",
"six-goats-sort",
"six-humans-guess",
"sixty-rabbits-cheat",
"slimy-chefs-think",
"smart-gifts-report",
"smart-owls-sell",
"spicy-poems-hammer",
"spicy-vans-eat",
"sweet-cows-clean",
"swift-fishes-rush",
"swift-garlics-mix",
"swift-radios-enjoy",
"swift-seahorses-share",
"tall-camels-march",
"tame-hornets-shake",
"tasty-pigs-vanish",
"thick-walls-share",
"tiny-icons-sit",
"tiny-waves-provide",
"tough-peaches-kneel",
"tricky-apricots-film",
"twenty-clouds-melt",
"twenty-queens-grow",
"unlucky-cycles-clean",
"violet-apricots-smoke",
"violet-jokes-tap",
"warm-boxes-grab-2",
"warm-boxes-grab",
"wild-buses-notice",
"wise-forks-play",
"wise-scissors-help",
"witty-years-cry",
"yellow-bees-hope"
]
}
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder': patch
---
The `ui:options` for `OwnedEntityPicker` field are now passed to `EntityPicker`. This allows you to use any `ui:options` which `EntityPicker` accepts in the `OwnedEntityPicker` field including `allowArbitraryValues` and `defaultNamespace`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-defaults': patch
---
Accept `ConfigService` instead of `Config` in constructors/factories
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-graph': patch
---
Fixed a bug in the `CatalogGraphPage` component where, after clicking on some nodes, clicking the back button would break the navigation. This issue caused the entire navigation to fail and behaved differently across various browsers.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-auth-backend-module-microsoft-provider': patch
'@backstage/plugin-auth-backend': patch
'@backstage/plugin-catalog-backend-module-msgraph': patch
---
Allow users without defined email to be ingested by the `msgraph` catalog plugin and add `userIdMatchingUserEntityAnnotation` sign-in resolver for the Microsoft auth provider to support sign-in for users without defined email.
+11
View File
@@ -0,0 +1,11 @@
---
'@backstage/integration': minor
---
The Gerrit integration can now resolve Gitiles urls that point to the following
refs:
- HEAD
- A SHA
- Tag
- Branch
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/cli': patch
'@backstage/plugin-scaffolder-backend': patch
---
Updated dependency `esbuild` to `^0.23.0`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/repo-tools': patch
---
Updated dependency `@useoptic/openapi-utilities` to `^0.55.0`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/codemods': patch
---
Updated dependency `jscodeshift` to `^0.16.0`.
+11
View File
@@ -0,0 +1,11 @@
---
'@backstage/plugin-home-react': patch
'@backstage/plugin-home': patch
'@backstage/plugin-scaffolder-react': patch
'@backstage/plugin-scaffolder': patch
---
Updated dependency `@rjsf/utils` to `5.20.1`.
Updated dependency `@rjsf/core` to `5.20.1`.
Updated dependency `@rjsf/material-ui` to `5.20.1`.
Updated dependency `@rjsf/validator-ajv8` to `5.20.1`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-react': patch
---
Updated dependency `use-immer` to `^0.10.0`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-search-backend-module-explore': patch
---
Updated dependency `@backstage-community/plugin-explore-common` to `^0.0.5`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-defaults': patch
---
Wrap scheduled tasks from the scheduler core service now in OpenTelemetry spans
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/backend-common': patch
'@backstage/plugin-techdocs-node': patch
---
Internal fixes to match `testcontainers` update
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-notifications-backend': patch
---
Validate notification link when new notification is created
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-kubernetes-backend': patch
---
Skip start without proper config
+19
View File
@@ -0,0 +1,19 @@
---
'@backstage/backend-defaults': patch
---
Exports the `discoveryFeatureLoader` as a replacement for the deprecated `featureDiscoveryService`.
The `discoveryFeatureLoader` is a new backend system [feature loader](https://backstage.io/docs/backend-system/architecture/feature-loaders/) that discovers backend features from the current `package.json` and its dependencies.
Here is an example using the `discoveryFeatureLoader` loader in a new backend instance:
```ts
import { createBackend } from '@backstage/backend-defaults';
import { discoveryFeatureLoader } from '@backstage/backend-defaults';
//...
const backend = createBackend();
//...
backend.add(discoveryFeatureLoader);
//...
backend.start();
```
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-compat-api': minor
---
**BREAKING**: The `namespace` parameter for API's is now defaulted to the `pluginId` which was discovered. This means that if you're overriding API's by using ID's directly, they might have changed to include the plugin ID too.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/frontend-plugin-api': patch
'@backstage/frontend-test-utils': patch
'@backstage/frontend-app-api': patch
---
Removing deprecated `namespace` parameter in favour of `pluginId` instead
+21
View File
@@ -0,0 +1,21 @@
---
'@backstage/plugin-signals': patch
---
Added a `SignalsDisplay` extension to allows the signals plugin to be installed in an app as follows:
```tsx
export default app.createRoot(
<>
<AlertDisplay transientTimeoutMs={2500} />
<OAuthRequestDialog />
<SignalsDisplay />
<AppRouter>
<VisitListener />
<Root>{routes}</Root>
</AppRouter>
</>,
);
```
With this in place you can remove the explicit installation via the `plugins` option for `createApp`.
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/plugin-notifications-backend-module-email': patch
'@backstage/plugin-catalog-backend-module-github': patch
'@backstage/plugin-notifications-backend': patch
'@backstage/plugin-techdocs-backend': patch
---
Refactor to use injected catalog client in the new backend system
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/plugin-catalog-unprocessed-entities': patch
---
Show additional info on DevTools unprocessed entities table
- Location path (so that it's easier to search the failed entity from the YAML URL)
- Time info of last discovery and next refresh time so that users can be aware of it and can sort the errors based on the time.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-defaults': patch
---
Properly indent the config schema
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-techdocs-node': patch
---
As the `@backstage/backend-common` package is deprecated, we have updated the `techdocs-node` package to stop depending on it.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-test-utils': patch
---
Added the ability to provide additional `extensions` and `features` to `renderInTestApp`
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Fixed an issue where published frontend packages would end up with an invalid import structure if a single module imported both `.css` and `.svg` files.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
---
Updated the README to include documentation for the new backend support
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-signals': patch
---
Put a name on the `SignalsDisplay` component extension
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-react': patch
---
Small internal fix to better work with recent `lodash` versions
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/backend-plugin-api': patch
'@backstage/backend-defaults': patch
'@backstage/backend-common': patch
---
Allow the cache service to accept the human duration format for TTL
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend': patch
---
Fixed an issue with the by-query call, where ordering by a field that does not exist on all entities led to not all results being returned
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-signals-react': patch
---
Fix for `useSignal` returning the inverse value for `isSignalsAvailable`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-techdocs': patch
---
Enhanced the table hover effect with a lighter color and updated the border radius to align with Backstage's theme styling
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/create-app': patch
---
Remove references to the `@backstage/backend-tasks` in versions of the `create-app` package, as it has been deprecated.
+21
View File
@@ -0,0 +1,21 @@
---
'@backstage/frontend-plugin-api': patch
'@backstage/frontend-app-api': patch
---
Added support for defining `replaces` in `createExtensionInput` which will allow extensions to redirect missing `attachTo` points to an input of the created extension.
```ts
export const AppThemeApi = ApiBlueprint.makeWithOverrides({
name: 'app-theme',
inputs: {
themes: createExtensionInput([ThemeBlueprint.dataRefs.theme], {
// attachTo: { id: 'app', input: 'themes'} will be redirected to this input instead
replaces: [{ id: 'app', input: 'themes' }],
}),
},
factory: () {
...
}
});
```
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-defaults': patch
---
Added the option to skip database migrations by setting `skipMigrations: true` in config. This can be done globally in the database config or by plugin id.
+17
View File
@@ -0,0 +1,17 @@
---
'@backstage/backend-defaults': minor
---
**BREAKING**: Simplifications and cleanup as part of the Backend System 1.0 work.
For the `/database` subpath exports:
- The deprecated `dropDatabase` function has now been removed, without replacement.
- The deprecated `LegacyRootDatabaseService` type has now been removed.
- The return type from `DatabaseManager.forPlugin` is now directly a `DatabaseService`, as arguably expected.
- `DatabaseManager.forPlugin` now requires the `deps` argument, with the logger and lifecycle services.
For the `/cache` subpath exports:
- The `PluginCacheManager` type has been removed. You can still import it from `@backstage/backend-common`, but it's deprecated there, and you should move off of that package by migrating fully to the new backend system.
- Accordingly, `CacheManager.forPlugin` immediately returns a `CacheService` instead of a `PluginCacheManager`. The outcome of this is that you no longer need to make the extra `.getClient()` call. The old `CacheManager` with the old behavior still exists on `@backstage/backend-common`, but the above recommendations apply.
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/backend-defaults': patch
'@backstage/backend-app-api': patch
'@backstage/backend-common': patch
'@backstage/backend-plugin-api': patch
---
Updates to the config schema to match reality
+4 -9
View File
@@ -1,22 +1,17 @@
{
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
labels: ['dependencies'],
extends: ['config:best-practices', ':gitSignOff'],
// do not pin dev dependencies, which are part of the best-practices preset
ignorePresets: [':pinDevDependencies', ':pinDigest', 'docker:pinDigests'],
constraints: {
// TODO(freben): Remove this later; it addresses a temporary issue in corepack
// https://github.com/nodejs/corepack/issues/379
// https://github.com/renovatebot/renovate/discussions/27465
corepack: '0.24.1',
},
// the default limit are 10 PRs
// the default limit is 10 PRs
prConcurrentLimit: 20,
postUpdateOptions: ['yarnDedupeHighest'],
rangeStrategy: 'update-lockfile',
ignoreDeps: [
@@ -26,19 +21,19 @@
],
packageRules: [
{
matchSourceUrlPrefixes: ['https://github.com/spotify/web-scripts'],
groupName: 'Spotify web-scripts monorepo packages',
rangeStrategy: 'replace',
matchSourceUrls: ['https://github.com/spotify/web-scripts{/,}**'],
},
{
matchSourceUrlPrefixes: ['https://github.com/microsoft/rushstack'],
groupName: 'API Extractor / Rush Stack monorepo packages',
rangeStrategy: 'replace',
matchSourceUrls: ['https://github.com/microsoft/rushstack{/,}**'],
},
{
matchSourceUrlPrefixes: ['https://github.com/gregberge/svgr'],
groupName: 'SVGR monorepo packages',
rangeStrategy: 'replace',
matchSourceUrls: ['https://github.com/gregberge/svgr{/,}**'],
},
// We update yarn packages manually as it's gzip'd and we don't want to pollute the repository too much.
{
@@ -22,7 +22,7 @@ jobs:
action: ${{ steps.event.outputs.ACTION }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
disable-sudo: true
egress-policy: block
+3 -3
View File
@@ -14,7 +14,7 @@ jobs:
if: ${{ github.event_name != 'pull_request' || github.event.action != 'closed' }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
@@ -33,7 +33,7 @@ jobs:
registry-url: https://registry.npmjs.org/
- name: yarn install
uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11
uses: backstage/actions/yarn-install@3c138326f7fcbf253b88170c1f29bae8e975d47c # v0.6.14
with:
cache-prefix: linux-v18
@@ -46,7 +46,7 @@ jobs:
cat ${{ github.event_path }} > event.json
- name: Upload Artifacts
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4
with:
name: preview-spec
path: |
+1 -1
View File
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
@@ -23,7 +23,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
@@ -34,7 +34,7 @@ jobs:
ref: 'refs/pull/${{ github.event.pull_request.number }}/merge'
- name: fetch base
run: git fetch --depth 1 origin ${{ github.base_ref }}
- uses: backstage/actions/changeset-feedback@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11
- uses: backstage/actions/changeset-feedback@3c138326f7fcbf253b88170c1f29bae8e975d47c # v0.6.14
name: Generate feedback
with:
diff-ref: 'origin/master'
+1 -1
View File
@@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
+1 -1
View File
@@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
+1 -1
View File
@@ -40,7 +40,7 @@ jobs:
name: Test ${{ matrix.node-version }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
+5 -5
View File
@@ -28,7 +28,7 @@ jobs:
name: Install ${{ matrix.node-version }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
@@ -41,7 +41,7 @@ jobs:
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11
uses: backstage/actions/yarn-install@3c138326f7fcbf253b88170c1f29bae8e975d47c # v0.6.14
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
@@ -64,7 +64,7 @@ jobs:
name: Verify ${{ matrix.node-version }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
@@ -77,7 +77,7 @@ jobs:
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11
uses: backstage/actions/yarn-install@3c138326f7fcbf253b88170c1f29bae8e975d47c # v0.6.14
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
@@ -222,7 +222,7 @@ jobs:
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11
uses: backstage/actions/yarn-install@3c138326f7fcbf253b88170c1f29bae8e975d47c # v0.6.14
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
+2 -2
View File
@@ -10,11 +10,11 @@ jobs:
timeout-minutes: 10
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
- uses: backstage/actions/cron@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11
- uses: backstage/actions/cron@3c138326f7fcbf253b88170c1f29bae8e975d47c # v0.6.14
with:
app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }}
+4 -4
View File
@@ -20,7 +20,7 @@ jobs:
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
@@ -37,7 +37,7 @@ jobs:
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11
uses: backstage/actions/yarn-install@3c138326f7fcbf253b88170c1f29bae8e975d47c # v0.6.14
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
@@ -51,14 +51,14 @@ jobs:
working-directory: ./example-app
- name: Login to GitHub Container Registry
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3.3.0
uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1
- name: Build and push
uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # v5.4.0
+177 -23
View File
@@ -8,14 +8,148 @@ permissions:
contents: read
jobs:
deploy-microsite-and-storybook:
permissions:
contents: write # for JamesIves/github-pages-deploy-action to push changes in repo
stable:
runs-on: ubuntu-latest
concurrency:
group: stable-reference-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CI: true
NODE_OPTIONS: --max-old-space-size=8192
outputs:
release: ${{ steps.find-release.outputs.result }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
- name: find latest release
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
id: find-release
with:
script: |
const { data } = await github.rest.repos.listTags({
owner: context.repo.owner,
repo: context.repo.repo,
per_page: 100,
})
const [{tag}] = data
.map(i => i.name)
.filter(tag => tag.match(/^v\d+\.\d+\.\d+$/))
.map(tag => ({
tag,
val: tag
.slice(1)
.split('.')
.reduce((val, part) => Number(val) * 1000 + Number(part))
}))
.sort((a, b) => b.val - a.val)
return tag
result-encoding: string
- name: checkout latest release
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: refs/tags/${{ steps.find-release.outputs.result }}
- name: use node.js 18.x
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: 18.x
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@3c138326f7fcbf253b88170c1f29bae8e975d47c # v0.6.14
with:
cache-prefix: ${{ runner.os }}-v18.x
- name: build API reference
run: yarn build:api-docs
- name: upload API reference
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4
with:
name: stable-reference
path: docs/reference/
if-no-files-found: error
retention-days: 1
next:
runs-on: ubuntu-latest
concurrency:
group: next-reference-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CI: true
NODE_OPTIONS: --max-old-space-size=8192
steps:
- name: Harden Runner
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
- name: checkout master
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: use node.js 18.x
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: 18.x
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@3c138326f7fcbf253b88170c1f29bae8e975d47c # v0.6.14
with:
cache-prefix: ${{ runner.os }}-v18.x
- name: build API reference
run: yarn build:api-docs
- name: upload API reference
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4
with:
name: next-reference
path: docs/reference/
if-no-files-found: error
retention-days: 1
# Also build and upload storybook
- name: storybook yarn install
run: yarn install --immutable
working-directory: storybook
- name: storybook build
run: yarn build-storybook
working-directory: storybook
- name: storybook upload
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4
with:
name: storybook
path: storybook/dist/
if-no-files-found: error
retention-days: 1
deploy-microsite-and-storybook:
permissions:
contents: write # for JamesIves/github-pages-deploy-action to push changes in repo
runs-on: ubuntu-latest
needs:
- stable
- next
env:
CI: true
NODE_OPTIONS: --max-old-space-size=16384
DOCUSAURUS_SSR_CONCURRENCY: 5
concurrency:
@@ -24,49 +158,69 @@ jobs:
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: use node.js 18.x
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: 18.x
registry-url: https://registry.npmjs.org/ # Needed for auth
# We avoid caching in this workflow, as we're running an install of both the top-level
# dependencies and the microsite. We leave it to the main master workflow to produce the
# cache, as that results in a smaller bundle.
- name: top-level yarn install
run: yarn install --immutable
# Stable docs
- name: checkout latest release
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: refs/tags/${{ needs.stable.outputs.release }}
- name: microsite yarn install
run: yarn install --immutable
working-directory: microsite
- name: storybook yarn install
run: yarn install --immutable
working-directory: storybook
- name: build API reference
run: yarn build:api-docs
- name: download stable reference
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4
with:
name: stable-reference
path: docs/reference
- name: generate stable docs
run: yarn docusaurus docs:version stable
working-directory: microsite
- name: clear API reference
run: rm -r docs/reference
# Next docs
- name: checkout master
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
clean: false
- name: microsite yarn install
run: yarn install --immutable
working-directory: microsite
- name: download next reference
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4
with:
name: next-reference
path: docs/reference
- name: build microsite
run: yarn build
working-directory: microsite
- name: build storybook
run: yarn build-storybook
working-directory: storybook
- name: move storybook dist into microsite
run: mv storybook/dist/ microsite/build/storybook
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4
with:
name: storybook
path: microsite/build/storybook
- name: Check the build output
run: ls microsite/build && ls microsite/build/storybook
- name: Deploy both microsite and storybook to gh-pages
uses: JamesIves/github-pages-deploy-action@94f3c658273cf92fb48ef99e5fbc02bd2dc642b2 # v4.6.3
uses: JamesIves/github-pages-deploy-action@920cbb300dcd3f0568dbc42700c61e2fd9e6139c # v4.6.4
with:
branch: gh-pages
folder: microsite/build
-71
View File
@@ -1,71 +0,0 @@
name: Deploy Nightly Release
on:
schedule:
- cron: '0 2 * * *' # run at 2 AM UTC
jobs:
build:
if: github.repository == 'backstage/backstage' # prevent running on forks
runs-on: ubuntu-latest
env:
CI: true
NODE_OPTIONS: --max-old-space-size=8192
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
with:
egress-policy: audit
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: use node.js 18.x
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: 18.x
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11
with:
cache-prefix: ${{ runner.os }}-v18.x
# No verification done here, only build & publish. If the master branch
# is broken we will see that from those builds, but we still want to push nightly
# builds since upgrading to them is a manual process anyway.
- name: tsc
run: yarn tsc
- name: build
run: yarn backstage-cli repo build
- name: build embedded techdocs app
working-directory: packages/techdocs-cli-embedded-app
run: yarn build
# Prepares a nightly release version of any package with pending changesets
# Pre-mode is exited if case we're in it, otherwise it has no effect
- name: prepare nightly release
run: |
yarn changeset pre exit || true
yarn changeset version --snapshot nightly
# Publishes the nightly release to npm, by using tag we make sure the release is
# not flagged as the latest release, which means that people will not get this
# version of the package unless requested explicitly
- name: publish nightly release
run: |
yarn config set -H 'npmAuthToken' "${{secrets.NPM_TOKEN}}"
yarn workspaces foreach -p -j 10 -v --no-private npm publish --access public --tolerate-republish --tag nightly
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Discord notification
if: ${{ failure() }}
uses: Ilshidur/action-discord@0c4b27844ba47cb1c7bee539c8eead5284ce9fa9 # 0.3.2
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
with:
args: 'Nightly build failed https://github.com/{{GITHUB_REPOSITORY}}/actions/runs/{{GITHUB_RUN_ID}}'
+6 -71
View File
@@ -1,11 +1,5 @@
name: Deploy Packages
on:
workflow_dispatch:
inputs:
force_release:
description: Unconditionally trigger the release job
required: false
type: boolean
push:
branches: [master, patch/*]
@@ -82,7 +76,7 @@ jobs:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11
uses: backstage/actions/yarn-install@3c138326f7fcbf253b88170c1f29bae8e975d47c # v0.6.14
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
@@ -140,7 +134,7 @@ jobs:
release:
needs: build
if: needs.build.outputs.needs_release == 'true' || inputs.force_release == true
if: needs.build.outputs.needs_release == 'true'
runs-on: ubuntu-latest
@@ -148,75 +142,16 @@ jobs:
matrix:
node-version: [18.x]
env:
CI: 'true'
NODE_OPTIONS: --max-old-space-size=8192
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
- name: build type declarations
run: yarn tsc:full
- name: build packages
run: yarn backstage-cli repo build
- name: build embedded techdocs app
working-directory: packages/techdocs-cli-embedded-app
run: yarn build
# Publishes current version of packages that are not already present in the registry
- name: publish
run: |
yarn config set -H 'npmAuthToken' "${{secrets.NPM_TOKEN}}"
if [ -f ".changeset/pre.json" ]; then
yarn workspaces foreach -v --no-private npm publish --access public --tolerate-republish --tag next
else
yarn workspaces foreach -v --no-private npm publish --access public --tolerate-republish
fi
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# Grabs the version in the root package.json and creates a tag on GitHub
- name: Create a release tag
id: create_tag
run: node scripts/create-release-tag.js
env:
GITHUB_TOKEN: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
# Convert the newly created tag into a release with changelog information
- name: Create release on GitHub
run: node scripts/create-github-release.js ${{ steps.create_tag.outputs.tag_name }} 1
env:
GITHUB_TOKEN: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
- name: Dispatch repository event
uses: peter-evans/repository-dispatch@ff45666b9427631e3450c54a1bcbee4d9ff4d7c0 # v3.0.0
with:
token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
event-type: release-published
client-payload: '{"version": "${{ steps.create_tag.outputs.version }}"}'
# Notify everyone about this great new release :D
# Notify maintainers that a new release is ready to be published
- name: Discord notification
uses: Ilshidur/action-discord@0c4b27844ba47cb1c7bee539c8eead5284ce9fa9 # 0.3.2
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_RELEASE_WEBHOOK }}
TAG_NAME: ${{ steps.create_tag.outputs.tag_name }}
DISCORD_WEBHOOK: ${{ secrets.DISCORD_MAINTAINERS_WEBHOOK }}
with:
args: 'A new release has been published! https://github.com/backstage/backstage/releases/tag/{{TAG_NAME}}'
args: 'A new release is ready to be [published](https://github.com/backstage/publishing/actions/workflows/publish-main.yml) from {{GITHUB_SHA}}'
+7 -1
View File
@@ -3,14 +3,20 @@ on:
issues:
types: [opened]
permissions:
contents: read
jobs:
sync:
permissions:
contents: read # for github/issue-labeler to get repo contents
issues: write # for github/issue-labeler to create or remove labels
runs-on: ubuntu-latest
if: github.repository == 'backstage/backstage'
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
@@ -20,7 +20,7 @@ jobs:
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
@@ -30,7 +30,7 @@ jobs:
run: |
mkdir -p ./pr
echo $PR_NUMBER > ./pr/pr_number
- uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: pr_number-${{ github.event.pull_request.number }}
path: pr/
+2 -2
View File
@@ -17,7 +17,7 @@ jobs:
steps:
# Inspired by https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#using-data-from-the-triggering-workflow
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
@@ -40,7 +40,7 @@ jobs:
const prNumber = artifact.name.slice('pr_number-'.length)
core.setOutput('pr-number', prNumber);
- uses: backstage/actions/re-review@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11
- uses: backstage/actions/re-review@3c138326f7fcbf253b88170c1f29bae8e975d47c # v0.6.14
with:
app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }}
+2 -2
View File
@@ -18,12 +18,12 @@ jobs:
if: github.repository == 'backstage/backstage' && ( github.event.pull_request || github.event.issue.pull_request )
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
- name: PR sync
uses: backstage/actions/pr-sync@772cef06641090d0095188e15c85647acdf0c250 # v0.6.11
uses: backstage/actions/pr-sync@3c138326f7fcbf253b88170c1f29bae8e975d47c # v0.6.14
with:
github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
+3 -3
View File
@@ -29,7 +29,7 @@ jobs:
steps:
- name: Harden Runner
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
@@ -58,7 +58,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: 'Upload artifact'
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: SARIF file
path: results.sarif
@@ -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@5cf07d8b700b67e235fbb65cbc84f69c0cf10464 # v3.25.14
uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
with:
sarif_file: results.sarif

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