Clipboard extension app for macOS. Contribute to Clipy/Clipy development by creating an account on GitHub. There's a lot you can do on GitHub that doesn't require a complex development environment – like sharing feedback on a design discussion, or reviewing a few lines of code. GitHub for Android lets you move work forward wherever you are. Stay in touch with your team, triage issues, and even merge, right from the app. We're making these tasks easy for you to perform, no matter where you.
Start a project
You'll find all the projects you're working on listed in the sidebar. If you're starting a new project, use the repository drop down menu to create a new repository or clone an existing one directly from GitHub.com.
Branch off
Branches are essential to proposing changes and reviewing code on GitHub—and they're always available in the top left corner of the repository view. Just select the current branch to switch branches or create a new one.
Craft the perfect commit
View a diff of your uncommitted changes, and form the perfect commit by selecting the files—or even the specific lines—that make up a change. Enter the summary and description, then commit.
See your history
Visualize your changes and commits in the comparison graph. You can select commits on the graph to navigate through the history of your local branches.
Create a pull request
Once you're happy with your commits, you can open a pull request for review and discussion without leaving GitHub Desktop or touching the command line.
Merge and deploy
Browse commits on local and remote branches to quickly and clearly see what changes still need to be merged. You can also merge your code to the master branch for deployment right from the app.
What's New:
- Improved Upgrade embedded Git LFS to 2.13.2 - #11394
- Fixed Pull requests no longer fail to update until the user switches repositories - #11241
- Fixed Fork behavior changes are now reflected in the app immediately - #11327
- Fixed Checking out a pull request from a fork for the first time now correctly identifies the remote branch to create the branch from - #11267
- Fixed Don't offer to stash changes when clicking on the currently checked out branch in the branch list - #11235
- Fixed Forked repository remotes are no longer removed when there are local branches tracking them - #11266
- Fixed Avoid bright flash for users of the dark theme when launching the app maximized - #5631. Thanks @AndreiMaga!
- Fixed VSCodium is now detected as an editor on Windows - #11252. Thanks @KallePM!
Recent GitHub Desktop news
- Proactively fix security flaws before reaching v1.0
- 60 votesA free Git and Mercurial client for Windows or Mac.
- Freeware
- Windows/macOS
- 13 votesSmartGit is a graphical Git client with support for GitHub, Bitbucket and GitLab. SmartGit runs on Windows, macOS and Linux.
- Freeware
- Windows/macOS
- 14 votesThe legendary Git GUI client for Windows, Mac and Linux.
- Freeware
- Windows/macOS/Linux
Popular apps in For Developers
GitHub offers hosted virtual machines to run workflows. The virtual machine contains an environment of tools, packages, and settings available for GitHub Actions to use.
GitHub Actions is available with GitHub Free, GitHub Pro, GitHub Free for organizations, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server, and GitHub One. GitHub Actions is not available for private repositories owned by accounts using legacy per-repository plans. For more information, see 'GitHub's products.'
In this article
About GitHub-hosted runners
A GitHub-hosted runner is a virtual machine hosted by GitHub with the GitHub Actions runner application installed. GitHub offers runners with Linux, Windows, and macOS operating systems.
When you use a GitHub-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.
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.
The GitHub Actions runner application is open source. You can contribute and file issues in the runner repository.
Cloud hosts for GitHub-hosted runners
GitHub hosts Linux and Windows runners on Standard_DS2_v2 virtual machines in Microsoft Azure with the GitHub Actions runner application installed. The GitHub-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' in the Microsoft Azure documentation.
GitHub hosts macOS runners in GitHub's own macOS Cloud.
Administrative privileges of GitHub-hosted runners
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.'
Windows virtual machines are configured to run as administrators with User Account Control (UAC) disabled. For more information, see 'How User Account Control works' in the Windows documentation.
Supported runners and hardware resources
Each virtual machine has the same hardware resources available.
- 2-core CPU
- 7 GB of RAM memory
- 14 GB of SSD disk space
Virtual environment | YAML workflow label |
---|---|
Windows Server 2019 | windows-latest or windows-2019 |
Ubuntu 20.04 | ubuntu-20.04 |
Ubuntu 18.04 | ubuntu-latest or ubuntu-18.04 |
Ubuntu 16.04 | ubuntu-16.04 |
macOS Big Sur 11.0 | macos-11.0 |
macOS Catalina 10.15 | macos-latest or macos-10.15 |
Note: The Ubuntu 20.04 virtual environment is currently provided as a preview only. The ubuntu-latest
YAML workflow label still uses the Ubuntu 18.04 virtual environment.
Note: The macOS 11.0 virtual environment is currently provided as a private preview only. Any users or organizations that are already using this runner can continue using it, but we're not accepting any further users or organizations at this time. The macos-latest
YAML workflow label still uses the macOS 10.15 virtual environment.
Workflow logs list the runner used to run a job. For more information, see 'Viewing workflow run history.'
Supported software
Github App For Macos High Sierra
The software tools included in GitHub-hosted runners are updated weekly. For the latest list of included tools for each runner operating system, see the links below:
Note: The Ubuntu 20.04 virtual environment is currently provided as a preview only. The ubuntu-latest
YAML workflow label still uses the Ubuntu 18.04 virtual environment.
Note: The macOS 11.0 virtual environment is currently provided as a private preview only. Any users or organizations that are already using this runner can continue using it, but we're not accepting any further users or organizations at this time. The macos-latest
YAML workflow label still uses the macOS 10.15 virtual environment.
GitHub-hosted runners include the operating system's default built-in tools, in addition to the packages listed in the above references. For example, Ubuntu and macOS runners include grep
, find
, and which
, among other default tools.
Workflow logs include a link to the preinstalled tools on the runner. For more information, see 'Viewing workflow run history.'
If there is a tool that you'd like to request, please open an issue at actions/virtual-environments.
IP addresses
Note: If you use an IP address allow list for your GitHub organization or enterprise account, you cannot use GitHub-hosted runners and must instead use self-hosted runners. For more information, see 'About self-hosted runners.'
Windows and Ubuntu runners are hosted in Azure and subsequently have the same IP address ranges as the Azure datacenters. macOS runners are hosted in GitHub's own macOS cloud.
To get a list of IP address ranges that GitHub Actions uses for GitHub-hosted runners, you can use the GitHub REST API . For more information, see the actions
key in the response of the 'Get GitHub meta information' endpoint. You can use this list of IP addresses if you require an allow-list to prevent unauthorized access to your internal resources.
The list of GitHub Actions IP addresses returned by the API is updated once a week.
File systems
GitHub executes actions and shell commands in specific directories on the virtual machine. The file paths on virtual machines are not static. Use the environment variables GitHub provides to construct file paths for the home
, workspace
, and workflow
directories.
Github App For Mac
Directory | Environment variable | Description |
---|---|---|
home | HOME | Contains user-related data. For example, this directory could contain credentials from a login attempt. |
workspace | GITHUB_WORKSPACE | Actions and shell commands execute in this directory. An action can modify the contents of this directory, which subsequent actions can access. |
workflow/event.json | GITHUB_EVENT_PATH | The POST payload of the webhook event that triggered the workflow. GitHub rewrites this each time an action executes to isolate file content between actions. |
For a list of the environment variables GitHub creates for each workflow, see 'Using environment variables.'
Docker container filesystem
Actions that run in Docker containers have static directories under the /github
path. However, we strongly recommend using the default environment variables to construct file paths in Docker containers.
GitHub reserves the /github
path prefix and creates three directories for actions.
/github/home
/github/workspace
- Note: GitHub Actions must be run by the default Docker user (root). Ensure your Dockerfile does not set theUSER
instruction, otherwise you will not be able to accessGITHUB_WORKSPACE
./github/workflow
Further reading
- 'Managing billing for GitHub Actions'
Help us make these docs great!
All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.
Make a contribution- 60 votesA free Git and Mercurial client for Windows or Mac.
- Freeware
- Windows/macOS
- 13 votesSmartGit is a graphical Git client with support for GitHub, Bitbucket and GitLab. SmartGit runs on Windows, macOS and Linux.
- Freeware
- Windows/macOS
- 14 votesThe legendary Git GUI client for Windows, Mac and Linux.
- Freeware
- Windows/macOS/Linux
Popular apps in For Developers
GitHub offers hosted virtual machines to run workflows. The virtual machine contains an environment of tools, packages, and settings available for GitHub Actions to use.
GitHub Actions is available with GitHub Free, GitHub Pro, GitHub Free for organizations, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server, and GitHub One. GitHub Actions is not available for private repositories owned by accounts using legacy per-repository plans. For more information, see 'GitHub's products.'
In this article
About GitHub-hosted runners
A GitHub-hosted runner is a virtual machine hosted by GitHub with the GitHub Actions runner application installed. GitHub offers runners with Linux, Windows, and macOS operating systems.
When you use a GitHub-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.
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.
The GitHub Actions runner application is open source. You can contribute and file issues in the runner repository.
Cloud hosts for GitHub-hosted runners
GitHub hosts Linux and Windows runners on Standard_DS2_v2 virtual machines in Microsoft Azure with the GitHub Actions runner application installed. The GitHub-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' in the Microsoft Azure documentation.
GitHub hosts macOS runners in GitHub's own macOS Cloud.
Administrative privileges of GitHub-hosted runners
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.'
Windows virtual machines are configured to run as administrators with User Account Control (UAC) disabled. For more information, see 'How User Account Control works' in the Windows documentation.
Supported runners and hardware resources
Each virtual machine has the same hardware resources available.
- 2-core CPU
- 7 GB of RAM memory
- 14 GB of SSD disk space
Virtual environment | YAML workflow label |
---|---|
Windows Server 2019 | windows-latest or windows-2019 |
Ubuntu 20.04 | ubuntu-20.04 |
Ubuntu 18.04 | ubuntu-latest or ubuntu-18.04 |
Ubuntu 16.04 | ubuntu-16.04 |
macOS Big Sur 11.0 | macos-11.0 |
macOS Catalina 10.15 | macos-latest or macos-10.15 |
Note: The Ubuntu 20.04 virtual environment is currently provided as a preview only. The ubuntu-latest
YAML workflow label still uses the Ubuntu 18.04 virtual environment.
Note: The macOS 11.0 virtual environment is currently provided as a private preview only. Any users or organizations that are already using this runner can continue using it, but we're not accepting any further users or organizations at this time. The macos-latest
YAML workflow label still uses the macOS 10.15 virtual environment.
Workflow logs list the runner used to run a job. For more information, see 'Viewing workflow run history.'
Supported software
Github App For Macos High Sierra
The software tools included in GitHub-hosted runners are updated weekly. For the latest list of included tools for each runner operating system, see the links below:
Note: The Ubuntu 20.04 virtual environment is currently provided as a preview only. The ubuntu-latest
YAML workflow label still uses the Ubuntu 18.04 virtual environment.
Note: The macOS 11.0 virtual environment is currently provided as a private preview only. Any users or organizations that are already using this runner can continue using it, but we're not accepting any further users or organizations at this time. The macos-latest
YAML workflow label still uses the macOS 10.15 virtual environment.
GitHub-hosted runners include the operating system's default built-in tools, in addition to the packages listed in the above references. For example, Ubuntu and macOS runners include grep
, find
, and which
, among other default tools.
Workflow logs include a link to the preinstalled tools on the runner. For more information, see 'Viewing workflow run history.'
If there is a tool that you'd like to request, please open an issue at actions/virtual-environments.
IP addresses
Note: If you use an IP address allow list for your GitHub organization or enterprise account, you cannot use GitHub-hosted runners and must instead use self-hosted runners. For more information, see 'About self-hosted runners.'
Windows and Ubuntu runners are hosted in Azure and subsequently have the same IP address ranges as the Azure datacenters. macOS runners are hosted in GitHub's own macOS cloud.
To get a list of IP address ranges that GitHub Actions uses for GitHub-hosted runners, you can use the GitHub REST API . For more information, see the actions
key in the response of the 'Get GitHub meta information' endpoint. You can use this list of IP addresses if you require an allow-list to prevent unauthorized access to your internal resources.
The list of GitHub Actions IP addresses returned by the API is updated once a week.
File systems
GitHub executes actions and shell commands in specific directories on the virtual machine. The file paths on virtual machines are not static. Use the environment variables GitHub provides to construct file paths for the home
, workspace
, and workflow
directories.
Github App For Mac
Directory | Environment variable | Description |
---|---|---|
home | HOME | Contains user-related data. For example, this directory could contain credentials from a login attempt. |
workspace | GITHUB_WORKSPACE | Actions and shell commands execute in this directory. An action can modify the contents of this directory, which subsequent actions can access. |
workflow/event.json | GITHUB_EVENT_PATH | The POST payload of the webhook event that triggered the workflow. GitHub rewrites this each time an action executes to isolate file content between actions. |
For a list of the environment variables GitHub creates for each workflow, see 'Using environment variables.'
Docker container filesystem
Actions that run in Docker containers have static directories under the /github
path. However, we strongly recommend using the default environment variables to construct file paths in Docker containers.
GitHub reserves the /github
path prefix and creates three directories for actions.
/github/home
/github/workspace
- Note: GitHub Actions must be run by the default Docker user (root). Ensure your Dockerfile does not set theUSER
instruction, otherwise you will not be able to accessGITHUB_WORKSPACE
./github/workflow
Further reading
- 'Managing billing for GitHub Actions'
Help us make these docs great!
All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.
Make a contributionGithub App For Macos Catalina
Or, learn how to contribute.