How to roll back an Azure IoT Edge layered deployment?

Have you ever wondered how you could roll back the latest layered Azure IoT Edge deployment? I have – it’s actually pretty useful. But what for? Well, perhaps it’s useful as the last step or whatever interesting Azure DevOps pipelines you have to deploy changes to an Edge device, run tests, and then remove the deployment. You could possibly have it as an optional parameter in case you want to do a dry run for the deployment – see if everything works well but not…Continue reading How to roll back an Azure IoT Edge layered deployment?

Not sure if a bug or a feature

Azure DevOps incoming webhook just won’t fire? Easy (stupid) fix!

This article documents a simple but annoying fix to an issue with Azure DevOps. In this particular case, an incoming webhook (configured as a service connection) would fail to fire, no matter what. It turns out that it’s a bug in Azure DevOps – who would have thought :) Luckily, there’s a fairly simple workaround available! Problem A colleague was configuring a new pipeline in Azure DevOps. It was supposed to fire based on an external webhook that was defined as a service connection to…Continue reading Azure DevOps incoming webhook just won’t fire? Easy (stupid) fix!

Azure DevOps - Always Be Shipping!

How to run Robot tests on an Azure DevOps hosted agent?

This short article simply documents how to install the dependencies for running Robot Framework on Azure DevOps’ hosted agents. This simple tip comes in handy when you need to run any UI testing for your project after build, as Robot Framework is a great and widely used tool for that. Let’s quickly take a look at the background of the issue, after which I’m sharing a highly copy-pasteable piece of YAML for your convenience. Well – and mine. Background So I got a question about…Continue reading How to run Robot tests on an Azure DevOps hosted agent?

ChromeWebDriver version in Azure DevOps build pipeline job's log output

How to find out which WebDriver version is installed on an Azure DevOps build machine using YAML?

Uh, okay, well. So this is where you should just RTFM (that’s along the lines of “check the documentation” for those uninitiated in the world of unnecessary abbreviations). But as we’ve found out before, Microsoft’s documentation on the agent’s installed software isn’t always up-to-date. That’s why I added this simple snippet on my pipeline to figure out which version of the browser AND the webdriver are installed on the machine. The snippets below can be combined with logic to install different versions of Chrome and…Continue reading How to find out which WebDriver version is installed on an Azure DevOps build machine using YAML?

Version Control problems

How to resolve “refusing to allow an integration to create or update .github/workflows/main.yml” on GitHub Desktop?

Ran into this one when trying to push my merge from upstream. I was adhering to my own instructions (see below for a link), but got the error (further below) that stopped me from using GitHub Desktop to push (sync) at all. Posts Related to “How to resolve “refusing to allow an integration to create or update .github/workflows/main.yml” on GitHub Desktop?”:Sync local repo with the original on GitHub (Git merge upstream)Visual Studio Code fails when running “git pull” for a new projectHow to nuke your…Continue reading How to resolve “refusing to allow an integration to create or update .github/workflows/main.yml” on GitHub Desktop?

Azure DevOps - Always Be Shipping!

Azure DevOps – how to package a single DLL?

Okay – a quick piece of documentation that was a bit lackluster, so it’s again a good idea to log somewhere. How to package a simple DLL that’s a result of your Azure DevOps Pipeline? In my particular case, I have configured a post-build step to obfuscate the DLL, that’s first built by MSBuild. That works nicely. However, the default way to create a NuGet package, where you select a project (usually you pass the same variable to NuGet pack command that you used earlier…Continue reading Azure DevOps – how to package a single DLL?