Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update GCP GitHub Actions runners to use default runner group #17893

Closed
ScottTodd opened this issue Jul 12, 2024 · 5 comments
Closed

Update GCP GitHub Actions runners to use default runner group #17893

ScottTodd opened this issue Jul 12, 2024 · 5 comments
Assignees
Labels
infrastructure Relating to build systems, CI, or testing

Comments

@ScottTodd
Copy link
Member

We were using "self-hosted runner groups" (https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups) to organize our self-hosted runners. We just switched from the GitHub "enterprise" plan but back to the "free" tier, where runner groups are not available. All but the "Default" runner group has been disabled as a result.

I manually moved self-hosted runners from the "presubmit" and "postsubmit" runner groups back to the "Default" group to keep them working, but the autoscaling / ephemeral GCP runners were added back to the disabled groups.

Looks like the groups are set in https://github.com/iree-org/iree/blob/main/build_tools/github_actions/runner/gcp/create_templates.sh and also used in https://github.com/iree-org/iree/blob/main/build_tools/github_actions/runner/config/register.sh.

We may want to keep the group labels, or we could just get rid of them entirely. Separate groups allow us to prevent presubmit jobs from starving postsubmit jobs and vice-versa, as well as limit which runners touch unsubmitted code.

  • For context, here are example labels from a runner: os-family=Linux self-hosted Linux X64 environment=prod runner-group=postsubmit trust=basic cpu-platform=Intel Cascade Lake machine-type=c2-standard-60 c2s601t zone=us-west1-a runner-version=2.317.0
  • Code integrity (not mixing minimally trusted code with fully trusted code) matters the most on release builds since we instruct users to download nightlies from github releases and promote releases from GitHub releases directly to pypi. The build_package.yml workflow recently switched from using self-hosted runners to using mostly github-hosted runners: https://github.com/iree-org/iree/blob/main/.github/workflows/build_package.yml . Self-hosted runners are still used there for linux-aarch64.
@ScottTodd ScottTodd added the infrastructure Relating to build systems, CI, or testing label Jul 12, 2024
@yuennancy
Copy link
Contributor

What's the ask? To change the group to Default in the scripts and keep the labels?

@ScottTodd
Copy link
Member Author

Yeah, that's probably where I'd start.

As we rework CI jobs we might also want to get rid of the distinction between a presubmit runner and a postsubmit runner.

@ScottTodd
Copy link
Member Author

I guess we could also keep the code unchanged and continue to use the "disabled" groups, assuming GitHub doesn't make them nonfunctional 🤔

@ScottTodd
Copy link
Member Author

Most GCP runners are disabled now (see #18238). The runner groups are nearly empty (just ARM64 runners in there now)

@ScottTodd ScottTodd closed this as not planned Won't fix, can't repro, duplicate, stale Sep 16, 2024
@ScottTodd
Copy link
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infrastructure Relating to build systems, CI, or testing
Projects
None yet
Development

No branches or pull requests

2 participants