Skip to content

Commit 4a6de5a

Browse files
authored
Merge pull request #43742 from github/repo-sync
Repo sync
2 parents 6b9e486 + adba95d commit 4a6de5a

File tree

3 files changed

+45
-11
lines changed

3 files changed

+45
-11
lines changed

content/actions/how-tos/manage-workflow-runs/re-run-workflows-and-jobs.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,9 @@ category:
1717
contentType: how-tos
1818
---
1919

20-
> [!NOTE]
21-
> Re-run workflows use the privileges of the actor who initially triggered the workflow, not the privileges of the actor who initiated the re-run. The workflow will also use the same `GITHUB_SHA` (commit SHA) and `GITHUB_REF` (git ref) of the original event that triggered the workflow run.
22-
{% ifversion fpt or ghec %}
23-
>
24-
> A workflow run can be re-run a maximum of 50 times. Re-running only a single job or failed jobs counts towards this limit.
25-
{% endif %}
20+
Re-runs use the privileges of the actor who initially triggered the workflow, not the privileges of the actor who initiated the re-run. The workflow will also use the same `GITHUB_SHA` (commit SHA) and `GITHUB_REF` (git ref) of the original event that triggered the workflow run.
21+
22+
A workflow run can be re-run a maximum of 50 times. This limit includes both full re-runs and re-runs of a subset of jobs.
2623

2724
## Re-running all the jobs in a workflow
2825

content/actions/reference/limits.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@ These limits are subject to change.
2828
| :---- | :---- | :---- | :---- | :---- |
2929
| Workflow execution limit | Workflow run time | 35 days / workflow run | If a workflow run reaches this limit, the workflow run is cancelled. This period includes execution duration, and time spent on waiting and approval. | {% octicon "x" aria-label="No" %} |
3030
| Workflow execution limit | Gate approval time | 30 days | A workflow may wait for up to [30 days on environment approvals](/actions/managing-workflow-runs-and-deployments/managing-deployments/managing-environments-for-deployment#wait-timer). | {% octicon "x" aria-label="No" %} |
31+
| Workflow execution limit | Job Matrix | 256 jobs / workflow run | A job matrix can generate a maximum of 256 jobs per workflow run. This limit applies to both {% data variables.product.github %}-hosted and self-hosted runners. | {% octicon "x" aria-label="No" %} |
32+
| Workflow execution limit | Re-run | 50 re-runs | A workflow run can be re-run a maximum of 50 times. This limit includes both full re-runs and re-runs of a subset of jobs. | {% octicon "check" aria-label="Yes" %} Support ticket |
3133
| Workflows queuing | Workflow trigger event rate limit | 1500 events / 10 seconds / repository | Each repository is limited to events triggering a workflow run. | {% octicon "check" aria-label="Yes" %} Support ticket |
3234
| Workflows queuing | Workflow run queued | 500 workflow runs / 10 seconds | When the limit is reached, the workflow runs that were supposed to be triggered by the webhook events will be blocked and will not be queued. Reusable workflows are viewed as a single entity. For example, a run with 30 reusable workflows counts as 1 in this instance. | {% octicon "x" aria-label="No" %} |
33-
| Workflow execution | Job Matrix | 256 jobs / workflow run | A job matrix can generate a maximum of jobs per workflow run. This limit applies to both {% data variables.product.github %}-hosted and self-hosted runners. | {% octicon "x" aria-label="No" %} |
3435
| Self-hosted | Runner registrations | 1500 runners / 5 minutes / repository/org/enterprise | Runners can be registered per repository/organization/enterprise. | {% octicon "check" aria-label="Yes" %} Support ticket |
3536
| Self-hosted | Runners per runner group | 10,000 runners | Runners registered at the same time per runner group. | {% octicon "x" aria-label="No" %} |
3637
| Self-hosted | Job execution time | 5 days | Each job in a workflow can run for up to 5 days of execution time. If a job reaches this limit, the job is terminated and fails. | {% octicon "x" aria-label="No" %} |

src/frame/lib/warm-server.ts

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,19 +31,55 @@ let promisedWarmServer: Promise<WarmServerResult> | undefined
3131
async function warmServer(languagesOnly: string[] = []): Promise<WarmServerResult> {
3232
const startTime = Date.now()
3333

34-
logger.debug(
35-
`Priming context information...${languagesOnly && languagesOnly.length ? ` ${languagesOnly.join(',')} only` : ''}`,
36-
)
34+
const langSuffix =
35+
languagesOnly && languagesOnly.length ? ` (${languagesOnly.join(',')})` : ' (all languages)'
3736

37+
logger.info(`warm-server: starting${langSuffix}`)
38+
39+
let stepStart = Date.now()
3840
const unversionedTree = await dog.loadUnversionedTree(languagesOnly)
41+
logger.info('warm-server: loadUnversionedTree complete', {
42+
durationMs: Date.now() - stepStart,
43+
heapUsedMb: Math.round(process.memoryUsage().heapUsed / 1024 / 1024),
44+
})
45+
46+
stepStart = Date.now()
3947
const siteTree = await dog.loadSiteTree(unversionedTree, languagesOnly)
48+
logger.info('warm-server: loadSiteTree complete', {
49+
durationMs: Date.now() - stepStart,
50+
heapUsedMb: Math.round(process.memoryUsage().heapUsed / 1024 / 1024),
51+
})
52+
53+
stepStart = Date.now()
4054
const pageList = await dog.loadPages(unversionedTree, languagesOnly)
55+
logger.info('warm-server: loadPages complete', {
56+
durationMs: Date.now() - stepStart,
57+
pageCount: pageList.length,
58+
heapUsedMb: Math.round(process.memoryUsage().heapUsed / 1024 / 1024),
59+
})
60+
61+
stepStart = Date.now()
4162
const pageMap = await dog.loadPageMap(pageList)
63+
logger.info('warm-server: loadPageMap complete', {
64+
durationMs: Date.now() - stepStart,
65+
permalinkCount: Object.keys(pageMap).length,
66+
heapUsedMb: Math.round(process.memoryUsage().heapUsed / 1024 / 1024),
67+
})
68+
69+
stepStart = Date.now()
4270
const redirects = await dog.loadRedirects(pageList)
71+
logger.info('warm-server: loadRedirects complete', {
72+
durationMs: Date.now() - stepStart,
73+
redirectCount: Object.keys(redirects).length,
74+
heapUsedMb: Math.round(process.memoryUsage().heapUsed / 1024 / 1024),
75+
})
4376

4477
statsd.gauge('memory_heap_used', process.memoryUsage().heapUsed, ['event:warm-server'])
4578

46-
logger.debug(`Context primed in ${Date.now() - startTime} ms`)
79+
logger.info('warm-server: complete', {
80+
totalDurationMs: Date.now() - startTime,
81+
heapUsedMb: Math.round(process.memoryUsage().heapUsed / 1024 / 1024),
82+
})
4783

4884
return {
4985
pages: pageMap,

0 commit comments

Comments
 (0)