The case of the self-cancelling Azure DevOps pipeline

The Issue Today I came across a strange issue with a reasonably old multi-stage YAML pipeline, it appeared to be cancelling itself. The Build stage ran OK, but the Release stage kept being shown as cancelled with a strange error. The strangest thing was it did not happen all the time. I guess this is the reason the problem had not been picked up sooner. If I looked at the logs for the Release stage, I saw that the main job, and meant to be the only job, had completed successfully....

October 29, 2021 · 2 min · Richard Fennell

Automating adding issues to Beta GitHub Projects using GitHub Actions

The new GitHub Issues Beta is a big step forward in project management over what was previously possible with the old ‘simple’ form of Issues. The Beta adds many great features such as: Project Boards/Lists Actionable Tasks Custom Fields including Iterations Automation However, one thing that is not available out the box is a means to automatically add newly created issues to a project. Looking at the automations available within a project you might initially think that there is a workflow to do this job, but no....

October 15, 2021 · 2 min · Richard Fennell

Making SonarQube Quality Checks a required PR check on Azure DevOps

This is another of those posts to remind me in the future. I searched the documentation for this answer for ages and found nothing, eventually getting the solution by asking on the SonarQube Forum When you link SonarQube into an Azure DevOps pipeline that is used from branch protection the success, or failure, of the PR branch analysis is shown as an optional PR Check The question was ‘how to do I make it a required check?...

September 21, 2021 · 1 min · Richard Fennell

My cancer story – thus far

This is a somewhat different post to my usual technical ones… In December 2017 I had major surgery. This was to remove an adrenal cortical carcinoma (ACC) that had grown on one of my adrenal glands and then up my inferior vena cava (IVC) into my heart. Early on I decided, though not hiding the fact I was ill, to not live every detail on social media. So, it is only now that I am back to a reasonable level of health and with some distance that I feel I can write about my experiences....

August 23, 2021 · 14 min · Richard Fennell

But what if I can't use GitHub Codespaces? Welcome to github.dev

Yesterday GitHub released Codespaces as a commercial offering. A new feature I have been using during its beta phase. Codespaces provides a means for developers to easily edit GitHub hosted repos in Visual Studio Code on a high-performance VM. No longer does the new developer on the team have to spend ages getting their local device setup ‘just right’. They can, in a couple of clicks, provision a Codespace that is preconfigured for the exact needs of the project i....

August 12, 2021 · 2 min · Richard Fennell

How I dealt with a strange problem with PSRepositories and dotnet NuGet sources

Background We regularly re-build our Azure DevOps private agents using Packer and Lability, as I have posted about before. Since the latest re-build, we have seen all sorts of problems. All related to pulling packages and tools from NuGet based repositories. Problems we have never seen with any previous generation of our agents. The Issue The issue turned out to be related to registering a private PowerShell repository. $RegisterSplat = @{ Name = 'PrivateRepo' SourceLocation = 'https://psgallery....

July 16, 2021 · 1 min · Richard Fennell

Porting my Visual Studio Parameters.xml Generator tool to Visual Studio 2022 Preview

As I am sure you are all aware the preview of Visual Studio 2022 has just dropped, so it is time for me to update my Parameter.xml Generator Tool to support this new version of Visual Studio. But what does my extension do? As the Marketplace description says… A tool to generate parameters.xml files for MSdeploy from the existing web.config file or from an app.config file for use with your own bespoke configuration transformation system....

June 22, 2021 · 3 min · Richard Fennell

Automating the creation of Team Projects in Azure DevOps

Creating a new project in Azure DevOps with your desired process template is straightforward. However, it is only the start of the job for most administrators. They will commonly want to set up other configuration settings such as branch protection rules, default pipelines etc. before giving the team access to the project. All this administration can be very time consuming and of course prone to human error. To make this process easier, quicker and more consistent I have developed a process to automated all of this work....

June 10, 2021 · 2 min · Richard Fennell

Getting the approver for release to an environment within an Azure DevOps Multi-Stage YAML pipeline

I recently had the need to get the email address of the approver of a deployment to an environment from within a multi-stage YAML pipeline. Turns out it was not as easy as I might have hoped given the available documented APIs. Background My YAML pipeline included a manual approval to allow deployment to a given environment. Within the stage protected by the approval, I needed the approver’s details, specifically their email address....

May 15, 2021 · 1 min · Richard Fennell

Loading drivers for cross-browser testing with Selenium

Another post so I don’t forget how I fixed a problem…. I have been making sure some Selenium UX tests that were originally written against Chrome also work with other browsers. I have had a few problems, the browser under test failing to load or Selenium not being able to find elements. Turns out the solution is to just use the custom driver start-up options, the default constructors don’t seem to work for browsers other theran Chrome and Firefox....

April 21, 2021 · 1 min · Richard Fennell