Skip to content

[llvm-zorg] First attempt to set up libc++ runner sets. #474

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

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

cmtice
Copy link

@cmtice cmtice commented Jun 17, 2025

This probably needs a lot of work.

@cmtice
Copy link
Author

cmtice commented Jun 17, 2025

There's probably a lot I've done wrong -- I'm considering this a learning exercise...

Updates the way to get the image version out of the other yaml file.
Copy link
Contributor

@boomanaiden154 boomanaiden154 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some initial comments.


node_config {
machine_type = var.linux_machine_type
taint {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably want an additional taint here specifying that this is specifically the libcxx node pool so that other jobs don't schedule here.

We could also rename the taints for the existing node pools to be specific to the main premerge system and then make this one specific to libcxx.

}

node_config {
machine_type = var.linux_machine_type
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably want to change this to a different parameter specific to the libcxx jobs given we want to use a smaller machine shape.

chart = "gha-runner-scale-set"

values = [
"${templatefile("libcxx_runners_values.yaml", { runner_group_name : var.runner_group_name })}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should be able to pull the container from libcxx_image_values.yaml here too and templatize it. That would also mean we only need one runner_values.yaml for all three configurations.

@@ -40,10 +64,55 @@ resource "kubernetes_secret" "linux_github_pat" {
depends_on = [kubernetes_namespace.llvm_premerge_linux_runners]
}

resource "kubernetes_namespace" "llvm_premerge_windows_runners" {
resource "kubernetes_secret" "libcxx_github_pat" {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't need additional tokens. We can reuse the ones we already have.

# exactly have N cores to allocate, but N - epsilon.
#
# We also need to request sufficient memory to not get OOM killed.
requests:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This need to be updated based on the new machine shape.

- Create new var, libcxx_machine_type (currently identical to
  linux_machine_type) and use it where appropriate.
- Remove new kubernetes	secrets	"libcxx_github_pat",
  "libcxx_release_github_pat", and "libcxx_next_github_pat"; replace uses of
  them with "linux_github_pat".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants