Skip to content

Commit b871d8e

Browse files
authored
Merge pull request #36784 from github/repo-sync
Repo sync
2 parents ca1db38 + 8a3948d commit b871d8e

4 files changed

Lines changed: 26 additions & 10 deletions

File tree

content/billing/using-the-new-billing-platform/preventing-overspending.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,21 @@ You can set spending limits and receive alerts when your usage reaches 75%, 90%,
4444

4545
You can manage budgets for your {% data variables.enterprise.enterprise_or_org %} by setting a budget, viewing budgets, and editing or deleting budgets.
4646

47+
{% ifversion ghec %}
48+
49+
### Budget scopes
50+
51+
You can create a budget for a given {% data variables.product.github %} product and specific scope:
52+
53+
* `Enterprise` scoped budgets track spending for all organizations, repositories, and cost centers in the enterprise
54+
* `Organization` scoped budgets track spending for a single organization, repositories, and cost centers in the organization
55+
* `Repository` scoped budgets track spending for a single repository
56+
* `Cost center` scoped budgets track spending for a single cost center
57+
58+
Usage is applied towards all applicable budgets. If any applicable budget with "Stop usage when budget limit is reached" enabled becomes exhausted, additional usage will be stopped.
59+
60+
{% endif %}
61+
4762
### Viewing budgets
4863

4964
If you are an {% data variables.enterprise.enterprise_or_org %} owner or billing manager, your {% data variables.enterprise.enterprise_or_org %}'s budget will be listed at the top of the "Budgets and alerts" page{% ifversion ghec %}, followed by the budgets for your organizations and cost centers. As an organization owner, you will be able to view the budgets for your organizations, repositories, and cost centers{% endif %}.

data/release-notes/enterprise-server/3-16/0.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -162,13 +162,6 @@ sections:
162162
- |
163163
Enterprise administrators can better monitor the health of the appliance with optimized dashboards that provide concise, actionable metrics. See [AUTOTITLE](/admin/monitoring-and-managing-your-instance/monitoring-your-instance/about-the-monitor-dashboards).
164164
165-
- heading: Issues
166-
notes:
167-
# https://github.com/github/releases/issues/4033
168-
# https://github.com/github/releases/issues/3121
169-
- |
170-
Issues and projects feature highly-requested enhancements including sub-issues, issue types, and advanced search for issues. These feature enhancements make it easy to break down work, visualize progress, categorize and find just the right issue in GitHub. See the [GitHub blog post](https://github.blog/changelog/2024-10-01-evolving-github-issues-public-beta/).
171-
172165
- heading: GitHub Mobile
173166
notes:
174167
# https://github.com/github/releases/issues/4456

src/article-api/middleware/article-pageinfo.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import type { ExtendedRequest, Page, Context, Permalink } from '@/types'
55
import shortVersions from '@/versions/middleware/short-versions.js'
66
import contextualize from '@/frame/middleware/context/context'
77
import features from '@/versions/middleware/features.js'
8+
import breadcrumbs from '@/frame/middleware/context/breadcrumbs.js'
9+
import currentProductTree from '@/frame/middleware/context/current-product-tree.js'
810
import { readCompressedJsonFile } from '@/frame/lib/read-json-file.js'
911

1012
// If you have pre-computed page info into a JSON file on disk, this is
@@ -29,6 +31,7 @@ export async function getPageInfo(page: Page, pathname: string) {
2931
await contextualize(renderingReq as ExtendedRequest, res as Response, next)
3032
await shortVersions(renderingReq as ExtendedRequest, res as Response, next)
3133
renderingReq.context.page = page
34+
await currentProductTree(renderingReq as ExtendedRequest, res as Response, next)
3235
features(renderingReq as ExtendedRequest, res as Response, next)
3336
const context = renderingReq.context
3437

@@ -50,7 +53,12 @@ export async function getPageInfo(page: Page, pathname: string) {
5053
}
5154
const product = productPage ? await getProductPageInfo(productPage, context) : ''
5255

53-
return { title, intro, product }
56+
// Call breadcrumbs middleware to populate renderingReq.context.breadcrumbs
57+
breadcrumbs(renderingReq as ExtendedRequest, res as Response, next)
58+
59+
const { breadcrumbs: pageBreadcrumbs } = renderingReq.context
60+
61+
return { title, intro, product, breadcrumbs: pageBreadcrumbs }
5462
}
5563

5664
const _productPageCache: {

src/versions/middleware/short-versions.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
import type { ExtendedRequest } from '@/types.js'
1010
import type { Response, NextFunction } from 'express'
1111

12-
export default function shortVersions(
12+
export default async function shortVersions(
1313
req: ExtendedRequest,
1414
res: Response | null,
1515
next: NextFunction,
16-
): void {
16+
): Promise<void> {
1717
if (!req.context) throw new Error('No context on request')
1818
const { currentVersion, currentVersionObj } = req.context
1919
if (!currentVersionObj) {

0 commit comments

Comments
 (0)