Fixing my SQLite Error 5: 'database is locked' error in Entity Framework

I have spent too long today trying to track down an intermittent “SQLite Error 5: ‘database is locked’” error in .Net Core Entity Framework. I have read plenty of documentation and even tried swapping to use SQL Server, as opposed to SQLite, but this just resulted in the error ‘There is already an open DataReader associated with this Connection which must be closed first.’. So everything pointed to it being a mistake I had made....

February 12, 2021 · 1 min · Richard Fennell

What to do when moving your Azure DevOps organisation from one region to another is delayed.

There are good reasons why you might wish to move an existing Azure DevOps organisation from one region to another. The most common ones are probably: A new Azure DevOps region has become available since you created your organisation that is a ‘better home’ for your projects. New or changing national regulations require your source stored in a specific location. You want your repositories as close to your workers as possible, to reduce network latency....

January 25, 2021 · 2 min · Richard Fennell

Running UWP Unit Tests as part of an Azure DevOps Pipeline

I was reminded recently of the hoops you have to jump through to run UWP unit tests within an Azure DevOps automated build. The key steps you need to remember are as follows Desktop Interaction The build agent should not be running as a service it must be able to interact with the desktop. If you did not set this mode during configuration this post from Donovan Brown shows how to swap the agent over without a complete reconfiguration....

December 8, 2020 · 2 min · Richard Fennell

Out of Memory running SonarQube Analysis on a large projects

Whilst adding SonarQube analysis to a large project I started getting memory errors during the analysis phase. The solution was to up the memory available to the SonarQube Scanner on the my build agent, not the memory on the SonarQube server as I had first thought. This is done with an environment variable as per the documentation, but how best to do this within our Azure DevOps build systems? The easiest way to set the environment variable `SONAR_SCANNER_OPTS` on every build agent is to just set it via a Azure Pipeline variable....

December 1, 2020 · 1 min · Richard Fennell

Getting confused over Azure DevOps Pipeline variable evaluation

Introduction The use of variables is important in Azure DevOps pipelines, especially when using YML templates. They allow a single pipeline to be used for multiple branches/configurations etc. The most common form of variables you see is are the predefined built in variables e.g. $(Build.BuildNumber) and your own custom ones e.g. $(var). Usually the value of these variables are set before/as the build is run, as an input condition. But this is not the only way variables can be used....

November 27, 2020 · 3 min · Richard Fennell