Giter Club home page Giter Club logo

live-streams's Introduction

Twitch Status

Gary Ewan Park - Twitch

I stream on Twitch, on topics such as Chocolatey, Cake, and general Windows Automation topics. If you have any ideas for topics that you would like to see covered on one of these streams, then please feel to raise an issue in this repository, and I will do my best to cover them in a future streams.

Past streams

162 - Monday 28th November 2022

Stream 162 - Working on the Cake.BuildSystems.Module - Part 2

Monday 28th November 2022 - Live Stream

On tonights stream, I was joined by Nils via the new Twitch Guest Star functionality, in order to continue working on the Cake.BuildSystems.Module.

Following on from last weeks stream, I noticed a couple things about the log grouping in GitHub Actions, that I wasn't really happy with. Digging into this on stream, we think that we need to go back to the ICakeEngine, in order to provide some more information, so that we can expose/use this information in the Module. For example, whether a task is skipped so that we can show, or not, the grouped information. And also for example whether a task actually has a TaskSetup/TaskTeardown. Without this information, we end up with empty log grouping in the GitHub Actions interface that we don't want.

With investigation of this area complete, we set about getting the Step Summary work done, so that we can see the Cake Task Summary in the GitHub Actions UI. After a little bit of tweaking, we were able to get this working, and actually took this for a spin in a test GitHub Actions workflow. The only thing that is left in this area, and something that I think we need to go back to Cake with again, is that we always want to see the output summary, even if there is a failure.

161 - Monday 21st November 2022

Stream 161 - Working on Cake.BuildSystems.Module - Part 1

Monday 21st November 2022 - Live Stream

On tonights stream, we started doing some work on the Cake.BuildSystems.Module, which is part of the Cake-Contrib GitHub Organisation:

https://github.com/cake-contrib/Cake.BuildSystems.Module

On the stream, we were able to review a PR into this repository to add support for grouping of log messages in GitHub Actions (which was provided by Nils) and ship version 4.2.0.

Once this was done, we started looking at what is required to update the Module to use the latest version of Cake, since doing this provides the ability to write out to the step summary of a GitHub Actions workflow. We stubbed out an implementation of the ICakeReportPrinter, to take advantage of this, but this will need some more work, which I am hoping to continue next week.

160 - Monday 7th November 2022

Stream 160 - Final part of working on Spectre.Console addition to Cake

Monday 7th November 2022 - Live Stream

On tonights stream we finished up the work on adding in a Spectre.Console alternative report writer for Cake output. This is configurable via a configuration option, and allows for the inclusion of a new summary column in the Cake summary to include the reason that as given task was skipped.

The completion of this work can be found here:

cake-build/cake#4056

And it actually shipped as part of Cake v3.0.0.

We closed out the stream by taking the new Twitch Guest Star feature for a spin. This allows you to easily bring guests onto your stream. This all seemed to be working, however, although we were able to "see" my guest (Stevie), we weren't able to hear him. Going to have to play with this, but looks really useful if we can figure it out!

159 - Monday 31st October 2022

Stream 159 - Second part of working on Spectre.Console addition to Cake

Monday 31st October 2022 - Live Stream

On tonights stream, we continued to work on adding an alternative Report Printer for Cake using Spectre.Console. On the last stream, we worked on adding in a new column to the summary output, and on tonights stream, we extended the usage of Spectre.Console to also output the header section for each task, when executed.

There is still a little bit of work to be done in this implementation, but it feels like we are getting close, perhaps one more week, and we should have everything ready to ship.

158 - Monday 24th October 2022

Stream 158 - Working on Spectre.Console addition to Cake

Monday 24th October 2022 - Live Stream

On tonights stream, we started working on a new addition to Cake where we make use of Spectre.Console to provide an alternative report printer. The idea behind this is that I want to be able to include information about the reason that a given task has been skipped within the summary output from Cake, rather than having to scroll back up through the build output to find out why a task was skipped.

I have never really played with Spectre.Console before, but fortunately a coupe of folks (Patrik, Nils, and Kim) were on the stream who were able to provide guidance for how to get started.

I think this will make a great addition to Cake, and I am looking forward to getting this new feature shipped in next release of Cake.

157 - Monday 10th October 2022

Stream 157 - Working on updating Cake.Transifex

Monday 10th October 2022 - Live Stream

On tonights stream, we were working on merging some PR's into the Cake.Transifex repository. There were a number of PR's from dependabot for updating the various dependencies that it has.

Getting this addin updated is part of the process for getting a new Cake 2.0.0 compatible release of Cake.Recipe ready. Still a fair bit of work to do here, but getting there.

Towards the end of the stream, there was a discussion about the different hosting options for Chocolatey packages, and also upcoming support for both NuGet v2 and v3 feeds.

156 - Monday 29th August 2022

Stream 156 - Working on updating Cake.AppVeyor

Monday 29th August 2022 - Live Stream

On tonights stream, we continued working on Cake.AppVeyor, trying to get to a point where we can ship a new version with support for Cake 2.0.0. During the week, I worked through all the open Dependabot PR's, leaving on the actual work that needed to be completed.

During the stream, we merged a couple of PR's to address some small issues, as well as directly closing off some others issues.

With that done, we started working through a checklist of best practices for Cake Addins. This checklist was provided by Nils and Augusto, and we made sure that as many of those as possible were completed.

In the remaining time, we then went through and applied all of the StyleCop/EditorConfig suggestions to the code base. This will hopefully make the code more maintainable in the long run. We left some StyleCop warnings in place, and these were all to do with missing documentation, and my plan is to address those through the week, so we can ship a new release on the next stream.

155 - Monday 22nd August 2022

Stream 155 - Let's get back into this Open Source Contribution "thing"

Monday 22nd August 2022 - Live Stream

Tonight was all about easing myself back into doing "stuff" in Open Source on my Twitch channel. Started out by reviewing and providing feedback on a PR into the Boxstarter repository. Then we switched over to reviewing/merging a PR into the Chocolatey repository which dealt with adding in a specific git file which excludes certain commits from the blame views in GitHub (this makes it much easier to reason about changes that go into a file, especially when a single change touches a lot of lines within a file).

After that, we then jumped over to the Cake repository a reviewed a couple of PR's from Mattias (devlead). We were able to get one of them merged, but the other needed some changes and we requested those in the PR, and will need to follow up again with another review, as well as taking the code for a spin to ensure that it works as expected.

Then we started looking at using the Cake.Twitter addin repository as a test bed for the recent changes that have been going into Cake.Recipe.

Very happy to be back doing "stuff", and excited about some of the upcoming work that I have in mind.

154 - Monday 8th August 2022

Stream 154 - Let's ship a new version of Cake.Recipe

Monday 8th August 2022 - Live Stream

In the first stream in a LONG time, I took some time to ship a new 3.0.0 release of Cake.Recipe. This has been on my todo list for a while now, but after being inspired by Pascal who has been doing a lot of work recently on Cake.Issues, I thought it was time to get it out the door. Pascal has been using the alpha release of Cake.Recipe and hasn't run into any issues with using it, so that made it "easier" to actually get it shipped. The one thing that was left was testing it out, and Pascal had essentially already done this!

After getting 3.0.0 shipped, I almost immediately notied that the documentation within the nuspec file wasn't right, so we opted to quicky ship another 3.0.1 release to get this corrected.

With this work done, we are now in a position to start thinking about shipping a 4.0.0 release, with support for the 2.x version of Cake. In order for this to happen, there are a couple of addins that will need to be updated, so that will likely be the focus of upcoming streams.

153 - Monday 25th April 2022

Stream 153 - Adding Chocolatey.Cake.Recipe to the Chocolatey CLI Repository

Monday 25th April 2022 - Live Stream

On tonights stream, we worked on a LONG awaited project, well at least long awaited by me! This was the removal of UppercuT from the build process for the chocolatey/choco GitHub repository, replacing it with a Cake equivalent, in the form of the Chocolatey.Cake.Recipe project (why yes, the name of this project is AMAZING!). This project is now being used on a number of internal projects, and now is the time to start looking at bringing it to the Chocolatey build.

For the most part, we got things working, however, we left it with a couple things not quite working. Specifically, the creation of the Chocolatey packages isn't working since the assertion of the version number using GitVersion is resulting in a version number that is too long. And also the generated choco.exe isn't ILMerged with all the parts that it needs to be. This is due to the fact that the other internal projects use a different tool to do the ILMerge'ing, so a change will be needed to Chocolatey.Cake.Recipe to run the ILMerge tool.

So, still work to be done here, but getting very close to having this working!

152 - Monday 14th March 2022

Stream 152 - Working on adding GitLab support into GitReleaseManager

Monday 14th March 2022 - Live Stream

On tonights stream, we started work on adding a new provider for GitReleaseManager to allow it to work with GitLab. This is something that I have looked into before, but never got to a point where it was working/ready. We set out by bringing in the NGitLab library, and trying to get it working for the "simple" thing of finding a milestone on the project. This is centre to how all things work in GitReleaseManager, so it made sense to start here.

We were able to get things working, but it all hinged on knowing ahead of time what the Project ID is, and it isn't clear how to get this.

I will need to reach out to the project maintainers to see what can be done here.

As a follow up, I did reach out to them, and this is what was said...

ubisoft/NGitLab#206

151 - Monday 28th February 2022

Stream 151 - Switching from Steamlabs OBS to OBS as well as integrating with Discord audio

Monday 28th February 2022 - Live Stream

On tonights stream, we spent some time looking how we can change from StreamLabs OBS and go direct to OBS instead. I used to use OBS directly before, but something stopped working (I don't recall what), so I made the switch to Streamlabs OBS. After giving it a lot of thought, and reading up on some blogs, I decided to switch back.

The main idea of tonight was to try to get everything switched over, i.e. intros and outros, source, scenes, etc. but it quickly became apparent that this wasn't going to happen, so instead, we pivoted...

Since there were some folks on the stream that were also on Discord, we played with what was required to grab the audio output from Discord and bring it into the stream as an input. After a fair bit of playing around, and with some help from Stevie, we were able to get things working using the Blackhole 16ch application on my Mac. With this setup in place, we would be in a position to bring community folks from Discord onto our streams that we do as part of Chocolatey.

150 - Monday 7th February 2022

Stream 150 - Let's work on some Cake stuff!

Monday 7th February 2022 - Live Stream

On tonights stream, we spent a bit of time updating the following PR:

cake-build/cake#3768

To address some feedback that came up in the review that was done. Tried to get the integration tests running, but think we are holding something wrong, as they don't seem to be running.

Then we spent some time looking at the Cake Visual Studio extension, to try to address some feedback that came in from the Visual Studio team about the new Visual Studio 2022 version of the extension. We can't find anything wrong with it though, so we might need to reach back out to the team to see what needs to be done.

149 - Monday 31st January 2022

Stream 149 - Let's actually ship a new version of GitReleaseManager!

Monday 31st January 2021 - Live Stream

Following on from last weeks stream where we attempted to ship a new version of GitReleaseManager, on tonight's stream we actually did ship it! Version 0.13.0 is now out, with support for .Net 6. This didn't go quite as smoothly as we would have liked, as the publishing of the Chocolatey package failed, and we needed to manually push out the nupkgs after that.

With that done, we spoke about what we would work on in the upcoming streams, and then provided access to the Cake.Sonar project to a community member who is working on updating the Cake.Sonar project.

148 - Monday 24th January 2022

Stream 148 - First stream of 2022 - Let's ship a new version of GitRelaeseManager

Monday 24th January 2022 - Live Stream

This was my first stream of 2022, after taking some time off over the Christmas period to re-charge. I had intended on streaming the last couple of weeks, but due to the fact that I hadn't got everything running on my new MacBook Pro, I hadn't been able to.

Tonights stream was meant to be about getting a couple of things ready and then ship a new version of GitReleaseManager, with support for .Net 6, as this had been reported by a couple of community members. However...

Turns out that the build didn't work on my local machine due to a problem with the version of the T4 templating system that we are using not working on .Net 6. Updating the reference to that tool made things start working again.

We then moved onto merging in the dependabot updates that have been waiting for a while now. We started that process, but we actually ended up with more PR's than we started with, as starting the process of merging them in, triggered more updates to be found. We will need to continue this work another day...

147 - Monday 29th November 2021

Stream 147 - Let's get the VSCode Extension for Cake ready to ship!

Monday 29th November 2021 - Live Stream

On tonights stream, we picked up where we left off on the last stream (two weeks ago), and continued working on the VSCode Extension for Cake.

We spent some time removing all on the deprecated runners from the extension, as well as updating the docs around what the extension provides. After finishing up the core work, we spent some time testing all the functionality to ensure that everything is working as expected. Happy to say that at the end of the stream, everything was working, and we could start getting things ready to create a Pull Request.

The end result was the creation of this Pull Request:

cake-build/cake-vscode#592

146 - Monday 15th November 2021

Stream 146 - Working on integrating Cake.Bakery into the Cake Extension for Visual Studio Code

Monday 15th November 2021 - Live Stream

On tonights stream, we were working on more closely integrating Cake.Bakery into the Cake Extension for Visual Studio Code.

Cake.Bakery works with Omnisharp to provide intellisense for Cake Scripts within Visual Studio Code, and currently, there is a specific step that needs to be completed to download and set this up when working within Visual Studio Code.

To make a more seamless integration, the suggestion was made that on initialisation of the extension, that it should automatically download Cake.Bakery and set it up with Omnisharp.

On the stream, we worked on ensuring that it would be possible to update the Omnisharp configuration file with the download Cake.Bakery binary location, and once it was clear that this was possible, we worked on downloading the Cake.Bakery nupkg into the extension folder. We then tested this to ensure it was all working, and happy to say that it was.

Then we did a bit of investigation into what other code could be removed from the extension. WIth the release of Cake 2.0.0, the Cake.CoreClr library is now not supported, so it makes sense to remove this from the extension. Still some work to complete here though. Will likely be the topic of the next stream.

145 - Monday 8th November 2021

Stream 145 - Working on, and hopefully shipping, a new version of Cake.Bakery

Monday 8th November 2021 - Live Stream

On tonights stream, we went through the PR that had been created in the bakery repository here:

cake-build/bakery#138

This was an initial stab at updating bakery to use .NET 6.0. This PR was pulled down locally, and the feedback from the PR was addresses, and a local build attempted. This ran into a few problems, but these were worked through, and got to a point where the local build was fully working.

With the build complete, the Cake.Bakery.exe was tested with the latest 2.0.0-rc0001 release of Cake, and proven to work, and to provide intellisense for the new aliases, etc.

A new PR was created:

cake-build/bakery#143

since updating the existing PR wasn't possible, however, there were some issues with the GitHub Actions and AppVeyor build, but we ran out of time to get this completed.

Very happy with the progress that was made on the stream though!

144 - Monday 1st November 2021

Stream 144 - Defining a .devcontainer for building Chocolatey docs locally

Monday 1st November 2021 - Live Stream

On tonights stream, we worked on building the running/previewing of the Chocolatey documentation site on GitHub Codespaces, to also running it locally in a container.

We defined a .devcontainer folder to control how a container is created/run when running the site locally.

This was made possible using the Remote Development extension:

https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack

as well as having Docker Desktop installed:

https://www.docker.com/products/docker-desktop

With both of these things in place, we can run the documentation site both on GitHub Codespaces, as well as locally on a machine, without having to installing the specific requirements for the site to build/preview.

Very happy to say that this "just" worked, with very little effort.

143 - Monday 11th October 2021

Stream 143 - Working on PR's in Chocolatey and Chef

Monday 11th October 2021 - Live Stream

On tonights stream, we were working on some PR's that I have recently opened. This first is a PR into chocolatey/choco:

chocolatey/choco#2390

and the second is one into chef/chef:

chef/chef#12159

These were opened earlier, and I had received some feedback on them, so it was time to action this feedback, and get the PR's updated.

142 - Monday 27th September 2021

Stream 142 - Reviewing PR's

Monday 27th September 2021 - Live Stream

Tonights stream was dedicated to reviewing various PR's across multiple projects, including:

  • chocolatey/choco
  • chocolatey/docs
  • cake-contrib/Cake.AliaSql

Lots of work to be done here, as I seem to have missed some notifications :-(

141 - Monday 20th September 2021

Stream 141 - Let's fix a bug in GitReleaseManager!

Monday 20th September 2021 - Live Stream

On tonights stream, we worked on fixing a bug which has been reported in GitReleaseManager:

GitTools/GitReleaseManager#399

Once we got this fixed, we shipped a new version, 0.12.1:

https://github.com/GitTools/GitReleaseManager/releases/tag/0.12.1

Which has been pushed out to NuGet, and Chocolatey.

140 - Monday 30th August 2021

Stream 140 - Woot! We have a working Cake Extension for Visual Studio 2022

Monday 30th August 2021 - Live Stream

In the last stream, we shipped version 0.4.1 of the Cake Extension for Visual Studio, but we introduced a bug where the creation of new projects using the Project templates wouldn't work.

On tonights stream, we spent some time figuring out exactly what was going on with this, and at the end of the stream we were able to ship version 0.4.2. On testing, happy to say that this is now working as expected!

There is some follow up work required across all the Cake extension, namely Visual Studio, Visual Studio Code, and Rider, to ensure that the project templates that are in place are consistent across all of them. This will likely be the focus of another series of streams.

139 - Monday 23rd August 2021

Stream 139 - More work on the Cake Extension for Visual Studio 2022, we are SO close!

Monday 23rd August 2021 - Live Stream

On tonights stream, we continued working on getting the Cake Extension for Visual Studio working on 2022. We were able to ship a new release of it, and we thought that things were working, but on further testing, we found that there was a slight problem when creating a project from the templates that we ship within the extension.

This problem is due to a coupling that exists between the items with the template and the GUID that the extension itself ships with. Some further investigation will be required here, as we ran out of time on the stream.

138 - Monday 16th August 2021

Stream 138 - Continuing to work on getting Cake Extension working on Visual Studio 2022

Monday 16th August 2021 - Live Stream

On tonights stream, we continued from where we left off in the last stream, working on getting the Cake Extension for Visual Studio working in the new Visual Studio 2022.

While we were able to get some things working, there are other parts that flat out not working. Most of the stream was spent looking into why the Cake menu structure within Visual Studio isn't working as expected.

Still lots of work to be done here, but it does feel like we are getting somewhere :-)

137 - Monday 9th August 2021

Stream 137 - Updating the Cake Extension for Visual Studio to work with 2022 Preview

Monday 9th August 2021 - Live Stream

On tonights stream we were working on updating the Cake Extension for Visual Studio to work in the new Visual Studio 2022.

In order to get this to function, at the minute at least, you need to actually create two projects (so there are actually two extensions), and the recommendation is to use a shared project to contain the code that is shared between the two extension projects.

The end result is that we had "something" working, meaning that things compiled and we were able to run the new extension within the Visual Studio 2022 Preview. Still lots of work to be done here, but made some solid progress in this stream.

136 - Monday 2nd August 2021

Stream 136 - Working on the documentation site for GitVersion

Monday 2nd August 2021 - Live Stream

In a change of pace from the last few streams, I decided to work on something different, something that has been on my todo list for a while now... updating the documentation for GitVersion.

The current documentation site for GitVersion can be found here, however, it used to be hosted on https://readthedocs.org/. When we moved from there, we attempted to add some 301 redirects to the pages to direct folks to the new pages, however, we forgot a few things...

The default branch in the git repository changed from master to main, which meant that the docs build wasn't working anymore. On top of this, the new Wyam site was recently changed, so that pages were moved, however, the RedirectFrom attribute wasn't added to the frontmatter of the pages to make a soft redirect to new location. On top of this, Google has some memory of the previous pages in readthedocs site, so we need to add additional redirect to ensure that these links go to the right place.

We tackled all of these problems during the stream, and I believe we got a lot of things sorted out, but there is still some work to be done here.

The end result of this stream was this pull request.

135 - Monday 26th July 2021

Stream 135 - Working on the GLAA website - allow editing of album information

Monday 26th July 2021 - Live Stream

On tonights stream, we continued working on the GLAA website. This time, we looked at the ability to edit the metadata for an album (i.e. the name, description, date visited, etc). This means that we can now go back and edit an album if we find that something isn't quite right about the information.

In order to allow this to work, we had to ensure that the markers.json file is updated with the potentially new long/lat information for an album. This ended up in a bit of duplicated code, that will need to be refactored, but from a purely functional point of view, the basic functionality of the site is now working, and can be populated with information about visits that have been made.

134 - Monday 19th July 2021

Stream 134 - More working on pet project website - this time JavaScript!

Monday 19th July 2021 - Live Stream

Continuing to work on the GLAA website, this time adding in some JavaScript to the page. This was to allow for the fetching of a markers.json file (populated with the lat/long details for the places that have been visited) to allow these markers to be displayed on a Google Maps widget.

We initially thought that we might be able to embed this information directly into the Razor Page to retrieve from there, but it was actually simpler to fetch this data, enumerate it, and add it to the Google Maps widget.

Now, on load of the main page, the markers.json file is fetched, and after a short animation, the contents of the markers.json file is shown on the map, and when you click on one of them, it takes you through to the album page with the photos.

Real progress being made here!

133 - Monday 12th July 2021

Stream 133 - Doing more work on the new pet project website in Azure

Monday 12th July 2021 - Live Stream

After last weeks shambles of a stream, we were able to figure out a few of the issues during the week that was preventing the site from working when published to Azure App Service. Turns out that the version of node on the build machine was wrong, and as a result the TypeScript transpiling (which is included in the template application by default) doesn't work. However, we don't actually have any TypeScript in the project just now, so removing this portion of the "magic" from the template, made things start to work.

With that part working, we started working on collecting some metadata about the albums that are being created, and storing this information in a data.json file within each album folder. This information can then be hydrated again, when browsing the album. This is a cheap version of a database for each album, but it also serves the purpose, so I don't think we will need anything much more complicated.

132 - Monday 5th July 2021

Stream 132 - Back after short break, and starting a new pet project

Monday 5th July 2021 - Live Stream

Well, this was an utter shambles :-)

Tonight I started working on a new pet project to create a photo album website which would be used to collect family trips that have been taken, including lat/long information that can be plotted on a Google Maps widget. This idea came about, as my eldest child showed an interest in helping getting this up and running.

So to get started, I took a look at this template from Mads Kristensen and the focus of tonights stream was meant to be around hooking up the bare template to an Azure Website, and to get it publishing there when a new commit is made to repository. This is where things started to go wrong...

Wasn't able to get deployments working properly using Azure DevOps, so switched to using GitHub Actions. This got us further, but there seems to be a problem with my Azure Portal, where I don't have my own subscription, but rather am tied to Mattias's one (something that will have to be investigated off stream). Finally got things deploying, but the site itself isn't working, even though it runs locally.

Tried to set up ApplicationInsights to get some clues as to what is going on, but that was a bit of a dead end as well. Think we were holding this wrong though!

In the end, ended the stream a little deflated, as we didn't get anything working as I had hoped, but will try again next week!

131 - Monday 14th June 2021

Stream 131 - Unboxing some GitHub Stars swag!

Monday 14th June 2021 - Live Stream

Well, this didn't quite go how I wanted it to, but hopefully the essence of what I was trying to achieve still comes across. I tried to have two cameras at the same time, one to show me, and the other to show the contents of the swag boxes that came in the post from GitHub. This didn't work, and ended up in all cameras stopping working, so that got abandoned quite quickly.

I was able to get through the contents of the swag box though, which was truly amazing, and I am very grateful to the folks at GitHub for sending this through!

130 - Monday 7th June 2021

Stream 130 - Housekeeping of some Cake Addins

Monday 7th June 2021 - Live Stream

On tonights stream, we switched back to working on doing some housekeeping of the Cake Addins that I "own" including:

  • Cake.Coveralls
  • Cake.Gitter
  • Cake.Twitter

We worked through pulling in some dependabot PR's for these addins, as well as updating the icons and tags used by the addins, so that we could get some new releases pushed out. We were able to accomplish this for the first two addins above, but there was a failure on Cake.Twitter, so will need to go back and manually fix this.

Getting these addins updated is likely to be the focus of the next few streams, as I work through getting all my addins updated to the latest standards.

129 - Monday 31st May 2021

Stream 129 - Shipping GitReleaseManager 0.12.0

Monday 31st May 2021 - Live Stream

On tonights stream, we FINALLY shipped GitReleaseManager 0.12.0! The last release of GitReleaseManager was in March 2020, so it feels really good to finally ship this. There are some exciting new features in this release, including the ability to fully control how the release notes are generated vis Scriban templates. In order to ship this release, there were a few unit tests that we had to fix up, and work through to ensure that they all pass, but once that was done, we were able to push the button to release it!

Full release notes can be found here:

https://github.com/GitTools/GitReleaseManager/releases/tag/0.12.0

Created by GitReleaseManager of course! :-)

128 - Monday 10th May 2021

Stream 128 - Working on GitReleaseManager Version 0.12.0 - Part 5

Monday 10th May 2021 - Live Stream

On tonights stream, we went through and tested all the functionality of GitReleaseManager, to ensure that everything is working as expected. We ran into an issue with how the uploading of assets was working (we put this down to a change in how OctoKit works) and we had to make a minor code change to get this to start working again. We also took steps to document (on paper currently) all the steps that we went through to test GitReleaseManager. It would be great to get these fully automated, but the slight problem there is that we need to test against a "live" repository, and things have to be set up in a particular way to get some tests to work, so this isn't something that is really simple to do. For now, having things documented is a great first step, and if/when possible, these should be moved to automated tests.

Happy to say that GitReleaseManager is now in a shippable state, and it should be possible to release 0.12.0.

127 - Monday 26th April 2021

Stream 127 - Working on GitReleaseManager Version 0.12.0 - Part 4

Monday 26th April 2021 - Live Stream

Tonights stream was dedicated to debugging what is going on with GitReleaseManager. Last week we thought we got to a point where we could ship 0.12.0, however, when I went to release it, I noticed that there were some things that weren't working. For example, when attempting to create the release notes for 0.12.0 I noticed that it wasn't including the Breaking Changes issues, and also that we were missing mapping in AutoMapper and registrations in the IoC container, all of which meant that things weren't working.

Of the 12 commands that GitReleaseManager has, we were able to at least partially exercise 10 of them, so there is still some work to be done before we can ship things. The remaining commands that need to be tested are uploadasset (which we found a problem with right at the end of the stream) and the publish command.

126 - Monday 19th April 2021

Stream 126 - Working on GitReleaseManager Version 0.12.0 - Part 3

Monday 19th April 2021 - Live Stream

On tonights stream, we worked on GitReleaseManager, specifically the last thing that was on the milestone for shipping 0.12.0, which was to include the ability to allow the creation of an empty release. That means that you no longer have to have a milestone with issues assigned to it, or an input file with release notes contained within it, you can simply create an arbitrary draft release. We quickly attempted to merge a final dependabot PR in as well, but there are issues with GitVersion when running the build, so we weren't able to get that pulled in.

125 - Monday 12th April 2021

Stream 125 - Working on GitReleaseManager Version 0.12.0 - Part 2

Monday 12th April 2021 - Live Stream

On tonights stream, we spent some more time working on GitReleaseManager, trying to close off the last remaining issues in the 0.12.0 milestone. Specifically tonight, we worked on collecting together all the errors that can occur when generating a set of release notes, and output them all at the same time, rather than only the first one. This makes it much easier to see all the problems, rather than getting one error, fixing it, and then get another error. This has been a long standing request, so it is great to finally get this added.

124 - Monday 5th April 2021

Stream 124 - Working on GitReleaseManager Version 0.12.0 - Part 1

Monday 5th April 2021 - Live Stream

Tonight we worked on GitReleaseManager and got a new GitHub Actions build up and running (Windows only for the minute). There is an issue running ApprovalTests on Linux and Mac, may need to reach out to Simon Cropp about this.

After that, we switched over to work on an issue to add a new option to the export command to skip the export of pre-release releases when exporting all release notes.

We finished the evening by having a look at the VSCode extension for GitHub Pull Requests and Issues to see what it can do. It looks like a really useful extension

123 - Monday 22nd March 2021

Stream 123 - Working on Cake.Recipe and GitReleaseManager

Monday 22nd March 2021 - Live Stream

On tonights stream, we continued where we left off last week and reviewed some remaining PR's into the Cake.Recipe project, and from there, we decided to switch to working on the GitReleaseManager project. There have been a number of great additions to that project, and it would be great to be able to get to a point where we can ship a new release. There were lots of dependabot PR's sitting waiting for review/merge, so we worked on doing some of those, and discussing what we need to do going forward.

122 - Monday 15th March 2021

Stream 122 - Working on Cake.Recipe and shipping a release

Monday 15th March 2021 - Live Stream

Tonight we picked up where we left off last week, and fixed the remaining issues on the Cake.Recipe 2.2.1 milestone, and we were able to ship a new release.

With that done, we set about starting the upgrade process to get Cake.Recipe running with 1.1.0 of Cake. There was an open PR from AddinDiscoverer that updated most of the dependencies to this end, however, there was a breaking change in Cake which meant that part of the Cake.Recipe script had to be re-worked. This was the part of the script that worked on getting the Cake Arguments that had been passed in. With the switch to using Spectre.Console, this had changed.

There is an open issue on Cake which would provide what is required, but for now, we have to work with reflection to get at the information that we want.

121 - Monday 8th March 2021

Stream 121 - Working on a few things tonight - getting back into the swing of it

Monday 8th March 2021 - Live Stream

After taking a night off last week, we were back to normal streaming tonight. Didn't have anything specifically planned for tonight, so just thought we would see where we end up.

We ended up shipping a new bug fix release of Cake.Bakery to try to fix an issue that was reported.

After that, we reviewed and discussed a PR into GitReleaseManager for removing the file header from all code files. We discussed that we might need to go back and review this change to add some form of file header back in, but for now, this change makes sense.

We also worked on some bug fixes for Cake.Recipe in preparation for a bug fix release to address a number of issues that have popped up while trying to use Cake.Recipe running on GitHub Actions.

Throughout the evening we also discussed topics for upcoming streams, and tried to start prioritising what we will be working on going forward.

120 - Monday 22nd February 2021

Stream 120 - Working on some Cake Contrib Addins/Modules

Monday 22nd February 2021 - Live Stream

Over the course of the last few streams, we have been focusing on the new 2.2.0 release of Cake.Recipe. This consisted of ensuring that Cake.Recipe could be used to do a complete publish of a Cake addin when running on AppVeyor, GitHub Actions and Azure Pipelines. With that work completed, it is time to start putting this new release into action, and on the stream tonight we made use of it to ship bug fix release of Cake.DotNetTool.Module and Cake.Gitter, as well as new release of Cake.Figlet and Cake.AppVeyor (both of which are now compiled against Cake 1.0.0).

Had a lot of fun on tonights stream, and it feels like it was very productive!

119 - Monday 15th February 2021

Stream 119 - Building/publishing a Cake Addin on Azure DevOps

Monday 15th February 2021 - Live Stream

Building on the work from the last couple streams, the focus of tonight was to publish a Cake Addin completely, using Azure Pipelines. The addin in question was Cake.DotNetVersionDetector. We very nearly got to a point where we were able to complete the publishing of the addin. We ran into a small bug in Cake.Recipe in how it names the branches in its Azure Pipelines provider, but that should be a small change, which would allow the publishing of Cake.Recipe, ready for use in other addins. In addition, we found that there was a need for some additional documentation on the Cake.Recipe site, in order to make it clear how to use Cake.Recipe on Azure Pipelines.

118 - Monday 8th February 2021

Stream 118 - Lets ship Cake.StrongNameSigner... again!

Monday 8th February 2021 - Live Stream

The intention of tonights stream was to use the newly released version of GitVersion to publish the 0.2.0 release of Cake.StrongNameSigner on GitHub Actions, and to then move onto publishing another Cake Addin on Azure DevOps. Unfortunately, that didn't quite happen :-(

We found that when we tried to use the latest version of GitVersion to do the publishing of the addin, that it still wasn't working correctly. It was still asserting the wrong version number. The rest of the stream was spent trying to figure out why it wasn't working.

We attempted to add additional logging to try to figure out where the GitVersion execution was getting to, but that also didn't seem to work. The whole stream was a little frustrating.

117 - Monday 1st February 2021

Stream 117 - Investigating issue with GitVersion when running on GitHub Action

Monday 1st February 2021 - Live Stream

On tonights stream we spent some time investigating why GitVersion fails to assert the correct semantic version number when building a tag on GitHub Actions. We were able to replicate this issue running locally on my machine by cloning the repository in the exact same way as GitHub Actions does, and setting the environment variables that GitHub actions uses.

Using this setup, we were able to run GitVersion whilst debugging in Visual Studio, and to figure out that there was a slight issue in how GitVersion was asserting the version number.

After making a small modification to the code base, we were able to get the correct version number asserted, with all the remaining unit tests passing. We created a Pull Request for this change, but we also need to create a unit test for this case, to make sure that there are no regressions.

We didn't have time to create the unit test on the stream, but will attempt to do this during the week, and get the PR updated.

116 - Monday 25th January 2021

Stream 116 - Updating a Cake addin to build/release using GitHub Actions

Monday 25th January 2021 - Live Stream

On tonights stream, we started the process of updating the Cake.StrongNameSigner addin. There isn't anything currently "wrong" with this addin, however it is currently still using Cake.Recipe 1.0.0, and if updated, can taken advantage of things like enabling deterministic builds, etc.

In addition, the thought process is to use this addin as an example of how to fully execute Cake.Recipe on GitHub Actions as the primary CI system, rather than AppVeyor.

We got most things completed, adding issues to track everything that was changed, so that they can be used as a reminder for what needs to be done in other addins, but we didn't quite get to the point of releasing the new version.

Hopefully, this will be completed during this week.

115 - Monday 18th January 2021

Stream 115 - Working on Magic Chunks - Part 2

Monday 18th January 2021 - Live Stream

Following on from the work that we did last week, on tonights stream we continued working on the Magic Chunks library. There was one remaining issue on the 2.1.0 milestone, which was to include XML documentation into the NuGet package.

This sounded like it should be really easy, however, it turned out there was a bit more work than expected. It turned out that there were some additional changes required to make things work on the different .NetStandard versions in the NuGet package, and to make sure that everything was copied to the correct location, ready for packaging.

We worked our way through this though, and in the end, everything seems to be working as expected. Going to be reaching out to Sergey this week, to see what the process for shipping a release is, and going to try to ship 2.1.0.

114 - Monday 11th January 2021

Stream 114 - Working on Magic Chunks

Monday 11th January 2021 - Live Stream

On tonights stream, we started working on a new project for our Monday evenings. I have been a long time user of the Magic Chunks library, which makes it super easy to update JSON, YAML, and XML files, using a consist API. There is also a Cake Addin for this library, which is one of the reasons that I started using it.

Over the years, this library has been a little neglected, so I reached out to the maintainer Sergey to see if he wanted some help to maintain it. He replied to say yes, and as a result, created a new Organisation so that I (as well as Pascal) could be added as collaborators.

We started working on some of the issues which had been assigned to the next milestone, which was mostly around updating some of the project files, getting things ready for shipping the release.

113 - Monday 4th January 2021

Stream 113 - First stream of 2021!

Monday 4th January 2021 - Live Stream

On tonights stream, we worked on a bug which had been raised on Cake.Recipe where when running on GitHub Actions, no messages are sent to Twitter/Gitter when a release happens.

We spent a little bit of time investigating the different environment variables that are populated when running on GitHub Actions, both for a "normal" build, and then a tagged build. We confirmed that these variables are different depending on the type of build is being run, and as a result, Cake.Recipe isn't able to establish the branch name associated with the build.

This is important, since the branch name is required in order to assert whether notifications to Twitter/Gitter are sent.

Once establishing that this was the case, we set about executing git directly to retrieve the branch name. After a few stumbles, we were able to get this to work how we wanted, although there is a requirement that the checkout GitHub Action along with running the unshallow command, to ensure that all branches are pulled into the clone of the repository on the GitHub Actions build runner.

With it confirmed as working, we committed this into the repository, and closed the issue. All in all, a successful stream!

112 - Monday 21st Decemeber 2020

Stream 112 - Working on the Cake Visual Studio Extension - Let's ship this thing!

Monday 21st December 2020 - Live Stream

On tonights stream, we shipped the 0.3.0 Version of the Cake Extension for Visual Studio.

We went through the process manually, and took notes about the items that could be automated, for example, adding GitReleaseManager into the mix for generating, publishing release notes on GitHub.

We also spoke through potential ideas about what to work on in future streams, and Adil volunteered himself to create some custom emotes for the stream :-D

111 - Monday 14th Decemeber 2020

Stream 111 - Working on the Cake Extension for Visual Studio

Monday 14th December 2020 - Live Stream

After a quick recap of last weeks stream and what had happened in between, on tonights stream, we focused on the Visual Studio Extension for Cake. This included testing it out on both Visual Studio 2015 and 2017. After running into some issues with Visual Studio 2015 we decided to drop support for it. I feel that this was the right decision.

We then decided to try extending the current menu structure that is in place for downloading of other Cake bootstrappers. This turned out to be harder than I thought it was going to be, but we were joined on the stream by Matt Lacey (https://twitter.com/mrlacey) who was able to provide join guidance, including the installation of a Visual Studio Extension which helps with the creation of Visual Studio extensions (very meta).

After that didn't work, we spiked out the usage of the .NET Tool version of Cake, and this seems to work, so we should be able to move forward with it's usage, just need to tidy up the code a little bit.

110 - Monday 7th December 2020

Stream 110 - Working on the Cake Visual Studio and Rider Extensions

Monday 7th December 2020 - Live Stream

Tonight was the first stream which used Streamlabs OBS, rather than OBS. Over the last week, I have had a few issues with OBS (it crashes every time I try to switch to a scene), so I setup Streamlabs OBS, and it seems to be working fine. Spent a little bit of time playing with the featured.chat tool, which I have setup. It will highlight any comment (or custom message) from the Twitch Chat in the centre of the stream. Will be great for moderators to let me know about something that I might have missed. Also I have setup alerts for when "something" happens on a stream, i.e. a raid, a cheer, etc. Been a long time coming, but got there in the end!

With the successful release of the Cake VSCode Extension during last week, it was time to switch gears a little bit, so it is time to start looking at the Visual Studio and Rider Extensions for Cake.

Tonights stream mainly focused on the Rider extension, since Nils has been doing some work on that recently to bring it up to a state that it is working for some of the functionality. We walked through the process of getting IntelliJ IDEA setup to a point where I was able to debug the extension, and to see it working in Rider. Nils has done a huge amount of work here, and it was great to see it working.

There was a lot of downloading of "stuff" in this stream, and a lot of waiting around while things got setup and configured, but the end result was that we were able to see the extension running, and being able to trigger a task from our Cake script to actually execute. Really looking forward to seeing what we can do with this extension, and bringing it up to par with where the Visual Studio Code extension is.

109 - Monday 30th November 2020

Stream 109 - Working on the Visual Studio Code Extension for Cake - Part 6

Monday 30th November 2020 - Live Stream

The Birthday Stream!

On tonights stream, which was the first time streaming on my birthday, we were working on the Cake Extension for Visual Studio Code. The aim of tonights stream was to ship the extension, as during the week (thanks in no small part to Nils) all functionality on the 1.0.0 milestone had been completed.

We set about doing some last minute testing, and we noticed one small problem. As part of checking whether a new version of the Cake .Net Tool is available, we made use of the dotnet tool search command. This command is only available when using .Net 5, and when testing on an older version (as used on my stream) this command doesn't exist. The functionality in the Cake Extension itself didn't break though, it just failed to correctly identify that there is a new version available.

On the stream, we decided that this wasn't enough in itself to prevent the release happening, and we went ahead to dry to ship it...

It didn't work :-(

We use the GItReleaseManager tool to manage the GitHub releases, and this tool no longer supports the combination of username/password for accessing GitHub, and instead needs a token in order to work. The Cake.VsCode.Recipe package hasn't yet been updated to use this token, and as a result, the publishing steps failed, so we weren't able to release the extension.

This will be released later this week, once a new version of Cake.VsCode.Recipe has shipped.

108 - Monday 23rd November 2020

Stream 108 - Working on the Visual Studio Code Extension for Cake - Part 5

Monday 23rd November 2020 - Live Stream

Continuing on the development of the Cake Extension for Visual Studio Code, on tonights stream we reviewed a PR from Nils to add some of the remaining required functionality. We merged this into the code base and then did some deeper dives into executing the extension to make sure that it works as expected. There were some issues raised out of this testing, but we are getting much closer to a point where we can ship the extension, ready for the 1.0.0 release of Cake.

107 - Monday 16th November 2020

Stream 107 - Working on the Visual Studio Code Extension for Cake - Part 4

Monday 16th November 2020 - Live Stream

On tonights stream we continued with the development of the Cake extensions for Visual Studio Code. There were a few changes along the way for other projects, since we took some time to review a PR into GitReleaseManager so that Kim could publish a new package for AHR. On top of that, we found a bug in the Cake.VsCode.Recipe which would prevent us from shipping the extension.

106 - Monday 9th November 2020

Stream 106 - Working on the Visual Studio Code Extension for Cake - Part 3

Monday 9th November 2020 - Live Stream

On tonights stream we continued with the development of the Cake extension for Visual Studio Code starting with reviewing a PR from Nils. After that, we spent some time digging into the code base to figure out exactly how the execution of the runTask and debugTask work, so that we can figure out how best to integrate these with the .Net Global Tool version of Cake.

105 - Monday 9th November 2020

Stream 105 - Working on the Visual Studio Code Extension for Cake - Part 2

Monday 2nd November 2020 - Live Stream

The intention of tonights stream had been to continue to develop the Cake extension for Visual Studio Code however, the end result was that we merged from dependabot PR's, and then went round the houses a little bit trying to get the extension to work correctly. There is "something" in my environment that is making it not work as expected, and overall the experience was a little frustrating.

Along the way, we made some changes to the Cake resources repository to allow the downloading of bootstrappers for each Cake runners, however, in deleting the second branch (develop) it had the effect of closing all the open PR's into the repository, which I wasn't expecting. Apologies to anyone who was impacted by this!

104 - Monday 26th October 2020

Stream 104 - Working on the Visual Studio Code Extension for Cake

Monday 26th October 2020 - Live Stream

The butterfly episode!

On tonights stream, we started working on the Cake extension for Visual Studio Code. The idea is to update this extension to make use of the .Net Global Tool version of Cake, and for all functionality to work out of the box with this runner. Ideally, it will be possible to configure the functionality to work with the other runners, but the extension should favour the .Net Global Tool.

Throughout this episode, there was a butterfly flying around me, and causing me to get distracted, so apologies for that!

https://twitter.com/gep13/status/1320850188685238274

103 - Monday 12th October 2020

Stream 103 - Playing with GitHub Codespaces

Monday 12th October 2020 - Live Stream

Tonight, we spent the evening playing with GitHub Codespaces. I have been given access to the private beta of this feature, so I thought I would take it for a spin.

The idea would be that I could utilise Codespaces for the various Cake addins that I work on, to allow running some integration tests, with all the tools needed to do the testing already installed, etc.

However, the end result was that things didn't seem to work really well. Sometimes the Codespace would be created, other times, there was a generic error shown that didn't really help. It could certainly be that I was holding it wrong, but the upshot was that we didn't get quite as much done as I had hoped.

Codespaces has a LOT of potential, and I do think it will be a common workflow that I start using across my OSS development, I just think that there are some teething problems that need to be addressed first.

102 - Monday 5th October 2020

Stream 102 - Investigating issues with running Cake.Recipe on GitHub Actions

Monday 5th October 2020 - Live Stream

On tonights stream, we started investigating an issue (cake-contrib/Cake.Recipe#695) that was reported on the Cake.Recipe (https://github.com/cake-contrib/Cake.Recipe) project.

The upshot of this was that the length of the names for files that are being extracted from the NuGet package are too long. As a result, when the build runs, necessary files can't be found, and therefore can't be run. We spent the evening debugging into this, and eventually figured out what was going on.

Initially we thought that something had changed with the NuGet package and that the application names had changed, but this wasn't the case.

This will be documented as a known issue on the site.

101 - Monday 28th September 2020

Stream 101 - Mixed bag of issues, PR's and CI

Monday 28th September 2020 - Live Stream

Tonights stream was a little bit of a mixed bag of things. We started looking at some issues that were brought up with when using Cake.Recipe, specifically when using GitVersion. We figured out one of the issues, and we made a change into Cake.Recipe to fix it. The second issue we need to follow up with Pascal about.

Then we looked at some PR's that have come into Cake.Recipe and we got these merged in.

Finally, we looked at setting up a Circle CI build for a Chocolatey workshop that Manfred Wallner is giving on Chocolatey OSS. This involved setting up a build which creates a base image using Packer, and then terraform to instantiate multiple versions on the computer which can then be used in the workshop. We got the basics of this working, but we need some environment variables configured which would allow the deployment of the images into Azure.

100 - Monday 21st September 2020

Stream 100 - Showcase of new Chocolatey related tool

Monday 21st September 2020 - Live Stream

On tonights stream, which was stream 100 (quite a milestone) I was joined by Maurice Kevenaar, who was showing us how to install/setup/use his new chocolatey-diff tool:

https://github.com/chocolatey-community/chocolatey-diff

This is a PowerShell module, which makes it possible to quickly identify the differences between two package versions for a Chocolatey Package. This is especially useful for moderators who are reviewing packages in the moderation queue.

We showed how this can be used on both Windows and Mac.

There were some issues with Twitch this evening which is a little unfortunate, but we made the most of it. Maurice and I were able to continue chatting even though the connection to Twitch was failing.

99 - Monday 14th September 2020

Stream 99 - Working on Cake.Recipe and other things

Monday 14th September 2020 - Live Stream

On tonights stream, we worked on fixing the Cake.Twitter addin, where we (and by that I mean I) inadvertently broke the environment variables used to publish the tweets during the build. We fixed this on stream, and verified that things were now working.

After this, we worked on some more elements related to getting ready for the Cake.Recipe v2.0.0 release.

98 - Monday 7th September 2020

Stream 98 - Prepping for 2.0.0 release of Cake.Recipe

Monday 7th September 2020 - Live Stream

On tonights stream, we looked at the steps that need to be completed in order to move a repository that is using Cake.Recipe 1.x onto Cake.Recipe 2.x. We used the Cake.DotNetVersionDetector as the example repository, and we worked on converting it over.

The end result of tonights stream was this PR, and we updated this GitHub issue.

with the steps that are necessary to do the conversion. We also started looking into adding some GitHub actions into the repository, based on the work that Kim has been doing lately. It will be great to start adding in some of these workflows, especially for the triggering of release notes generation, and documentation publishing.

97 - Monday 31st August 2020

Stream 97 - Working on GitReleaseManager

Monday 31st August 2020 - Live Stream

On tonights stream, we focused on trying to bring some consistency on the GitReleaseManager code base in the form of adding/updating the EditorConfig and StyleCop settings for the project. Drawing inspiration from some work that has been done by Patrik Svensson, we become by updating the EditorConfig files for the project, and starting to work through some of the warnings/errors that were being generated.

The culmination of this work went into this PR.

There is still some work to do here, but it is a great start!

96 - Monday 24th August 2020

Stream 96 - Working on GitReleaseManager

Monday 24th August 2020 - Live Stream

On tonights stream, we switched focus to work on GitReleaseManager.

We reviewed a PR which adds in the ability to use Dependency Injection to control how the internals of the code base works. This was a PR that came from a community member, and it was great to finally get this merged in.

The same community member also created an issue raising some other issues about the code base, and during the remainder of the stream, we worked on implementing some of those changes. There is still some more work to be done for the issue that was raised, but we were able to get through a fair chunk of it.

95 - Monday 17th August 2020

Stream 95 - Working in fixing the CI build for BoxStarter

Monday 17th August 2020 - Live Stream

On tonights stream, after a little bit of a false start, we worked on the AppVeyor build for Boxstarter. For a little while now, this has been failing, for no apparent reason. Nothing has changed from a build point of view, the psake script is exactly the same, and the *.sln and *.proj files haven't changed.

Testing locally, it appeared that the same problem was happening as on AppVeyor. That was a good sign in terms of figuring out what was going on.

We started out by trying to address some of the direct build errors with regard to missing WebApplication targets. Getting past that, we looked at the other errors which spoke about missing platform property for MSBuild. This was indeed the case, so we addressed those problems.

The final error was related to NuGet targets, which we couldn't find a solution for. Digging into NuGet, we checked if there had been new releases lately, and turns out there had been, around the time the build started to fail. Checking, the psake build doesn't pin to a specific version of NuGet, so we pinned to an earlier version, and magically, things started working. We didn't spend any time digging into why it fails with the newer version of NuGet and instead, moved on.

All changes were checked in, and pushed up to github.com.

94 - Monday 10th August 2020

Stream 94 - Working on shipping a new release of Cake Extension for Azure DevOps

Monday 10th August 2020 - Live Stream

On tonights stream, we worked on publishing a new 1.0.0 release of the Cake Extension for Azure DevOps. We wanted to do this due to the fact that we know were are going to make a breaking change to the extension, and wanted to ship a 1.0.0 release so that folks can pin to a specific version before the breaking changes.

With that done, we then reviewed the PR from Louis Fischer, which introduces the breaking changes, namely to convert from using PowerShell execution to Node execution. This will mean that the Cake Extension can be used on any build agent operating system, rather than just Windows. In addition, the Extension switches to using the .Net Global Tool for Cake, rather than the .Net Framework runner.

We debated about whether we "should" ship version 2.0.0 of the Extension, but in the end, we decided that we should, and happy to say that everything appears to be working :-)

93 - Monday 3rd August 2020

Stream 93 - Working on getting Cake.Recipe to run on .Net Core

Monday 3rd August 2020 - Live Stream

On tonights stream, we spend some time trying to get Cake.Recipe to run on .Net Core. This is now possible due to the fact that Cake.Issues.Recipe has been updated to use the new version of Cake.Issues.Reporting.Generic, which in turn now makes use of a new version of Gazorator, which has been updated to work with .Net Standard.

Now that all of these pieces have been updated, we updated Cake.Recipe to use the new version of Cake.Issues.Recipe, and we were able to get it running under .Net Core :-) This meant pulling in a new version of Cake itself, namely 0.38.4, which meant there were a few necessary changes to remove some obsoleted usages. We took this for a spin on the GitReleaseManager project, and happily it all works.

There will likely be some fall out from this, and things that we need to further test, but this was a big step forward!

92 - Monday 27th July 2020

Stream 92 - Working on Cake.Issues.Reporting.Generic and Gazorator - Part 2

Monday 27th July 2020 - Live Stream

Spent the first part of tonights stream looking at a couple of tools that I have been meaning to play with. The first being RepoZ and the second being RepositoryCleaner. Both of these can be installed from Chocolatey. The first is a really useful little tool for easily finding and navigating repositories on your machine, and when on Windows, adding the git status information to the Windows Explorer shell - amazing! The repository cleaner tool actually kept crashing when I tried to run it, so I will need to speak to the author about that one.

Later on the stream, we also played with Fusion++, from the same author who created RepoZ, which is another great tool!

Getting down to some coding, we released a new version of Gazorator, which addresses a NRE which was seeing when trying to run tests. We got this shipped, only to find that there is another NRE later in the code base. We got a PR up to address this, but didn't release a new package, as we continued with the testing.

Something still isn't right when running Cake.Issues.Reporting.Generic via .Net Framework. Everything works when running via the .Net Global Tool for Cake, but not via Cake.exe. I thought it might be an assembly loading error, which is why we installed Fusion++ to see if it could help, but no joy.

Going to have to continue digging into this...

91 - Monday 20th July 2020

Stream 91 - Working on Cake.Issues.Reporting.Generic and Gazorator

Monday 20th July 2020 - Live Stream

On tonights stream, we picked up where we left off last week, continuing to look into integrating Gazorator into the Cake.Issues.Reporting.Generic addin. Last week we completed the work of changes required to get things compiling within the addin, but things weren't working, both in terms of the Unit Tests, but also the generated reports.

During the week, Pascal had been able to do some work on the PR that was raised into Cake.Issues.Reporting.Generic, so we continued digging. We found at least one issue with Gazorator, and we worked to get a PR created which would make things work:

bjorkstromm/gazorator#12

Then we figured out why some reports weren't generating properly, and were able to make some small adjustments to the report templates to get things working. It basically boiled down to a missing using statement in the template. Previously, that using statement must have been included by default within RazorEngine, but not in Gazorator. The decision was made to be more explicit within the report template, and to ensure that the using statement is included.

90 - Monday 13th July 2020

Stream 90 - Working on Cake.Issues.Recipe

Monday 13th July 2020 - Live Stream

On tonights stream, I was joined by Pascal Berger to talk about Cake.Issues.Recipe. This is being used within Cake.Recipe, and helps to collate and report of different issues which are found during the build.

The reason that we wanted to work on this was due to the fact that one of the Cake.Issues addins, Cake.Issues.Reportin.Generic, currently doesn't support .Net Core. We are currently working towards .Net Core support for Cake.Recipe, and this addin is one of the last things on the list to get us there.

We spent a little bit of time discussing what Cake.Issues and Cake.Issues.Recipe are, and then discussed what is needed to make it work. Basically, it is the Razor templating support that is the roadblock. Martin Björkström, is the maintainer of Gazorator which is a Razer templating engine, which does support .Net Core. We looked at what was required to pull in this library, rather than what is currently being used.

We weren't able to get this working completely, but we did make some good steps in the right direction.

89 - Monday 6th July 2020

Stream 89 - Working on creating a deterministic build for a Cake-Contrib addin

Monday 6th July 2020 - Live Stream

On tonights stream we looked at what is required to create a fully deterministic build:

https://github.com/clairernovotny/DeterministicBuilds

Ultimately, this is something that I want to support within Cake.Recipe, but I have been running into issues with getting it to work. Specifically, there have been issues with trying to fully enable SourceLink through Coverlet. I reached out to the maintainers of Coverlet, and they mentioned a potential fix, which we were able to confirm as a workaround.

88 - Monday 29th June 2020

Stream 88 - Working on Cake and Cake Contrib Addins - adding SourceLink

Monday 29th June 2020 - Live Stream

Had a lot of fun on this stream, working through what needs to be done to allow debugging into a Cake Addin when debugging a Cake Script in VSCode.

After jumping through a couple of hoops, we were able to get everything working! We enabled SourceLink on the Cake.FileHelpers addin (which had been contributed via an automated PR) and published a new version of Cake.FileHelpers. With that done, we created a some test Cake script to try debugging into the code of a method that this addin exposes. To start with, this wasn't working, but after a suggestion from Martin (@mholo65) we altered the launch.json file we were using to change how OmniSharp was setting up the debugging. With this done, it all "just" worked!

The end result of this stream was a couple of issues being created to improve the experience even more:

Also, there will be some work to go through and suggest this addition to all Cake-Contrib Addins, so that everyone can take advantage of this!

Thanks to everyone who helped getting this to work!

87 - Monday 15th June 2020

Stream 87 - Working on global configuration for Chocolatey GUI

Monday 15th June 2020 - Live Stream

On tonight's stream, we worked on a new feature that is getting added to Chocolatey GUI, the ability to have the concept of global settings, in addition to user settings.

chocolatey/ChocolateyGUI#602

This comes from a problem where when trying to set these settings, which are user by default, using a CM system like Chef, Puppet, etc, that these values are never set properly, and they cause problems.

Having the ability to set them at the machine level means that provisioning these settings will work, and still allow the user to override them, if they choose to.

The work on tonights stream resulted in this PR getting created:

chocolatey/ChocolateyGUI#781

86 - Monday 1st June 2020

Stream 86 - Working on a new release of the Chocolatey Azure DevOps Extension

Monday 1st June 2020 - Live Stream

On tonight's stream, we worked on shipping a new version of the Azure DevOps extension for Chocolatey. Based on some work that was done by David Gardiner, the extension now includes a new task for installing Chocolatey onto a build agent. This work had already been pulled into the repository, so we worked to actually get it published.

There were a couple of hiccups as we worked to make sure we had the right token to publish the extension, and we finally got it published.

Once published, and after doing some testing, we found that a bug had been introduced, so we worked on getting that fixed, and we ended up publishing another, unplanned, extension version. After some more testing, things seem to be working, but we will need to follow up with David, and the Chocolatey team, about some remaining questions. Once those are ironed out, we plan to ship a 1.0.0 version of the extension, so that folks can pin to a specific version of the task.

85 - Monday 25th May 2020

Stream 85 - Preview of Chocolatey Central Management Deployments

Monday 25th May 2020 - Live Stream

On tonights stream I was joined by Chocolatey Founder Rob Reynolds.

To give a preview of the upcoming release of Chocolatey Central Management Deployments.

This is a new feature in the 0.2.0 version of Chocolatey Central Management which allows you to manage both simple and complex scenarios with ease across your environment.

You can find more information about this in the blog post

84 - Monday 18th May 2020

Stream 84 - Reviewing PR's and trying to get rebase GitHub Action working

Monday 18th May 2020 - Live Stream

Apologies for the quality of the stream on Twitch tonight. It would appear that there were some issues with Twitch, and I was seeing a lot of dropped frames in OBS. This fixed itself after a while, but was still a little annoying during the stream.

We started tonight reviewing a PR from Maurice into Chocolatey GUI.

We got this reviewed and merged into the code base. We discussed a related change, which resulted in this issue being created. . Then we went on to look at the rebase GitHub action.

This is something which I have been looking to get working on some of my repositories for a long time, but nothing has ever worked the way that I expected it to. This GitHub Action shows a lot of promise though, and we spent some time trying to get it working on this repository

We got a "simple" PR rebased successfully using it. By simple, we mean a PR from the same base repository. Then we set our targets on getting a PR that comes from a fork working. In the end we were able to get this working, but there were some security concerns around it's usage, so we backed out those changes. Need to come back to look at this again, as this is something that I would love to see working, as it would save so much time and effort!

83 - Monday 4th May 2020

Stream 83 - Working on Chocolatey GUI

Monday 4th May 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

82 - Monday 27th April 2020

Stream 82 - Working on Chocolatey GUI

Monday 27th April 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

81 - Monday 20th April 2020

Stream 81 - Working on Chocolatey GUI

Monday 20th April 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

80 - Monday 13th April 2020

Stream 80 - Working on Chocolatey GUI

Monday 13th April 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

79 - Monday 6th April 2020

Stream 79 - Working on Chocolatey GUI

Monday 6th April 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

78 - Monday 30th March 2020

Stream 78 - Working on Chocolatey GUI

Monday 30th March 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

77 - Monday 23rd March 2020

Stream 77 - Working on Chocolatey GUI

Monday 23rd March 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

76 - Monday 16th March 2020

Stream 76 - Working on lots of things, GitReleaseManager and Aberdeen Developers Website

Monday 16th March 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

75 - Monday 10th February 2020

Stream 75 - Working on the Chocolatey Extension for Visual Studio Code

Monday 10th February 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

74 - Monday 3rd February 2020

Stream 74 - Working on the Chocolatey Extension for Visual Studio Code

Monday 3rd February 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

73 - Monday 27th January 2020

Stream 73 - Working on the Chocolatey Extension for Visual Studio Code

Monday 27th January 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

72 - Friday 24th January 2020

Stream 72 - Working on the Chocolatey Extension for Visual Studio Code

Friday 24th January 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

71 - Monday 20th January 2020

Stream 71 - Working on the Chocolatey Extension for Visual Studio Code

Monday 20th January 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

70 - Friday 17th January 2020

Stream 70 - Working on some updates to Cake

Friday 17th January 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

To add new aliases for GitReleaseManager

69 - Monday 13th January 2020

Stream 69 - Working for GitReleaseManager

Monday 13th January 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

68 - Friday 10th January 2020

Stream 68 - Working for GitReleaseManager

Friday 10th January 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

67 - Monday 6th January 2020

Stream 67 - Working for GitReleaseManager

Monday 6th January 2020 - Live Stream

Apologies, I didn't record any notes for this stream.

66 - Friday 20th December 2019

Stream 66 - Working for GitReleaseManager

Friday 20th December 2019 - Live Stream

Apologies, I didn't record any notes for this stream.

65 - Monday 16th December 2019

Stream 65 - Working for GitReleaseManager

Monday 16th December 2019 - Live Stream

Apologies, I didn't record any notes for this stream.

64 - Monday 9th December 2019

Stream 64 - Working for GitReleaseManager

Monday 9th December 2019 - Live Stream

Apologies, I didn't record any notes for this stream.

63 - Monday 2nd December 2019

Stream 63 - Working for GitReleaseManager

Monday 2nd December 2019 - Live Stream

Apologies, I didn't record any notes for this stream.

62 - Friday 29th November 2019

Stream 62 - Working for GitReleaseManager

Friday 29th November 2019 - Live Stream

Apologies, I didn't record any notes for this stream.

61 - Monday 25th November 2019

Stream 61 - Working on Cake.DotNetTool.Module

Monday 25th November 2019 - Live Stream

Apologies, I didn't record any notes from this stream.

60 - Friday 22nd November 2019

Stream 60 - Working on Cake.DotNetTool.Module

Friday 22nd November 2019 - Live Stream

Apologies, I didn't record any notes from this stream.

59 - Monday 18th November 2019

Stream 59 - Working for GitReleaseManager

Monday 18th November 2019 - Live Stream

Apologies, I didn't record any notes for this stream.

58 - Friday 15th November 2019

Stream 58 - Working for GitReleaseManager

Friday 15th November 2019 - Live Stream

Apologies, I didn't record any notes from this stream.

57 - Monday 11th November 2019

Stream 57 - Working for GitReleaseManager

Monday 11th November 2019 - Live Stream

Apologies, I didn't record any notes for this stream.

56 - Friday 1st November 2019

Stream 56 - Working on Chocolatey GUI

Friday 1st November 2019 - Live Stream

Apologies, I didn't record any notes from this stream.

55 - Monday 28th October 2019

Stream 55 - Working on Chocolatey GUI

Monday 28th October 2019 - Live Stream

Apologies, I didn't record any notes for this stream.

54 - Friday 11th October 2019

Stream 54 - Working on Cake.Recipe

Friday 11th October 2019 - Live Stream

Apologies, I didn't record any notes from this stream.

53 - Monday 7th October 2019

Stream 53 - Working on Cake.Recipe

Monday 7th October 2019 - Live Stream

Apologies, I didn't record any notes for this stream.

52 - Friday 4th October 2019

Stream 52 - Working on Cake.Recipe

Friday 4th October 2019 - Live Stream

Apologies, I didn't record any notes from this stream.

51 - Monday 30th September 2019

Stream 51 - Working on Cake.Recipe

This stream was broken up into two parts due to a technical problem

Monday 30th September 2019 - Live Stream - Part 1

Monday 30th September 2019 - Live Stream - Part 2

Apologies, I didn't record any notes for this stream.

50 - Friday 20th September 2019

Stream 50 - Working on Cake.Recipe

Friday 20th September 2019 - Live Stream

Apologies, I didn't record any notes from this stream.

49 - Monday 16th September 2019

Stream 49 - Working on Cake.Recipe

Monday 16th September 2019 - Live Stream

Apologies, I didn't record any notes for this stream.

48 - Friday 13th September 2019

Stream 48 - Working on Cake.Recipe

Friday 13th September 2019 - Live Stream

Apologies, I didn't record any notes from this stream.

47 - Monday 9th September 2019

Stream 47 - Working on Cake.Recipe

Monday 9th September 2019 - Live Stream

Apologies, I didn't record any notes for this stream.

46 - Monday 2nd September 2019

Stream 46 - Working on addins within the Cake-Contrib Organisation

Monday 2nd September 2019 - Live Stream

Apologies, I didn't record any notes for this stream.

45 - Friday 30th August 2019

Stream 45 - Working on addins within the Cake-Contrib Organisation

Friday 30th August 2019 - Live Stream

Working on Cake.SemVer.

Apologies, I didn't record any notes from this stream.

44 - Monday 26th August 2019

Stream 44 - Working on addins within the Cake-Contrib Organisation

Monday 26th August 2019 - Live Stream

Apologies, I didn't record any notes for this stream.

43 - Friday 23rd August 2019

Stream 43 - Working on addins within the Cake-Contrib Organisation

Friday 23rd August 2019 - Live Stream

Apologies, I didn't record any notes from this stream.

42 - Monday 19th August 2019

Stream 42 - Working on addins within the Cake-Contrib Organisation

Monday 19th August 2019 - Live Stream

Apologies, I didn't record any notes for this stream.

41 - Friday 9th August 2019

Stream 41 - Introducing the Cake.AddinDiscover project

Friday 9th August 2019 - Live Stream

Apologies, I didn't record any notes from this stream.

40 - Monday 5th August 2019

Stream 40 - How to add an application into GitHub Marketplace

Monday 5th August 2019 - Live Stream

On tonights stream, I was joined by Andrew Nesbitt talking through the process of setting up an application within GitHub Marketplace.

39 - Friday 2nd August 2019

Stream 39 - Part 10 - Working on a new project, code name "devgep"

Friday 2nd August 2019 - Live Stream

Apologies, I was lazy and haven't got any notes about what was done within this stream. In general, we were working at bringing in StyleCop into the project.

38 - Monday 29th July 2019

Stream 38 - Part 9 - Working on a new project, code name "devgep"

Monday 28th July 2019 - Live Stream

First stream after a short break.

I have been lazy, and happened captured notes for this stream.

37 - Monday 8th July 2019

Stream 37 - Part 8 - Working on a new project, code name "devgep"

Monday 8th July 2019 - Live Stream

36 - Monday 1st July

Stream 36 - Part 7 - Working on a new project, code name "devgep"

Monday 1st July 2019 - Live Stream

35 - Friday 28th June 2019

Stream 35 - Part 6 - Working on a new project, code name "devgep"

Friday 28th June 2019 - Live Stream

In today's lunch time stream, I was continuing to work on the secret project called devgep. I started out the stream thinking that I was going to be creating an ASP.NET WEB API project which was going to be the access point for the Azure Functions and Azure Table Storage that makes up the backend of the service that we are creating.

However, after a short discussion with Mattias who was on the stream, it was agreed that this wasn't required. Instead, creating another Azure Function, is all that would be required. I set about trying to do this, which meant that I had to install the Azure Workload for Visual Studio since I didn't have that installed, but once that was in place, everything was setup ready to start working with it, and I am happy to say that everything just worked.

It was AMAZING!

https://clips.twitch.tv/BrainyInspiringTurnipUWot

34 - Monday 24th June 2019

Stream 34 - Part 5 - Working on a new project, code name "devgep"

Monday 24th June 2019 - Live Stream

In part 5 of the series on the secret project that is known as "devgep" we worked on getting the Cake Build for the project finished off, and then we started working on removing the sections of the website that we decided that weren't required, i.e. the ability to change a password, use 2FA, etc.

None of these things will be required, since we are using an external authentication provider, in the form of GitHub, so having this ability on our site, isn't required. With those changes made, we were able to re-enable DupFinder and InspectCode, and got them passing as part of the overall build as well.

33 - Friday 21st June 2019

Stream 33 - Part 4 - Working on a new project, code name "devgep"

Friday 21st June 2019 - Live Stream

In part 4 of the devgep secret project series, we reviewed what has been created in the project to date, and then started looking at creating a Cake build script that could be used to build the project.

We started looking at how we could use the Cake.Recipe project to do the build, as that would mean that a lot of the build process would already be completed. This seemed to be going well, with things like DupFinder and InspectCode working, however, it then became clear that Cake.Recipe wasn't going to work.

Kim pointed out that there was an existing issue on the Cake.Recipe Issue list to split out into a new recipe specifically to build websites.

Going forward, I think that this would be a good idea, and we may look into doing that. For now, we will create a build specifically for this project, and look into splitting this into a recipe later.

32 - Monday 17th June 2019

Stream 32 - Part 3 - Working on a new project, code name "devgep"

Monday 17th June 2019 - Live Stream

Tonights stream was Part 3 in the series of working on the secret project that is code-named "devgep". Here we started working on creating a new "Subscriptions" area of the site, and made sure that this section was secure, and only accessible to logged in users of the site. This was required based on directly trying to access the URL, and also by providing a link to the section (which was only visible when logged in). This proved to be a little bit harder than expected, as some additional configuration was required in the Startup.cs class, to ensure that the redirect to the login page directed to the correct page. With using a custom Authentication provider as well as persistence store, the default URL was being used, and we had to figure out how to override it.

With the help of the people in the chat room, we were able to figure this out.

We also looked at how we could add StyleCop into the build process, to ensure that there is some consistency and maintainability of the code base.

31 - Friday 14th June 2019

Stream 31 - Part 2 - Working on a new project, code name "devgep"

Friday 14th June 2019 - Live Stream

In todays lunchtime stream, we revisited what was required in order to get the Azure Local Storage Persistence of our ASP.NET MVC Users working. On Monday nights stream, we had been able to get the creation of the database working, but the actual creation of the users wasn't working due to the pages on the site itself not working. After a conversation with the creator of the provider I was able to figure out what was required by scaffolding out the views/controllers using a tool that is shipped by Microsoft. With this done, the pages started to work, and we were able to correctly register new users on the site, which were authenticated via GitHub.

30 - Monday 10th June 2019

Stream 30 - Part 1 - Working on a new project, code name "devgep"

Monday 10th June 2019 - Live Stream

In this first stream about a new secret project called "devgep", we started looking at how to create a new ASP.NET MVC website using the dotnet cli.

With the site created, we then added in the ability to authenticate to the site using GitHub, which actually turned out to be really simple. With that done, we turned our attention to how we can persist the user information into Azure Table Storage, rather than the default Sqlite Database.

This turned out to be harder than expected, as we spent a long time trying to get the Azure Table Storage Emulator installed and working correctly. Once we finally got it installed, we were able to create the tables that are required to persist the user information, but then the pages on the website itself to register a new user stopped working. More investigation will be required to get this to work.

29 - Friday 7th June 2019

Stream 29 - Checking out the new Yeoman generator for helping to create Cake Addins

Friday 7th June 2019 - Live Stream

In todays lunch time stream, we took a look at the new Yeoman Generator which has been created by Kim Nordmo, specifically to help with the creation of a new project structure when creating an addin for Cake. This Yeoman Generator can be found here.

During the stream, we started from the very beginning, getting Yeoman installed, installing the generator, and then looking at what the generator creates for us. There were a couple of hiccups during the walkthrough, but Kim was on hand during the stream to explain what was going on, and also a new version of the generator was released during the stream what corrected some of the issues that were shown.

Huge thanks to Kim for creating this generator, as I think it will be of great help to the Cake Community!

28 - Monday 3rd June 2019

Stream 28 - riting some Ruby code to add Chocolatey functionality into Chef Client

Monday 3rd June 2019 - Live Stream

In tonights stream, I took at stab at writing some Ruby code, to try to improve the Chocolatey support in the Chef client. This came about about creating a previous Pull Request to Chef to add support for enabling/disabling features while I was at Chef Conf in Seattle.

The first part of the stream was spent trying to get a Chef environment up and running so that things could be tested. There seems to be an issue with the latest Chef Client that was causing problems for my setup. Installing a previous version of the Chef client resulted in things working.

This all culminated in a Pull Request being submitted to the Chef GitHub repository here

27 - Friday 31st May 2019

Stream 27 - Implementing changes suggested during review of Chocolatey Pull Request - Part 2

Friday 31st May 2019 - Live Stream

In todays lunch time stream, we continued working on the feedback that was received from the PR that was created for a new Export Command for Chocolatey.

Following a quick Google, I found this Stack Overflow answer, which suggested a convention based way to allow control over whether or not a property in a class is serialized or not. We put that to the test during this stream, and it worked!

The PR in question is here.

26 - Friday 17th May 2019

Stream 26 - Implementing changes suggested during review of Chocolatey Pull Request - Part 1

Friday 17th May 2019 - Live Stream

Following on from my stream where I paired with Rob Reynolds:

In today's lunch time stream, I started working on the feedback that was received from the Pull Request review. We were able to get to a point where some feedback was addressed, but there was some work left to figure out how to correctly serialize the list of packages in the required format.

The PR in question is here.

25 - Monday 13th May 2019

Stream 25 - Chocolatey Pull Requests and Code Review

Monday 13th May 2019 - Part 1 - Live Stream Monday 13th May 2019 - Part 2 - Live Stream

In tonights stream, I was joined by Chocolatey Founder Rob Reynolds, to discuss the Pull Request and Code Review strategy that is used on the Chocolatey Open Source Project on GitHub. It focused on discussing two PR's that were sent into the project, one of which was merged, and the other was updated with some feedback.

This live stream was really a continuation of the work that was done in a 2-part stream series.

Part 1: https://youtu.be/jFozwL8qizU

Part 2: https://youtu.be/ppc3eZtILVM

Where we built a new Chocolatey Export command for exporting a list of the currently installed packages on a machine into a packages.config file.

During this live stream, there was a hard stop due to a network failure on my side. As a result, the stream is split into two videos.

24 - Friday 10th May 2019

Stream 24 - Updating some Cake Addins to use the latest version of Cake - Part 4

Friday 10th May 2019 - Live Stream

In this lunch time stream (which is going to be the last one on this topic), we looked at updating Cake.Chocolatey.Module to use the latest version of Cake.

In the end a new release, 0.6.0, of Cake.Chocolatey.Module was released:

https://www.nuget.org/packages/Cake.Chocolatey.Module/

During the stream, there was a discussion about Git Flow, and some of the specifics of now it works, as this was discussed offline between myself and Kim.

This stream also saw me use the Co-Authored ability in GitHub on some commits, so that people who helped in the stream can be attributed with their help. More information on this here:

https://help.github.com/en/articles/creating-a-commit-with-multiple-authors

23 - Monday 6th May 2019

Stream 23 - Talking about Chocolatey Extension and Template Packages

Monday 6th May 2019 - Live Stream

The stream this evening focused on the concept of Chocolatey Extension and Template packages. This was a topic that was requested by one of my regular viewers, and in this stream, I walked through what these types of packages are, and how they can be useful to Chocolatey Package Maintainers.

Towards the end of the stream, I attempted to create a template package specifically for creating an extension package, however, we ran into a few issues when trying to do this. I have collected a number of issues that need to be investigated in Chocolatey to see if this package can be completed.

Documentation about creating Extension Packages can be found here and for creating Template Packages here.

22 - Friday 3rd May 2019

Stream 22 - Updating some Cake Addins to use the latest version of Cake - Part 3

Friday 3rd May 2019 - Live Stream

In this lunch time stream, we looked at updating Cake.Coveralls to use the latest released version of Cake, 0.33.0.

This is required because there were potentially breaking changes made in Cake in this release, and as such, it is preferred that Cake Addin Maintainers update their references.

In the end a new release, 0.10.0, of Cake.Coveralls was released:

https://www.nuget.org/packages/Cake.Coveralls/0.10.0

This video really serves as an example of how to upgrade/pin to the newly released version of Cake.Recipe, 1.0.0, as well.

21 - Monday 29th April 2019

Stream 12 - Improving the deployment times for the Cake Build website - Part 2

Monday 29th April 2019 - Live Stream

In tonights stream, I was joined again by Mattias Karlsson and we continued speaking about the current Cake Build Website Infrastructure, and how we are going to be changing it.

We picked up where we left off from the previous stream:

http://www.youtube.com/watch?v=6OtNIpIOfRU

And ended up with a website deployment that has gone from over 30 minutes to complete, to one that takes just over 7 minutes to complete, and that includes deployment to 3 Azure App Services.

All the work was done in the open, and can be seen in these commits:

https://github.com/cake-build/website/commit/13311f124033744010ea66f3ebef488de68ea240 https://github.com/cake-build/website/commit/83862e07ab31fed03d004a0bbdd09d194b0b611a https://github.com/cake-build/website/commit/4b371cf7f91c354f2164b9236df755ecc437f9ed

20 - Friday 26th April 2019

Stream 20 - Updating some Cake Addins to use the latest version of Cake - Part 2

Friday 26th April 2019 - Live Stream

In this lunch time stream, we looked at updating some Cake Addins (Cake.Gitter and Cake.VsCode to use the latest released version of Cake, 0.33.0. This is required because there were potentially breaking changes made in Cake in this release, and as such, it is preferred that Cake Addin Maintainers update their references.

In the end new releases, both 0.11.0, Cake.Gitter and Cake.VsCode were released:

https://www.nuget.org/packages/Cake.Gitter/0.11.0 https://www.nuget.org/packages/Cake.VsCode/0.11.0

19 - Monday 22nd April 2019

Stream 19 - Working on a stable release of Cake.Recipe

Monday 22nd April 2019 - Live Stream

The focus of tonights stream was to try to get Cake.Recipe to a point where a stable release could be published. Cake.Recipe has been in beta for a LONG time now, and going forward, it will require a number of breaking changes. While it has been in beta for a long time, it is actually relatively stable, as such, the decision was taken to get to a 1.0.0 release, and then break things going forward. In this stream, we triaged the issues that were associated with the next stream, and either bumped them to the next release, or completed the work necessary to get it to work.

18 - Friday 19th April 2019

Stream 18 - Updating some Cake Addins to use the latest version of Cake

Friday 19th April 2019 - Live Stream

In this lunch time stream, we looked at updating a Cake Addin (Cake.Ember) to use the latest released version of Cake, 0.33.0. This is required because there were potentially breaking changes made in Cake in this release, and as such, it is preferred that Cake Addin Maintainers update their references.

There were a couple of hiccups along the way:

  • Live Stream VM is still rebooting due to license expiration
  • JetBrains DupFinder was failing to run due to lack of Visual Studio installation
  • Intermittent AppVeyor build failure

But we got there in the end and a new 0.4.0 release of Cake.Ember was released here:

https://www.nuget.org/packages/Cake.Ember/0.4.0

17 - Monday 15th April 2019

Stream 17 - Improving the deployment times for the Cake Build website

Monday 15th April 2019 - Live Stream

In tonights stream, I was joined by Mattias Karlsson and we spoke about the current Cake Build Website Infrastructure, and how we are going to be changing it.

The idea in this stream was to move to a Zip Deployment of the website, which is generated using Wyam, instead of deploying the files directly. The intention was to shave many minutes off the overall deployment time of the website. However, the stream was plagued with a number of issues...

  • Mattias's Skype connection kept dropping out
  • My Live Streaming VM's kept rebooting due to not having a valid product key
  • Azure and Azure DevOps permissions were fighting our ability to carry out some actions

The end result was that we didn't quite get to a point where we were successfully deploying the site via Azure Pipelines, but I think we have all the component parts in place, we just need to work through a few remaining issues.

16 - Friday 12th April 2019

Stream 16 - Hacking on the Cake Visual Studio Code Extension

Friday 12th April 2019 - Live Stream

In this lunch time stream, we looked at an outstanding issue in the Cake Build Visual Studio Code Extension:

cake-build/cake-vscode#93

Which causes the file that is being added to, to be reformatted, stripping all whitespace. This is far from ideal.

Stepping through the code, it was refactored to remove the usage of a file stream which reads and writes all lines in the file being edited, and changed it to simply add/update the current file that is open.

Decisions had to be made regarding removing some functionality, as the way that things were implemented, meant that some functionality would be lost.

15 - Monday 1st April 2019

Stream 15 - Behind the scenes look at the Cake release process

Monday 1st April 2019 - Live Stream

In this stream, we walked through the process of doing a release of the Cake Open Source Project. This resulted in version 0.33.0 of Cake being released to NuGet, Chocolatey and Homebrew. The only thing that was left unfinished was a release blog post detailing what was included in the release.

This was very much a behind the scenes look at how the Cake Team does the release process, showing the tools and techniques that are included. We know that this isn't perfect, and likely some additional things can be automated, but at the very least, all the steps are documented, and can be followed by anyone on the team.

14 - Friday 15th March 2019

Stream 14 - How to help when a Chocolatey package hasn't been updated in a while

Friday 15th March 2019 - Live Stream

In this stream, we looked at what process should be followed when you find a package on Chocolatey.org that is in need to maintenance. This included a discussion about how to reach out to the current maintainer(s) of a package, how to request help on a package, and also what you as an individual can do to try to help fix/update a package. This video ended up with trying to create a PR to fix the Octave package, which currently doesn't work correctly. We were able to successfully walkthrough the process of updating the package, however, when it came to testing the package, we found that there was an issue. This looks like an upstream issue, which is preventing the Chocolatey package from working correctly.

Even though this wasn't successful, we were able to show the entire process that should be followed when attempting to get a package on Chocolatey.org updated.

13 - Monday 11th March 2019

Stream 13 - Creating an automatically updating Chocolatey Package with AU

Monday 11th March 2019 - Live Stream

In this stream, we looked into the process of converting a manually updated Chocolatey Package into one which is automatically automated. This was done using the AU PowerShell Module:

https://github.com/majkinetor/au

I was joined on this stream by Maurice Kevenaar who is a Community Chocolatey Package Maintainer, with 81 packages to his name. He currently uses the AU system, and helped walk through what is required to convert to using AU for this package.

This entailed creating a update.ps1 file, with the specific functions that are required to make AU work. The end result of this stream can be seen here:

https://github.com/gep13/inedo-chocolatey-packages/commit/dfe8716c9e51bbe457125756b789b498d808699c

Some examples repositories that are using AU can be found here:

12 - Friday 8th March 2019

Stream 12 - Creating a new Visual Studio Code Extension - Part 4

Friday 8th March 2019 - Live Stream

This was the second of my lunch time streams, where we were once again focusing on the new VSCode Extension that we are creating.

This time, we set up mergify.io on the repository, as well as merged a PR that was created by dependabot. This PR required some manual intervention, since the new type definitions for node meant that some additional guard's were required in the code base.

With those things done, we started looking at the uploading of the files into Azure Storage. We started looking at how the Azure Storage extension is doing this, and tested out it's functionality using a newly created Azure Storage Account. This all worked, and we should be able to lift the code in quite easily into the extension. There will be some work on my Azure account required, as right now, the storage account I am using is a classic account, which isn't really supported any longer.

11 - Monday 4th March 2019

Stream 11 - Getting started with PoshBot - Create Plugin

Monday 4th March 2019 - Live Stream

In a change from the last few streams, this stream focused on a new topic. In this stream, we delved into running PoshBot:

https://github.com/poshbotio/PoshBot

and how to go about creating a new Plugin for it. We got a new "soon" plugin up and running, and the source code is published here:

https://github.com/gep13/poshbot.soon

We also showed off the new Backend for PoshBot to be able to use the Gitter messaging system. The source code for that can be found here:

https://github.com/gep13/PoshBot.Gitter.Backend

Really, all that is left is to publish these modules to the PowerShell Gallery. This was discussed in the stream, and Brandon Olin, the creator of PoshBot, explained how this can be done.

10 - Friday 1st March 2019

Stream 10 - Creating a new Visual Studio Code Extension - Part 3

Friday 1st March 2019 - Live Stream

This was the first of a new time slot for streaming, which is going to be during my lunch hour every Friday. This is going to be a shorter stream, as it is sandboxed to only a maximum of 1 hour.

In this stream, we successfully broke the build for the new VSCode Extension that we are creating, and tried (to no avail) to figure out what was causing it to fail. We also looked at adding some additional build related files to help with the overall build process, and spoke about what needs to happen in the final part of the extension, i.e. uploading the files to Azure Storage.

Update: Turns out it was some sort of transient error. Builds are now working correctly.

9 - Monday 25th February 2019

Stream 9 - Creating a new Visual Studio Code Extension - Part 2

Monday 25th February 2019 - Live Stream

In this stream, we continued working on a new VSCode Extension for working with the contents of the clipboard, and allowing this to be uploaded to Azure blob storage, ready for pasting into a markdown file, for creating blog posts, documentation, etc.

We started by reviewing a PR from Kim Nordmo which implements the usage of InversifyJS within the extension:

https://github.com/inversify/InversifyJS

This was a great PR, which I have since implemented in two of my other VSCode extensions. With this merged, we then started looking at implementing dependabot on the repository, as well as creating a default set of labels for the repository.

Then, we starting looking into how to grab the clipboard contents on each operating system. This was done by using the same functions that are used in this extension:

https://github.com/mushanshitiancai/vscode-paste-image

Which makes use of PowerShell, ActionScript and bash, to grab the contents of the clipboard, depending on which operating system is being used.

The last commit that was created during this stream can be found here:

https://github.com/gep13/clipimg-vscode/commit/299e3cfe22d0440f731e2af150e4731f076bdb65

8 - Monday 18th February 2019

Stream 8 - Creating a new Visual Studio Code Extension

Monday 18th February 2019 - Live Stream

In this stream, I started building a new VSCode Extension. The function of this extension is to take the contents of the clipboard, and upload it to Azure Storage, and then output a markdown snippet to the current open markdown file. This will dramatically improve the workflow that I use for writing blog posts, documentation, etc.

The stream started with using the yeoman generator to scaffold out a new VSCode extension, and then make use of the Cake.VsCode.Recipe package for Cake to run a build of the extension, and generate the vsix file. This was then connected to AppVeyor, so that every commit to the GitHub repository results in a build being executed.

The commits that were completed in this stream can be found here:

Setting up of the AppVeyor build results in some failures, which were as a result of a bug in the Cake.VsCode.Recipe package. An issue was created here:

cake-contrib/Cake.VsCode.Recipe#2

to cover this.

7 - Monday 11th February 2019

Stream 7 - Implementing a C# Language Server for Chocolatey

Monday 11th February 2019 - Live Stream

In this stream, I was joined by Martin Björkström, and we started looking at implementing a C# Language Server for validating a Chocolatey nuspec file which is opened within Visual Studio Code. This used two nuget packages:

The code that was discussed in this stream can be found in this repository, which Martin created. This shows the complete prototype of the C# Language Server running within Visual Studio Code, and validating the nuspec using the Schema and also a custom rule for templated attributes.

More information about the official Language Server Protocol can be found here.

And the blog post that Martin mentioned in the stream about creating a Language Server can be found here

6 - Monday 4th February 2019

Stream 6 - Getting started using Spectre.Cli

Monday 4th February 2019 - Live Stream

In this stream, we delved into the Spectre.Cli library, and how it can be applied to an existing command line application, in the form of GitReleaseManager.

This was my first stream with a guest on the show. This was Patrik Svensson, the creator of the Spectre.Cli library.

This stream consisted of showing how to go about setting up Spectre.Cli, and showing how to begin creating the command structure that a CLI application will use.

The output from this live-stream can be seen in this commit here:

https://github.com/GitTools/GitReleaseManager/commit/4d1e3ae53bdcb2481fc588ae9348ab72a535757e

There is still some work that needs to be done here to finish off this work, including creation of additional commands as well as the settings for each command, however, the framework for all of this has been laid, so it should be reasonably simple to implement. As mentioned on the stream, a good example of everything that can be done with Spectre.Cli can be seen in this PR:

cake-build/cake#2334

Which is re-writing the Cake command line parsing to use Spectre.Cli.

5 - Monday 21st January 2019

Stream 5 - Creating an Export Command for Chocolatey - Part 2

Monday 21st January 2019 - Live Stream

In this stream, we continued talking about how to extend the Chocolatey CLI with a new command, choco export.

This included a brief discussion about how Unit Testing is done on the Chocolatey code base, and the need to install the NUnit 2 Test Adapter so that the Test Explorer reports success/failure correctly.

There was a little bit of a side line discussion about the correct encoding to apply to a file, which we eventually got figured out.

The output from this live-stream can be seen in this commit here:

https://github.com/gep13/choco/commit/b5fa2f079700dab1f6e347df57ba93b1b64cc44a

There is still some work that needs to be done here to finish off this work, but the additional arguments that have been added make it much more functional.

4 - Monday 14th January 2019

Stream 4 - Creating an Export Command for Chocolatey

Monday 14th January 2019 - Live Stream

In this stream, we talked about how to get started with the Chocolatey Source Code, highlighting a couple of known stumbling blocks that people run into.

  • Missing SolutionVersion.cs file
  • Requirement to install dotnet 3.5
  • Running with a second instance of Chocolatey

From there, we started implementing a new Export command, that can be used to export the current list of packages into a packages.config, which could then be passed into the choco install command on another machine, or when re-building current machine.

The output from this live-stream can be seen in this commit here:

https://github.com/gep13/choco/commit/9ca6f01b6f7619a438833e3c01107ad0e7bd6a3a

There is still some work that needs to be done here to finish off this work, but it is at least functional for this first pass.

3 - Monday 7th January 2019

Stream 3 - Setting up a CI/CD Pipeline for a Cake Addin

Monday 7th January 2019 - Live Stream

In this live stream, we talked about the end to end process of setting up a complete CI/CD pipeline for a new Cake addin. The included setting up of:

  • Appveyor
  • Cake.Recipe
  • xUnit Tests
  • Code Coverage with OpenCover
  • Publishing Code Coverage metrics to coveralls.io
  • Mergify
  • Dependabot
  • GitVersion
  • GitReleaseManager

At the end of the video, the new Cake addin was successfully submitted to NuGet.org as part of the release, and a tweet and Gitter message were automatically sent out to the community to let them know that the addin is available.

2 - Monday 17th December 2018

Stream 2 - A closer look at the Chocolatey Community Repository Moderation Process

Monday 17th December 2018 - Live Stream

In this stream, we talked about how the Moderation Process for the Chocolatey Community Repository works. This included the automated services that occur, including package_verifier, package_validator, package_scanner and package_cacher. Following that, we discussed the manual review process that happens by one of the moderators of the Community Repository. Finally, we addressed the usage of the package_cleanup service for tidying up unmaintained packages, and finally, using the Chocolatey Test Environment when creating/maintaining packages.

1 - Monday 10th December 2018

Stream 1 - A discussion about rate limiting on Chocolatey Community Repository

Monday 10th December 2018 - Live Stream

In this stream, we talked about how to use Sonatypes Nexus Repository to cache packages from the Chocolatey Community Package Repository locally on your machine/environment, so that they don't need to be downloaded each time they are required. This can help if you are running into the newly implemented Rate Limiting feature on chocolatey.org.

live-streams's People

Contributors

gep13 avatar japj avatar mkevenaar avatar

Stargazers

eoehen avatar Jan Karger ツ ☀ avatar Kim J. Nordmo avatar  avatar

Watchers

 avatar James Cloos avatar  avatar Kim J. Nordmo avatar Ian Noble avatar eoehen avatar

Forkers

mkevenaar

live-streams's Issues

Update installed packages

baretail 3.50.0.20120226
cakerecipe-vscode 0.5.0
chocolatey 0.10.13
chocolatey-core.extension 1.3.3
chocolatey-visualstudio.extension 1.8.0
chocolatey-vscode 0.7.0
chocolatey-vscode.extension 1.0.0
chocolatey-windowsupdate.extension 1.0.3
chocolateygui 0.16.0
ci-cd-assets-vscode 0.5.0
DotNet3.5 3.5.20160716
DotNet4.5.2 4.5.2.20140902
DotNet4.6.1 4.6.01055.20170308
dotnet4.7.2 4.7.2.20180712
dotnetcore 2.2.4
dotnetcore-runtime 2.2.4
dotnetcore-runtime.install 2.2.4
dotnetcore-sdk 2.2.203
dotnetfx 4.7.2.20180712
extension.template 1.0.0
gep13.gitConfig 1.0.7
git 2.21.0
git.install 2.21.0
gitextensions 3.0.2
GoogleChrome 73.0.3683.103
KB2533623 1.0.3
KB2919355 1.0.20160915
KB2919442 1.0.20160915
KB2999226 1.0.20181019
KB3033929 1.0.4
KB3035131 1.0.2
kdiff3 0.9.98
microsoftazurestorageexplorer 1.8.1
msi.template 1.0.2
netfx-4.5.2-devpack 4.5.5165101.20180721
netfx-4.6.1-devpack 4.6.01055.00
netfx-4.7.2-devpack 4.7.2.20190225
nodejs 12.4.0
nodejs.install 12.4.0
poshgit 0.7.3.1
postman 7.2.2
sql-server-management-studio 15.0.18118.0
vcredist140 14.20.27508.1
vcredist2015 14.0.24215.20170201
visualstudio-installer 2.0.0
visualstudio2019-workload-manageddesktop 1.0.1
visualstudio2019community 16.0.2.0
visualstudiocode 1.23.1.20180730
vscode 1.33.1
vscode-autohotkey 0.2.2
vscode-cake 1.0.0.20181011
vscode-codespellchecker 1.0.0.20181011
vscode-csharp 1.0.0.20181011
vscode-csharpextensions 1.0.0.20180620
vscode-editorconfig 1.0.0.20181011
vscode-gitattributes 0.4.1.20190310
vscode-gitignore 0.6.0
vscode-icons 1.0.0.20190314
vscode-markdownlint 1.0.0.20181011
vscode-powershell 1.0.0.20181011
vscode.template 1.0
yo 2.0.6
zip.template 1.0.0

Chocolatey: How to test your chocolatey packages

By this, I mean testing the packages through chocolatey-test-environment, and how to set it up with vagrant.

Although it has been quite some time now, this was a question that used to pop up from time to time.

While there are extensive documentation of this, some probably find it easier to watch a video on how to do it instead of reading about how to do it.

Would definitely come after #2 though.

VSCode: Creating Visual Studio Code Extensions

I know this can be a pretty large topic (Especially considering there can be a number of different scenarios for building extension. Commands, LanguageServer, and more).

But thought it could be cool to have a basic live stream of how to start building Visual Studio Code extensions.

What I'm thinking, is perhaps having a stream for users that wishes to start building extensions through basic commands.

Some suggestions of topics

  • Setting up environment to start building extensions (including initial project creation)
  • Creating your first Visual Studio Code command (I'm guessing you could already make use of one of your extensions for this).
  • How to debug extensions.
  • Implementing Unit Tests
  • Implementing Dependency Injection (tip: inversify)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.