Background
Northwestern has an enterprise agreement with GitHub that includes access to a pool of GitHub Actions minutes that is shared across all orgs in the enterprise. This pool has a fixed number of GitHub-hosted Actions minutes per month, and should the pool of minutes be exhausted, individual orgs in the enterprise will be charged for their GitHub-hosted Actions minutes usage beyond what is provided by the shared pool. The billing details for GitHub Actions can be found here: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions
The Northwestern IT CloudOps team maintains an autoscaling group of GitHub Actions Linux runner instances in a shared account that is part of the campus private network address space. These Actions runner instances are appropriate for use when:
- Your Actions workflow must run as part of the campus private network address space (e.g. if the workflow involves communicating with servers in the data center that do not support encryption)
- Your Actions workflow must run on Northwestern-supported compute instances for compliance or security reasons
- Your department does not have the ability to pay GitHub for any potential Actions usage charges if the enterprise minutes are 100% consumed in a given month
Configure your org to use the Northwestern-managed Runner Group
Pre-requisites
Your org must be part of the Northwestern GitHub enterprise account to access these runner instances. If you need a new org or to transfer an existing org, see https://services.northwestern.edu/TDClient/30/Portal/Requests/ServiceDet?ID=55
Org Configuration
In your GitHub org's Settings page, click Actions, then Runner Groups. Click on the Default runner group in the "Shared by the Enterprise" section. In the Repository Access section, choose whether to enable the runner group for all repositories in your org or for only specific repositories.
Workflow Configuration
To allow a specific GitHub Actions workflow to run on the Northwestern-managed GitHub Actions runner group, the workflow must have a runs-on
field with a label of self-hosted
. E.g.:
runs-on: self-hosted
Refer to GitHub's documentation for more details: https://docs.github.com/en/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow
Getting Help
If your workflow does not run correctly on the Northwestern-managed runner group, or you need changes to the software environment, please open a helpdesk ticket and include details of the repository and workflow output.
Your feedback on this article is welcome, and we review comments regularly. However, if you have an issue or question requiring immediate attention or want to discuss your feedback on this article, please get in touch with the Northwestern IT Service Desk at 847-49
1-4357 (1-HELP) or
consultant@northwestern.edu.