Conrad Irwin
๐ค SpeakerAppearances Over Time
Podcast Appearances
Keeping it simple and building it ourselves, I guess the two parts of that. So internally, we have a bunch of branches, one for each kind of version. So right now we're on 149 stable, 150 preview. Any commits that get added to those branches don't do anything until you run a script, which is script trigger release, and you give it a table of preview. That kicks off a build that uploads to GitHub.
Keeping it simple and building it ourselves, I guess the two parts of that. So internally, we have a bunch of branches, one for each kind of version. So right now we're on 149 stable, 150 preview. Any commits that get added to those branches don't do anything until you run a script, which is script trigger release, and you give it a table of preview. That kicks off a build that uploads to GitHub.
Keeping it simple and building it ourselves, I guess the two parts of that. So internally, we have a bunch of branches, one for each kind of version. So right now we're on 149 stable, 150 preview. Any commits that get added to those branches don't do anything until you run a script, which is script trigger release, and you give it a table of preview. That kicks off a build that uploads to GitHub.
And there's a lot involved in making a build of something like this because you have x86, you have ARM64, you have Mac and Linux. And so you end up with four or five different binary downloads that it creates. It uploads them all to GitHub, and then it marks releases preview.
And there's a lot involved in making a build of something like this because you have x86, you have ARM64, you have Mac and Linux. And so you end up with four or five different binary downloads that it creates. It uploads them all to GitHub, and then it marks releases preview.
And there's a lot involved in making a build of something like this because you have x86, you have ARM64, you have Mac and Linux. And so you end up with four or five different binary downloads that it creates. It uploads them all to GitHub, and then it marks releases preview.
And then Joseph, usually, but it could be anyone, goes in, takes all the commit messages, and formats out the release notes. And we have some tooling to kind of help with most of that work. But to your point, if you want to make them readable and nicely formatted, there's no auto, like, oh, yeah, we just pull it in from the PR call of the day. It doesn't work well enough.
And then Joseph, usually, but it could be anyone, goes in, takes all the commit messages, and formats out the release notes. And we have some tooling to kind of help with most of that work. But to your point, if you want to make them readable and nicely formatted, there's no auto, like, oh, yeah, we just pull it in from the PR call of the day. It doesn't work well enough.
And then Joseph, usually, but it could be anyone, goes in, takes all the commit messages, and formats out the release notes. And we have some tooling to kind of help with most of that work. But to your point, if you want to make them readable and nicely formatted, there's no auto, like, oh, yeah, we just pull it in from the PR call of the day. It doesn't work well enough.
And so we want to make sure that it's easy to understand how that is changing. And so we spend time on, spend manual time on that. And then, yeah, then go from there. And then the auto-updater on the client side is just a loop. Sleep for an hour. Is there an update? If there is, download it, copy it into place, and then reboot.
And so we want to make sure that it's easy to understand how that is changing. And so we spend time on, spend manual time on that. And then, yeah, then go from there. And then the auto-updater on the client side is just a loop. Sleep for an hour. Is there an update? If there is, download it, copy it into place, and then reboot.
And so we want to make sure that it's easy to understand how that is changing. And so we spend time on, spend manual time on that. And then, yeah, then go from there. And then the auto-updater on the client side is just a loop. Sleep for an hour. Is there an update? If there is, download it, copy it into place, and then reboot.
No, we use something that's out there. I don't remember which one off the top of my head, but we've, yeah, we use something that's out there. We have fixed some bugs in there because we saw some crashes from it. So, you know, it's kind of fun.
No, we use something that's out there. I don't remember which one off the top of my head, but we've, yeah, we use something that's out there. We have fixed some bugs in there because we saw some crashes from it. So, you know, it's kind of fun.
No, we use something that's out there. I don't remember which one off the top of my head, but we've, yeah, we use something that's out there. We have fixed some bugs in there because we saw some crashes from it. So, you know, it's kind of fun.
Extensions can register tree set of grammars, and that's kind of the main interaction there. And then extensions themselves, they also have the ability to run some code in WebAssembly. Right now, it's pretty limited. So the most common use for an extension today is a language server. And trying to download the correct version of a language server requires a little bit of code.
Extensions can register tree set of grammars, and that's kind of the main interaction there. And then extensions themselves, they also have the ability to run some code in WebAssembly. Right now, it's pretty limited. So the most common use for an extension today is a language server. And trying to download the correct version of a language server requires a little bit of code.
Extensions can register tree set of grammars, and that's kind of the main interaction there. And then extensions themselves, they also have the ability to run some code in WebAssembly. Right now, it's pretty limited. So the most common use for an extension today is a language server. And trying to download the correct version of a language server requires a little bit of code.
And so that code all runs in WebAssembly as well.
And so that code all runs in WebAssembly as well.