-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Document difference between public/private repo's for organizational runners #732
Comments
@consideRatio Hey! I read your stiuation and wasn't sure what was your goal. So you seem to have correctly set up actions-runner-controller to successfully register organizational runners for Org B. That looks good. Now, in the step 5 in which repository are you submitting a PR? Is that repo in Org B? Then it should trigger workflow run whose jobs will be scheduled onto the Org B's runners. It it doesn't it may be a bug in GitHub, not us, as all we do is to configure and deploy runners as you've specified. If you're submitting a PR against a repo in a Org A and asking why the jobs aren't scheduled onto Org B's runners, I don't understand how it can work. If that's the case, probably you shall clarify a bit more about your goal. |
Ah yes, I'm submitting a PR to a repo in Org B where the runners are observed as registered as running.
Absolutely. Not having a deep understanding of this or actions/runner or related code bases, I find it hard to make a conclusion on where to focus my attention to resolve the issue I have. Is it your belief that if the following conditions are met, then it probably is a bug in GitHub somehow rather than this repo?
|
My next debugging ideas
Btw thank you @mumoshu for your work on this project and responding to this potentially support-like issue. I hope to make it a contribution rather than just become a support errand for you maintainers by focusing on identifying advice to document under a "debugging" topic or similar. |
Yes, I believe so. Thanks for summarizing it nicely! To be extra sure, can you share your |
@consideRatio I saw your comment and although I see nothing suspicious in your setup right now, you could try:
|
# kubectl apply -f actions-runner-controller-runnerdeployment.yaml
#
# reference example: https://github.com/actions-runner-controller/actions-runner-controller#additional-tweaks
#
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
name: jupyterhub-org
namespace: actions-runner-controller
spec:
replicas: 1
template:
spec:
organization: jupyterhub
labels:
- self-hosted I'm using a Private Key created from the GitHub app's config page, downloaded and added to a k8s secret read by the actions-runner-controller pod - so I'm not using a GitHub token. I also doubt the organization configuration of default permissions granted to the github token injected into job's is irrelevant, but it was one of the things that I know could make my configuration stand out from others in some way or another. I'm just guessing at wild things at this point =/ |
@consideRatio What do you see in the In your manifest, why do you explicitly specify the |
Now it sais "starting job...", but it sometimes have said no matching org or repo level runner matched the label "self-hosted". I specified self-hosted explicitly as the error mentioned it, even though i saw they already had such label automatically registered. I dont know why it sometimes say starting up and other times sais no runner with matching label. |
After a few moments, it shows this error. So, I believe this is due to some discrepacy between your expectation and the actual config. |
Anyway, AFAIK, you don't need it. Can you try removing it from RunnerDeployment yaml? |
To be extra sure, you should recheck your chart version. There's no chart of that version. 0.19.0 might be controller version. |
Woops, okay, it is Chart version 0.12.7 - sorry for the confusion.
Absolutely, I've already done it - it was how i started, but I'll trial going onwards by not having it explicitly listed. Thank you for your attention and help to debug this @mumoshu, I have some work to do to investigate this further and will try to summarize findings after that! |
Yikes okay, I've tried all ideas that we discussed to try with no change in the outcome. I've also tried the summerwind/actions-runner images with version 2.277.1, 2.278.0, 2.279.0, 2.280.2, and 2.280.3 without any change in the outcome. It seems some people report something similar from time to time at their discourse forum without a clear resolution. I couldn't identity a sticky issue about this in https://github.com/actions/runner/issues either. Overall, I remain clueless and not sure at all how to proceed. |
@consideRatio Hey! Thanks for reporting. Unfortunately, I have no idea what would be the answer to your issue yet. If I were you, I would try to isolate the cause by using the same as where you create your GitHub App on, and onto where you install the app, like you both create the app on and install it onto either Org A or Org B, not across those. I would also try verifying all other settings are correct, by trying to make it work with a personal access token, not as a GitHub App. Other possibilities- try repository runners rather than organizational runners you have already tried. |
@consideRatio I was rereading your original issue details and caught by this:
Could you share the exact list of permissions you've provided to your app? Are you sure you did also provide |
Do you think these points are of relevance?
|
@consideRatio You aren't using actions-runner-controller's webhook-based autoscale, right? Then point 1 seems ok. For 2, honestly, I haven't tried using client secrets so it may make some difference. Sry for asking a question for a question but would a client secret can be used as an alternative to a personal access token? For 3 and 4, I have not tried changing the defaults while testing actions-runner-controller(sry but developing all the features and testing all the combinations of settings myself isn't sustainable) so I can't surely say how it affects the setup. |
I don't think so, I'm just confused in general. I remember reacting to the fact that I could not delete a client secret after creating one without creating a new first. So, its like they required you to have one, but at the same time, we are not using one. Due to that hint from github, I got a bit confused about the situation without any proper understanding about it.
Absolutely understand that. I've bashed my head against this a bit more and tried various permutations. Still stuck with the same issue. I'll raise a question in the GitHub forums to ask how to debug a situation where I have a action that is registered and Idle according to GitHub, while at the same time not having it pick up any jobs etc even though it has matching labels. My current hypothesis is that they are sending out some request back to my runner, but it doesn't receive it due to some networking issue or just ignores logging an error or similar. |
I installed |
@consideRatio Thanks for the update and your patience. I just saw the response you got on the forum. Glad to see you've found the solution. I wish I could have pointed out it myself- I'm feeling very sorry about that 😢 I think I've tested my GitHub App-based deployment by triggering jobs on a private repo. Apparently, that was the difference. Based on this experience, we should at least add some notes about how to use organizational runners on public repositories. Would you agree? The biggest gotcha from my perspective was that you need to configure the |
Haha yes, it can save some workdays of debugging ;D Excellent image!
Oh no worries at all, I'm very thankful for your help considering this with me! 🙇 ❤️ |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
you saved my day indeed |
UPDATE
A organizational runner won't take on a job to run on a public repo, unless its explicitly asked via a quite hard to find checkbox: see #732 (comment).
Action point to close issue: document it.
There is a troubleshooting section to fix common mistakes, but there is no debugging section to help users figure out how to identify what could have gone wrong.
I'd be happy to contribute updating such documentation if someone can help me on my way to debug my situation better, I've been stuck at this for ~6 hours or so now.
My specific situation in need of debugging advice
idle
.self-hosted
, but the job isn't picked up by the org runner ,and my runner is stuck with the following logs as read viakubectl
.Version details
v2.280.2-ubuntu-20.04-b6465c5
thanks toimagePullPolicy: Always
)The text was updated successfully, but these errors were encountered: