Skip to content

Commit c97b40d

Browse files
authored
Merge pull request #18408 from github/repo-sync
repo sync
2 parents 5d95d6f + 64a40d6 commit c97b40d

File tree

3 files changed

+68
-15
lines changed

3 files changed

+68
-15
lines changed
Loading
Loading

content/actions/using-github-hosted-runners/about-github-hosted-runners.md

Lines changed: 68 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ redirect_from:
99
- /actions/reference/virtual-environments-for-github-hosted-runners
1010
- /actions/reference/software-installed-on-github-hosted-runners
1111
- /actions/reference/specifications-for-github-hosted-runners
12+
miniTocMaxHeadingLevel: 3
1213
versions:
1314
fpt: '*'
1415
ghes: '*'
@@ -19,35 +20,69 @@ shortTitle: GitHub-hosted runners
1920
{% data reusables.actions.enterprise-beta %}
2021
{% data reusables.actions.enterprise-github-hosted-runners %}
2122

22-
## About {% data variables.product.prodname_dotcom %}-hosted runners
23+
## Overview of {% data variables.product.prodname_dotcom %}-hosted runners
2324

24-
A {% data variables.product.prodname_dotcom %}-hosted runner is a virtual machine hosted by {% data variables.product.prodname_dotcom %} with the {% data variables.product.prodname_actions %} runner application installed. {% data variables.product.prodname_dotcom %} offers runners with Linux, Windows, and macOS operating systems.
25+
Runners are the machines that execute jobs in a {% data variables.product.prodname_actions %} workflow. For example, a runner can clone your repository locally, install testing software, and then run commands that evaluate your code.
2526

26-
When you use a {% data variables.product.prodname_dotcom %}-hosted runner, machine maintenance and upgrades are taken care of for you. You can run workflows directly on the virtual machine or in a Docker container.
27-
28-
You can specify the runner type for each job in a workflow. Each job in a workflow executes in a fresh instance of the virtual machine. All steps in the job execute in the same instance of the virtual machine, allowing the actions in that job to share information using the filesystem.
27+
{% data variables.product.prodname_dotcom %} provides runners that you can use to run your jobs, or you can [host your own runners](/actions/hosting-your-own-runners/about-self-hosted-runners). Each {% data variables.product.prodname_dotcom %}-hosted runner is a new virtual machine (VM) hosted by {% data variables.product.prodname_dotcom %} with the runner application and other tools preinstalled, and is available with Ubuntu Linux, Windows, or macOS operating systems. When you use a {% data variables.product.prodname_dotcom %}-hosted runner, machine maintenance and upgrades are taken care of for you.
2928

3029
{% ifversion not ghes %}
3130

32-
{% data reusables.actions.runner-app-open-source %}
31+
## Using a {% data variables.product.prodname_dotcom %}-hosted runner
3332

34-
### Cloud hosts for {% data variables.product.prodname_dotcom %}-hosted runners
33+
To use a {% data variables.product.prodname_dotcom %}-hosted runner, create a job and use `runs-on` to specify the type of runner that will process the job, such as `ubuntu-latest`, `windows-latest`, or `macos-latest`. For the full list of runner types, see "[Supported runners and hardware resources](/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources)."
3534

36-
{% data variables.product.prodname_dotcom %} hosts Linux and Windows runners on Standard_DS2_v2 virtual machines in Microsoft Azure with the {% data variables.product.prodname_actions %} runner application installed. The {% data variables.product.prodname_dotcom %}-hosted runner application is a fork of the Azure Pipelines Agent. Inbound ICMP packets are blocked for all Azure virtual machines, so ping or traceroute commands might not work. For more information about the Standard_DS2_v2 machine resources, see "[Dv2 and DSv2-series](https://docs.microsoft.com/azure/virtual-machines/dv2-dsv2-series#dsv2-series)" in the Microsoft Azure documentation.
35+
When the job begins, {% data variables.product.prodname_dotcom %} automatically provisions a new VM for that job. All steps in the job execute on the VM, allowing the steps in that job to share information using the runner's filesystem. You can run workflows directly on the VM or in a Docker container. When the job has finished, the VM is automatically decommissioned.
3736

38-
{% data variables.product.prodname_dotcom %} hosts macOS runners in {% data variables.product.prodname_dotcom %}'s own macOS Cloud.
37+
The following diagram demonstrates how two jobs in a workflow are executed on two different {% data variables.product.prodname_dotcom %}-hosted runners.
3938

40-
### Workflow continuity for {% data variables.product.prodname_dotcom %}-hosted runners
39+
![Two runners processing separate jobs](/assets/images/help/images/overview-github-hosted-runner.png)
4140

42-
{% data reusables.actions.runner-workflow-continuity %}
41+
The following example workflow has two jobs, named `Run-npm-on-Ubuntu` and `Run-PSScriptAnalyzer-on-Windows`. When this workflow is triggered, {% data variables.product.prodname_dotcom %} provisions a new virtual machine for each job.
4342

44-
In addition, if the workflow run has been successfully queued, but has not been processed by a {% data variables.product.prodname_dotcom %}-hosted runner within 45 minutes, then the queued workflow run is discarded.
43+
- The job named `Run-npm-on-Ubuntu` is executed on a Linux VM, because the job's `runs-on:` specifies `ubuntu-latest`.
44+
- The job named `Run-PSScriptAnalyzer-on-Windows` is executed on a Windows VM, because the job's `runs-on:` specifies `windows-latest`.
4545

46-
### Administrative privileges of {% data variables.product.prodname_dotcom %}-hosted runners
46+
```yaml{:copy}
47+
name: Run commands on different operating systems
48+
on:
49+
push:
50+
branches: [ main ]
51+
pull_request:
52+
branches: [ main ]
4753
48-
The Linux and macOS virtual machines both run using passwordless `sudo`. When you need to execute commands or install tools that require more privileges than the current user, you can use `sudo` without needing to provide a password. For more information, see the "[Sudo Manual](https://www.sudo.ws/man/1.8.27/sudo.man.html)."
54+
jobs:
55+
Run-npm-on-Ubuntu:
56+
name: Run npm on Ubuntu
57+
runs-on: ubuntu-latest
58+
steps:
59+
- uses: {% data reusables.actions.action-checkout %}
60+
- uses: {% data reusables.actions.action-setup-node %}
61+
with:
62+
node-version: '14'
63+
- run: npm help
4964
50-
Windows virtual machines are configured to run as administrators with User Account Control (UAC) disabled. For more information, see "[How User Account Control works](https://docs.microsoft.com/windows/security/identity-protection/user-account-control/how-user-account-control-works)" in the Windows documentation.
65+
Run-PSScriptAnalyzer-on-Windows:
66+
name: Run PSScriptAnalyzer on Windows
67+
runs-on: windows-latest
68+
steps:
69+
- uses: {% data reusables.actions.action-checkout %}
70+
- name: Install PSScriptAnalyzer module
71+
shell: pwsh
72+
run: |
73+
Set-PSRepository PSGallery -InstallationPolicy Trusted
74+
Install-Module PSScriptAnalyzer -ErrorAction Stop
75+
- name: Get list of rules
76+
shell: pwsh
77+
run: |
78+
Get-ScriptAnalyzerRule
79+
```
80+
81+
While the job runs, the logs and output can be viewed in the {% data variables.product.prodname_dotcom %} UI:
82+
83+
![Job output in the Actions UI](/assets/images/help/repository/actions-runner-output.png)
84+
85+
{% data reusables.actions.runner-app-open-source %}
5186

5287
## Supported runners and hardware resources
5388

@@ -98,6 +133,24 @@ If there is a tool that you'd like to request, please open an issue at [actions/
98133

99134
You can install additional software on {% data variables.product.prodname_dotcom %}-hosted runners. For more information, see "[Customizing GitHub-hosted runners](/actions/using-github-hosted-runners/customizing-github-hosted-runners)".
100135

136+
## Cloud hosts used by {% data variables.product.prodname_dotcom %}-hosted runners
137+
138+
{% data variables.product.prodname_dotcom %} hosts Linux and Windows runners on `Standard_DS2_v2` virtual machines in Microsoft Azure with the {% data variables.product.prodname_actions %} runner application installed. The {% data variables.product.prodname_dotcom %}-hosted runner application is a fork of the Azure Pipelines Agent. Inbound ICMP packets are blocked for all Azure virtual machines, so ping or traceroute commands might not work. For more information about the `Standard_DS2_v2` resources, see "[Dv2 and DSv2-series](https://docs.microsoft.com/azure/virtual-machines/dv2-dsv2-series#dsv2-series)" in the Microsoft Azure documentation.
139+
140+
{% data variables.product.prodname_dotcom %} hosts macOS runners in {% data variables.product.prodname_dotcom %}'s own macOS Cloud.
141+
142+
## Workflow continuity
143+
144+
{% data reusables.actions.runner-workflow-continuity %}
145+
146+
In addition, if the workflow run has been successfully queued, but has not been processed by a {% data variables.product.prodname_dotcom %}-hosted runner within 45 minutes, then the queued workflow run is discarded.
147+
148+
## Administrative privileges
149+
150+
The Linux and macOS virtual machines both run using passwordless `sudo`. When you need to execute commands or install tools that require more privileges than the current user, you can use `sudo` without needing to provide a password. For more information, see the "[Sudo Manual](https://www.sudo.ws/man/1.8.27/sudo.man.html)."
151+
152+
Windows virtual machines are configured to run as administrators with User Account Control (UAC) disabled. For more information, see "[How User Account Control works](https://docs.microsoft.com/windows/security/identity-protection/user-account-control/how-user-account-control-works)" in the Windows documentation.
153+
101154
## IP addresses
102155

103156
{% note %}

0 commit comments

Comments
 (0)