 Hello now looks like maybe we have sound now going into OBS at least thank you Keith hit the heads up So Introduction for anybody who might be new my name is Tim and I go by foamy guy on github and discord This is the circuit Python deep dive program this program We are kind of taking a look at some you know more in-depth stuff in circuit Python We're getting our hands dirty with a fair amount of code Either working with library code projects or sometimes inside the core Trying to tackle some of the more complex things So it's not necessarily like begin our focused stuff But we are just working on different parts of circuit Python as things come up If you are brand new though, and you don't know what I'm talking about if you've never heard any of this stuff before You can learn a bit more about it at circuit python org. This is the main website for the project Basically, this is an implementation of Python that runs on tiny computers called microcontrollers There's a bunch of pictures of them on this page here. So Each of these little Boards is kind of like a tiny computer inside of there And we can save our Python code on it as a text file and then it will execute the Python code for us All these different microcontrollers come in like different shapes and sizes. This one's brown with alligator clips This is a raspberry pi pico which has lots of breadboard headers on it This one's got cherry keys and a screen and a knob. This is one of the feather form factor ones with battery charging capabilities So there's lots of these different form factors and shapes and sizes of these things But the thing that brings them all together is the fact that they all support circuit Python All three hundred and thirty three boards on this page can run circuit Python So that is what? Generally speaking what the show is about How's it going in chat over there noodle and Axel Magnus and Paul Carter? Excuse me Paul Cutler and the shippu And let me uncover the YouTube one here. Beata. How's it going? Thank you for the heads up on sound and also hello to S. Campana over on YouTube as well So getting in Well, let me finish off. I guess with the the higher level introduction stuff. So circuit Python Like I was talking about This project is an open source project. So anybody is allowed to contribute to the project It's all all the development how happens out in the open on GitHub I will be diving into GitHub actions specifically here in a little bit If you would like to get involved a couple of things you can do is of course head to circuit Python org There's a contributing link up here, which is a good place to start You can find our projects on github And I would also encourage you if you're interested in getting involved to join the discord, which is Link down below on the screen there a da fru. It, which is also the discord in the live broadcast chat room That's right below me here the chat. That's on the screen So head over there and there's lots of folks who are more than happy to help you Get involved in whatever kind of capacity that you're interested in whether that's like coding or just making projects or just translating Having ideas and asking questions all of those are perfectly valid ways to contribute to this community So head over there if any of that stuff interests you It is an open source project, but it is primarily funded by this company here Adafruit This is their website Adafruit.com. They sell hardware and software They are a company based out of New York in the United States and they are paying the folks Who work on circuit python full-time? There's a few folks who work on the project full-time that are paid by Adafruit There's a couple other folks like myself who are paid part-time to work on circuit python So definitely big thanks to Adafruit And if you want to help support the project one of the ways you can do that is by purchasing hardware from them So head over to Adafruit.com and buy yourself some goodies and toys Things that you can run circuit python on or plug into things that run circuit python Jumping in more specifically what we want to look at today is this Which is on the circuit python bundle So this is the bundle that contains all of the official Adafruit circuit python libraries This is like one repo where all the libraries are added as For this called sub modules, I think it's sub modules. I'm not sure if that's the right name But basically this repo contains like pointers to all the other library repos And it also contains some actions tasks GitHub actions is like a thing where you can create these files inside your project and then whenever certain Conditions whenever certain actions happen on the repo it can respond by running these tasks that are Defined inside these files this one in particular is called images.yaml And again, this is on the circuit python bundle library and this actions purpose is to create library screenshot images I should have pulled up the The link for him here. Let me find a link real fast This screen because it'll be super it'll make a lot more sense What these are if we can look at one we can look at one as long as I get the link Wait, give me. Oh, I guess we'll just yesterday Afternoon And it was asking me about this Link in the circuit python dev channel over on the discord, which is what I'm feverish Rishley scrolling through right now. Okay. Yeah, actually, I'll have to read through some of this because Jeff mentioned some stuff about it as well, I mean, this is all public. Anyway, we could do this here I think that in dev. Yes. Yeah, yesterday there was some discussion about this so This is the link we want so it creates these These screenshots these mock-up screenshots because they're they're not actual screenshots, but they're made to appear like they are But it makes these screenshot images that show Basically the structure of what your circuit pi drive would look like if you were gonna run this particular example this one is the It's an example from the Adafruit IO library. It's called Adafruit IO HTTP Adafruit IO randomizer dot pi And if you were to run this on your circuit python drive at a minimum, you would pretty much have these files Here some of these are just the standard stuff that exists on every circuit pi drive First code pi is where we put the code that's actually gonna run And then the neat thing about this is that it dynamically generates this list of libraries right here So it's it looks at the example that you asked for It figures out which libraries are required by that example And then those are the ones that are included in this lib folder here And of course it also keeps track of which libraries are folders and which libraries are Mpy files so that it can draw the icons correctly So we're not dealing with circuit Python code itself the code that actually generates this is Just standard C Python code that runs on a PC Not circuit Python devices Yeah, definitely guides was the first thing this was made for and then it was it turned out to be general enough It was able to be repurposed for The examples inside the library repos. So this also exists for the learn guides There's a similar kind of thing which will spit out these same screenshots, but for projects that are in the learn guide system Rather than examples that are in the bundle So our problem is that new ones are not getting added to here they're supposed to just get added to this thing automatically and they aren't and Yeah, so this is the task that does it We'll probably dig a little further in there and a little bit, but I think Kind of the first place that we start digging here Or diving I guess as it were is here, which is saying this Kind of ambiguous because it's like green check seems like it was successful you go inside of here Kind of seems like all this stuff was successful mid updates Just some of these are being added Well, a lot of these are being added. So what was the one? What's the one we're looking for HT? Oh, right, right. It's the I think it's like 14 7 or something like that You 16k But this example was added to this repo recently Three days ago. I think this is the one Yeah But it didn't show up in this list It is in this list It's not the new one that a new library example My name extreme shot isn't showing up. I wonder if cat knees around Let's let's read a little bit further down because it looked like Jeff had mentioned some stuff as well You know, what's up folder images? I see the web UI says that the task was canceled But also the case that the latest commit of update images is very recent and matches the log for the last run Wasn't in on this whole discussion. What else are you seeing the led you to be looking at this? You 16 Imple is not running as a library been released. It was released September. Ah Ah What was all about having latest releases have that either? Like again tomorrow. Okay. It looks like Jeff submitted a We may be further along in this than we thought we may not have quite as much digging to do About something else. Okay. That looks like the end of it. It looks like Jeff submitted a ticket about the workflows showing canceled But that is in some place where it's not public HT 16 See this search thing doesn't work very good, but maybe it is working, but it's just also showing that error See, this is weird though annotation one error. It was annotations and then you click into it and it looks green and Says succeeded folder images what is Folder images versus update images two different things Have a name or something? Folder images. Okay progress true Perhaps it was cancelled because someone manually. No, it's been getting canceled for Well, that's this is part of what I'm unclear about is if it is getting canceled, I guess because it It shows a bunch of different things, but it's if it is getting canceled it's been getting canceled every day for a long time and Some days it's not being because somebody manually rerun it because there's definitely days where it's not being manually rerun see it's so There's so many different Statuses like we have green check green check but status cancelled triggered via schedule so adabot updated the library Inside the bundle, which is what triggered this to run On schedule some parts of it think that it succeeded, but then some parts of it think that it canceled Uh, and then if you do like this, um They're canceled like every day Once a day for a while. I don't even know I clicked through a few pages of these yesterday months ago once different Failed instead of cancelled Vlogs to failed count as canceled Not like trying to still run this or anything and we failed before that too though. I guess We're canceled. We canceled before that Or did these never These never get green checks here Perhaps it's canceled. Uh, the error sounds like something else. Yeah, I agree. It sounds like there's one It sounds like there's another one that's like stuck or something That's like trying to run but can't but it's never gonna finish And that is blocking the other ones. That's kind of my Instinct Maybe somehow it's being run twice and the second request cancels the first. That's an interesting idea. Yeah, we could We could check into that Well, and it does on schedule only So there are greens. We found greens pitch 13 10 months ago. We had one fail one success and then we started this Made it update. So it is weird though that This is just a commit triggered via schedule Why is there a commit associated with it if it was triggered via schedule? The lab has the option to cancel pipelines if the newer one has generated something like that but wouldn't show Wouldn't show a historical list of actions It could mean the entire action was cancelled because the job or something was failed Yeah, I mean, this is the weirdest part is like it's Showing cancelled for annotations whatever this means and it's showing cancelled here, but It like all this is green right if you go inside here, it's well, we probably can't read these ones anymore If we look in the newest ones though These all have success stuff inside of them, so it's like it runs the whole thing But then for some reason it thinks that it got cancelled so it may not be Broken in the sense that it's not generating new images It may be only broken in the sense that github actions is unsure about And I would say unsure about whether it's exceeded or not honestly because it Everything inside of here seems like success and you click on that one, which was just read Update images This is the same link got failed success. Yep task failed successfully Has succeeded failure failurely Ask yeah I'm clear Okay, what are annotations? I don't even know Annotations annotate your actions Action annotates from a json file and catastrophic success. I like that one What are annotations in the email reports from my workflow fails? I see mentions of annotations like Annotations, what are annotations? email is confusing About status checks that would be helpful See the comments on the lines of code Annotation an api that allows annotations to be created during a ci run Comments on the lines of code Aren't supported by actions yet, but will be And this is 2019 so they probably are by now. I guess People asking how to do it checks and annotations sites Annotation with reference to source code line. We have anything in here that says annotation, you know Yes, yes, it is Is successful or canceled it's it's in fact somehow successful and canceled Check with annotations like So annotations this is the same box awesome this Check files action This is not Okay, so this is a javascript project Yeah, so this person's writing javascript code that's going to be part of their action It's like their action is going to execute this javascript code for them and it's npm or whatever so it's running Not on a web page, but on a Like at the terminal essentially So do we have we have set up python check out or it as far as like actions thing Which I think these are like the javascript. I don't actually know how these work typescript, okay So one of the ones of these that we were we are using could be Creating those annotations would like that guy seem to be doing from his javascript code Is the yaml script trying to create an annotation? I don't know I don't think so, but I I'm still only vaguely Well, let's just say I'm still a little hazy on what an annotation is Um, so to the best of my knowledge, it's not but if google has anything currency check Okay, we do have concurrency check It's how something like that This right cancel in progress Maybe it is running twice whoever guessed running twice. You might be right using github.job and job name Intrigued group was set to github.job Are we using job? Our group is just hard coded Have no job is It's like literally one word left. Um, could anything else be using that job name? I mean or group group name I'll leave this file here but Our groups Do groups go outside of repos because I have another theory Like I was saying before the learn guide Okay, does anybody know anything about github action groups If groups Can encompass stuff from more than one repo? And I think this is our issue. Maybe It is weird that it succeeds still though, which That's the word somehow gets stuck at the very end after completing and then gets canceled when the schedule Starts the next one. The annotation is created by whatever cancels it. Okay running twice guessing the I'm guessing I'm guessing that an annotation could be an image from a script Both jobs appear to be more or less the same output Which page are you on? So it did the one of the most recent ones did get manually triggered to run a second time But here at least it doesn't seem like it's running twice because it shows 12 hours ago And then the last the one before that is two days ago At least in this list they only show up once Let me open this image. They just attempt to attempt one Katni. Yeah, I think Katni. I think this one was manual. I think that one shows two Because yesterday Katni tried to do rerun jobs How did you see that? I think you found the culprit Possibly, I don't know if they do run at the same time though I guess we can I mean we could look at the other one. Well, okay. Yeah now I think you're probably right that I'm probably right because these ones that are showing cancelled also Are these in here still? Oh These ones get triggered by commits sometimes Whereas our ones in the bundle don't And then this one shows cancelled but doesn't have the annotation And does look successful here How can we test it? We rename the group and try it Yeah, I think so Clicked on job 483 For the screenshot Oh, okay. These things I see But it's weird too like Why because the automated one would have been done presumably by the time that The manual one was attempted yesterday We only get that thing if there's two again, I guess Our priority waiting request How do we test it? How do we make it run in my branch? This one is different in that it has the cron which is the same, but it also has this part and Workflow dispatch and push Are the crons at the same time? They are at the same time This one does also have dispatch Um, I mean, I guess we could just pick a time that's in a few minutes away from now or something to work like that Or can I do it just off this but is it not going to fail because the other one's not running? What does this mean anyway? I don't read the cron things. I always use this thing cron I don't know what it's called cron converter We want this at 10 a.m every day You see I guess probably priority involves so one gets ditched. But it seems like both get ditched every time Higher priority one has a problem then everything fails Well, it seems like both Think they get canceled Like both technically kind of succeed, but also think they get canceled Weirdly, these ones don't have the annotations. This is in the learn guide side Instead of the bundle these ones show cancel also, but they don't have the annotation Since it's inside here, I guess This one has like no indication Failure except for this status here Okay, let's see if these ones started showing canceled at the same time Because we made it back through this what I don't remember which uh was 10 months ago Page was it on though number 17th It's the first one that shows canceled And these ones well, I guess Can we do on here on? One will be ignored Blog searching is not good Vent Schedule Internet select No, this one succeeded as of even a few days ago Did fail a lot Cancel a lot See if it starts at 10 months Does number 17th Faithful day Run 14 Doesn't need to be running. It just needs to be scheduled and waiting to run Yeah It I think it it probably would have attracted attention sooner if it wasn't doing this weird kind of failed But kind of also created all the images Because really what we wanted to do is create all the images like if it does that then it's Festival in my opinion, but Um, so I mean it has to be this right because the first time this happened is on the 17th And that's the exact same day that this started happening reliably The 16th the day before Well, but this one was succeeding before that too though But can't just be that simple, right? Not like all of these ones that succeeded took less time or anything either because the like Four five minutes that was almost 10 minutes It's got to be related to that though, right? Oh my god, man My guy doesn't have main Mine too old We do about that Okay, there's what we do Go to the main New branch Already on main check out update Second Oh, that's working Can we do minutes here? Minutes so we could do 12 and then it's like at 10 12. Okay So We also need to know UTC time 10 a.m God, I have no idea I don't know which one is daylight savings time and which one is not Going back to 10 5 a.m It runs at 5 a.m. My time which is about 12 hours ago. So that makes sense So if we wanted it to run, let's say like hypothetically at 5 p.m. My time That would be All I mean, it would be 12 hours later than this, right? 22 and Pro 22 is 10 p.m 5 p.m. My time. Okay I haven't up very long time I wonder if cloning Fresh one would be faster Can you go back to the 16th and see the commits for both image files? No, I mean, I don't think so I mean the image files are Seem to be working fine though. Like I don't think we'll see a difference in the images Well, we I don't think we can't see the logs anymore. I don't think we get Any chance to really see those? I mean this says triggered via schedule and it links to a commit but the commit Is from a to buy updating the bundle I don't even really know why it links to this commit it didn't run as far as I understand it It didn't run because of this commit it ran because of schedule the chron time I'm not sure like That's just the newest commit that existed At the time it ran maybe And so we can look at that But it doesn't show us it shows us the commit Of the bundle It shows us a commit of the bundle my theory being it was I guess the newest commit at the time When that actions ran Does seem to line up But it doesn't it doesn't show us the images In order to see the images Have to go to folder images One commit. How would there be only one commit? So you can get to this which is gonna be a very very very long list of images I suspect probably won't actually render correctly But I think we see the same thing if we go to the ones that fail Because they seem to be generating the images. I meant the yams changes Oh, um Doesn't seem like they changed it that day. I get well. Let's see. How could we tell that? Uh Great github context in a different way, but that was four months ago What was that though subscript? It was in build It was in images Text I'm not sure what that does Uh, but that was only four months ago. We can go here though number 15th Changed from python 3 7 to 3 10 changed from v1 to v2 set up python so that's Curious timing certainly Did that change at the same time over in the learn guide repo? I don't know if this is actually gonna update. I'm gonna clone again while this is Going so that if uh, you can like manage to beat it There used to be like a refresh files or something Delete this because I did it wrong Make a new one I'm gonna do it this way Yeah, I don't think this matters that much, but I really wanted to show me like reality instead of not reality I don't know why it's way up here And I'm just you're all right with that one for now. I think so we want to push this FOMI guy main but well to FOMI guy Update FOMI guy main Really, we want to push it to FOMI guy main Want to make main default? I'm gonna move this over here. So I don't I don't know what all these pictures are about my head Um default branch full branch full branch another branch ended consequences Her action There's something that limits which branch the scheduled ones run Like something in here that's like make it only ate a fruit or I don't know. I don't know if this is a true test though, right? Like if I make my own branch And I make this thing run This would mean also the group. Well, we're not running at the same time as the library one the the learn guide one So we have that difference, but we're also in my my forks groups could be tied to the GitHub user I mean truthfully Could we not just get rid of this if the Well, I guess the intention is that if you run it from the dispatch, then you want it to cancel the cron one so it was 22 and then if we did something like five now this should say 522 At 2205 was 1005 utc 505 my time I don't know if this will run though. Wouldn't this if this does run then doesn't that mean that Every person who clones the bundle I eat a make a pull request against it their github account would be running actions Can this be running for everybody that had it? At the same time every day We could just say run workflow here Who thinks it's gonna show up? I'm skeptical But that'd be pretty cool go five my time but There's nothing special about my time off by seconds for a minute or something I don't know if there's like an official github time api or something Schedule time you can schedule it's around a new tc time using cron syntax every five minutes Single workflow can be triggered by multiple schedule events You can access the schedule event that triggered the work through event that's schedule context The sample triggers the workflow to run it 5 30 every monday and thursday but skips Not on monday or wednesday Okay Oh, hey, this is a link to the page we had Notifications for scheduled workflows are sent to the user who last modified the cron syntax Yeah at this point did I get an email or something like it actually triggered I'll see I don't know why this is like a draggy thing Instead of just a scrolling list So this doesn't really say anything about users. I don't know why so I know some of our actions have stuff Inside of the action that will it will limit it to ate a fruit That just shows green success Just had to commit two minutes ago That seemed to work, but it was run manually We get it to actually do the cron But while we look into this I'm also actually curious We go here Go here We just do this does it succeed like mine did? No I mean, I guess one thing we could certainly try is just change it And pr it and then if it gets merged to the bundled then tomorrow At 5 a.m. My time will know if it worked or not. I won't obviously hopefully but Github will know if it worked or not They have a record of it for us so that we can read it Schedule checks out the latest commit of the default branch. So maybe that's what those commits were our defaults Main now mine is Adafruit's has been for a while and I just switched mine We did push ours This one failed the same way priority waiting request Whoa Going Did I do the math from I put 12 or Subject to be off by a few minutes, I guess But succeeded from the schedule there too Okay, I mean, I guess let's try it right. There's no real I think group is just an arbitrary name. Is it concurrency group? Let's check the docs for that But why would they both succeed before? There were some before that date of the 15th or 16th or whatever it was This Doesn't have like actions overall. I think you need probably more higher access account or something Okay, so I guess the way to test is The way to test and be slightly more sure Is also have my branch of learn guide repo Is update them both to the same time But different group names and then see if they both succeed This one is still in master 2 Oh, this was way faster. I don't even know if that thing ever finished It it did finally finish Was it though because we were done way faster the other way The old ones so I don't mess up and do the same Do uh the wrong one hit remote rename Virgin The fruit get remote add Hey guy Ashby push this again We're here for I think there was anything bad, but I really want to risk it so but Wait, it didn't really run until like Like multiple minutes later. I'm afraid to do it in the past though, right? We have to do it in the future. Otherwise it might not actually trigger say 23 this 23 Both of those are pushed to my main with 523 two minutes from now these ones triggered from the commit to and We had a wait like I don't know. It was probably It was at least 10 minutes At well, let's see. It says right here. It says seven minutes ago Which was 514 my time which was 12 minutes after The time that it was actually scheduled for Guess we wait for a bit. This happens This is interesting too, right? Having been Oh, I didn't I didn't reopen the same page That one having been changed on the 15th certainly seems incidental, right? Maybe this like made it take slightly longer. Maybe it wasn't taken as long before for some reason Maybe this one made it take slightly longer which then Dasturbated the problem somehow Which is also why maybe one of them like one of them that we saw it was like kind of patchy The bundle it seemed like was failing pretty consistently every time but the learn guide Was a little bit more patchy where like it had a couple of failures Wrinkled in See if this one changed at the same date. Well jane couple about a month later But using 3.x instead of 10 And it is still using v1 wrong file I wonder when this was added or if it was there from the beginning 17 months Okay, that's from the beginning though This is the commit that Added it So I think learn guide was older than bundle Not by much though 16 months instead of 17 months So they coexisted pretty well for 6 ish 7 ish months our last one not triggered a new one yet One came from a commit One was generate folder images and it failed But it's canceled all because you're trying to run I guess Or can you tell what urge? push Why does on push get triggered twice? All right, so we're Four minutes after What it was scheduled for like about 12 minutes up last Really this one will done It's like one was from the commit and one was from the merge There's a merge makes an extra push though. Is it though? I don't know if this one would be out of the way Can we cancel this right now? I don't want that one to get in the way It is actually going to trigger our schedule one again But this one is definitely running twice. I think we should I think we should probably Only have one of these right we if we do it on every push then we don't need the cron job Oh, I didn't change the name. Did I not change the name? Okay. I did But I forgot to change Because this one doesn't have the push trigger And that push trigger seems to be going twice anyway Which is always making one of the two fail seven minutes after the scheduled time so Last time it was at 12 so we got about five minutes It's gonna be around the same as it was last time I'm gonna take a look at this. No, it makes sense I think it only uses it Well, we'll have to look at it. I think it probably only uses board We try to access the built-in display I think it falls back. Well, let's let's read the rest of the change I guess Yeah nice To play with this one day on stream It's awesome Yeah, probably I'm gonna be looking at this tomorrow So sneak peek You heard it here first This is what we're looking at tomorrow on stream I think circuit path on turtle library specifically this person made updates to make it work on the pc Oh Okay, that's success right that's success that feels like success Two minutes ago. They both say two minutes ago This one took two minutes 22. This one took one minute 12 And two minutes ago was 32 Which was only 11 minutes. We got one minute faster No, nine minutes 23 to 32 is nine minutes Okay, three minutes faster So I think we just pr1 to change it and then we can put our findings on The pr We can link to both of these and show that they both succeeded and that they were scheduled for the same time um So does it matter which one not really right? I think it just has to be different names I guess We already Well, we want to put this back though, right? Yeah That's zero before This is another really nice thing about pie charm if you've never used this thing before this is super awesome You can compare between branches. So right now we're on update foamy guy main Let's say we want to compare that against main. We go here. We go compare with It shows us commits that exist in main, but not foamy guy main There's none here. It shows us commits that exist in foamy guy main, but not regular main You go into these things Those are the exact changes Um, other thing you can do actually though is you can just go get local history file Go diff Go history Go diff somewhere There's a window where you can get some right and left arrows and you can just drag from one to the other Okay, maybe we do it this way right click this compare with That's a file Or with compare with branch Same here is the one I was looking for this one lets you do these things So I just go boop right back to how it used to be But we want to keep this one And that changes the live file too. So there's a bunch of different ways to see different stuff that one was Right click the file you have Under get and then compare with and you can either compare with like a different file or you can compare with a different branch for a different revision And that will give you that side by side with the arrows Yeah, heck yeah All about pie charm Let's Fix this one back Really, I'm all about like use whatever tool you like. I just happened to like pie charm I'm not like against any other tool though Does this mean that every person's fork of either of these two repos is always running these scheduled things Since they ran for me doesn't that mean like they run for everybody at this time? 159 forks I exist I want to see It just gave me a number a minute ago For a way to view Your most up to date. Thank you insights network This is running for everybody We are generating a lot of images Okay, we can mention that in the pr as well. We should probably add some limiting We probably should Despite of the fact that it would have made this a lot more difficult to troubleshoot. We should probably oh, hey, there's forks here, too But that's this page which doesn't tell you how new they are. Yeah network was the right place Um, we should probably limit it to only ate a fruit I know we do that with some stuff And then if like somebody needed to test something they could just turn that off So we do want to commit these back Actions are running in their own accounts for forks. Yeah We wish I'm not I'm not um I'm not worried about them stepping on the toes of the main one, but I it's just like unneeded, right? It's a bunch of extra Stuff in terms of billing. Yeah, I have no idea how the billing works I would I would assume that we're still I mean does circuit python do the same because like circuit python Has actions that do a lot more stuff or I'll say at least take a lot longer this run actions This happened a few months ago Get up actions being Yeah, this this happened last year sometime also we we had we had this we dealt with this this happened to our repos Somebody was opening prs Yeah, april last year that sounds about right Somebody was opening prs and like opening closing opening closing opening closing over and over again I guess I mean it was a bot right and it was Causing it to trigger the workflow to run over and over And the workflow was linking up with some shady crypto thing Okay, it's trying to mine Yeah, we had this happen on our repos it uh There is new I think probably what it must have been what github did around that time to try to fix it was they added that there's like a There's like an extra check now that's like If this user hasn't committed to this repo before then it doesn't run automatically An approving user like somebody with right access can um has to approve the run to make it actually run Forks can't run Access the secrets forks cannot access forks runs cannot access the secrets in the upstream repo repo actions don't run on forks uh They ran on my fork. Maybe I did something to do that though. I can't rule that out Some kind of actions ran on my fork. So I have circuit python here action Or is I mean, well, yeah, and these are two months ago Not showing me Not showing me the ones from the circuit python uh from the ate a fruit org Showing me. I guess these are my branches. Maybe these are my branches Oh, this one's gonna be a lot trickier probably I don't know. Do you think this will render? Did I make a pr? For this thing right now specifically to change the name of the group thing. I haven't made that pr yet Uh, if you mean did I make a pr? For those actions those actions that we saw in that list did probably get spawned from a pr. Yeah, that's true Because those were definitely my branches And so they were yeah, it must have been that it ran at the time It ran at the time of the pr. I don't think this is gonna render I've seen a full build run on your fork. Okay, dark heros Rose usually doing stuff like on master though. Okay, so these ones just run Kind of likes Just your prs pretty much Or just your commits, but I guess on your commits is fine on your own fork. Just the cron we probably don't need On everybody's fork if there's a way to limit it that way. Oh it did finally. Oh, but it's like Very difficult and you click through reload itself again. Okay, this one But it's only when you do commit so they do run, but it's just only commits and since you're not committing and Not releasing it's not doing those full builds. Yeah, so there's not That's not doing all that stuff for the all the all the other people. Okay It didn't give me that yellow thing Going like old school. I don't usually have to do this usually just wait for that yellow thing at the top Your commit runs on commits to your fork, but not the build or the windows port or the update. Okay I am still confused about the manual because I triggered that Well, I'm confused about two manual ones. Honestly, I'm confused about the one that I triggered Just a few minutes ago Why did that one fail this one? Because there shouldn't have been the scheduled ones I mean unless the scheduled ones like exist before the time comes Those like technically exist as soon as the old one ends the new one just like Is a phantom that it starts existing and therefore it's like Bumping this one, but that'd be weird if one that's like not gonna happen for 12 hours would Bump one that's trying to happen right now, right? That doesn't make any sense It could just be a bug in github, I guess though Uh, so this one and then I'm also confused Essentially for the same reason about the one. What was that 483 that cat near rerun? Is this one shows It was scheduled the first time and then attempted a rerun And like at the time that the rerun was attempted that was just like yesterday evening slash afternoon That was kind of in the same window where it's like 12 hours before The actual cron one is gonna run. So why would these ones have been bumped? I wonder In concurrency concurrency Yeah, they both have that concurrency group name Which I think what that's giving it the ability to do is cancel Really, I think the reason we probably have this is mostly the cancel in progress And then specifically the idea being I guess like if the cron job is running and then somebody triggers a manual one the cron job should cancel Yes vice versa. Maybe I don't know. I mean it's We It's begs the question like what are we saving by canceling if there's one in progress versus the fact that we are currently also Running this in every fork. It seems like Really, we are getting way way way more runs, but but we could fix that too like we can add a limitation to that I think Of course, I don't know if we could say this for certain, right? We didn't try it with the same group name I think I'm gonna go ahead and put the pr in Maybe it's worth testing with the same group name just to verify that it does fail that way It could just be like it works under my forks and not ate a fruits, right? It could be a different issue altogether I can't quite rule that out But the scheduled job is always in progress Friends Here that it would take precedence over a manual one from 12 hours ahead That I mean that almost feels like github Has bugs in there the way it's handled truth Feels like if that is the intended way it's supposed to behave. It's not very intuitive to the user You link to a github time I like put a link in get in a night github discord. I mean That'll work Okay, so I think we do that there and then maybe on issues here We say new issue Should we disable folder Generation for other forks. Yeah, thank you. That's from discord and then copy message link Um, how do I ignore concurrency for manual? Oh, okay. There's a way to do it differently for manual. Nice scheduled workflow Okay, they're doing the concurrency group. They're like generating the name dynamically I wonder if that because we saw some docs earlier that were written like that as well I wonder if that's how we're supposed to be doing that more so than just hard-coded Can we see at least one more? I feel like we saw at least one more with the scheduled workflow It's probably more of a suggestion best practice recommendation for github rather than how it's supposed to be configured Okay Don't get an answer on how to do it. This might help of action workflow on So what's an example? I swear there's an example of somewhere where we do this, right like, um in the actual libraries I thought there was something that was limited this way You only use concurrency in two repos Seriously these two Gotta get going but it's nice being able to catch the stream while it worked. Have a good one all. Yeah Thanks for hanging out Keith. I'll be wrapping up here in just a few minutes. Anyway, I don't know. I could have swore there was I just swear I remembered one of these actions somewhere having like a if Owner name is ate a fruit or something like that. I don't know. I don't know where it would have been I mean, I guess would it be in the core? How the core do that? Could be circuit python.org Oh, I know you Yes This this is what I'm thinking that was an adventure. So I think It's possible this might fix those weird half cancels I think it's probably worth making that limitation change to make it so we only run this on our own branch our own fork I should say Those are kind of two separate things but I think both I think definitely we should do this and I'm I don't know. I'm maybe like 60% sure this will fix it. I'm not I'm not really a hundred percent sure this is gonna fix it It seems like it would because it ran successfully in mine and they both ran at the same time and Feels like that should be a good test to see if it's gonna work, but I Can't shake the feeling that like the inner fruit org has got a bunch of other stuff going on inside of actions at the same time Maybe mine just wouldn't like I never tried pushing it without that name. Maybe mine would have succeeded um Even if I hadn't changed the name, we don't know because we didn't try that bit but We shall see if this gets merged then we can check it the next day Whatever day that happens to be All right. I think that's it for now folks. So thank you for hanging out. Thanks. Uh ask patrick and noodles keith everybody who is in the chat Helping out and offering up ideas dj devin. Thanks for hanging out. Uh, let's see shippu Uh Who I think had I was it I don't remember c grover. Thanks for hanging out. I don't remember who it was that mentioned It might have been to shippu. Yeah, I think so got us down the right path. So thanks for that for sure um Get the same team over on youtube. Okay, so I'll be back uh tomorrow morning at 10 a.m. My time not 10 a.m. UTC, but 10 a.m. My time Uh, which is central u.s. If you want to do the conversion to whatever time zone you're in I will probably look at this turtle Library that I pulled up a little bit ago. I think we'll play with that a bit tomorrow. So if you're interested in display io Or c python PC graphics that are intermixed with circuit python Then tune in tomorrow. And if you don't already follow me on twitch You can do that over on foamy guy underscore twitch if you want a notification when that goes live Or if you don't want to do that, that's cool as well I will usually drop links in the discord when i'm getting ready to start in the morning So if you just watch that live broadcast chat, uh, then i'll put links in there when i'm about to get going Thanks for watching everybody. I hope everyone has a good night and a fun weekend and all of that Uh, if we have I mean, I assume we probably don't have any viewers Too close to the storm area in florida Um, I would guess those people may not be able to watch us right now for the most part But if we have anybody who's having issues related to the giant storms in florida, I hope uh I hope stuff is getting better for you and clearing up and Hope not too much of your stuff is getting damaged and all that so Um, but I think that's it for me tonight. So I will see you all next time. That'll be tomorrow morning for me