Fix for cannot 'TypeError: Cannot read property' when Dependabot submits a PR to upgrade a Jest Module

GitHub’s Dependabot is a great tool to help keep your dependencies up to date, and most of the time the PR it generates just merges without a problem. However, sometimes there are issues with other related dependencies. This was the case with a recent PR to update jest-circus to 28.x. The PR failed with the error TypeError: Cannot read property ’enableGlobally’ of undefined at jestAdapter (node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:39:25) at TestScheduler.scheduleTests (node_modules/@jest/core/build/TestScheduler.js:333:13) at runJest (node_modules/@jest/core/build/runJest.js:404:19) at _run10000 (node_modules/@jest/core/build/cli/index.js:320:7) at runCLI (node_modules/@jest/core/build/cli/index.js:173:3) ...

May 19, 2022 · 1 min · Richard Fennell

On-Demand video available for May's 'Microsoft and GitHub DevOps Forum: DevSecOps'

Did you miss the ‘Microsoft and GitHub DevOps Forum: DevSecOps’ event I presented at earlier in May? Well worry not, the on-demand stream is now available - here

May 17, 2022 · 1 min · Richard Fennell

More examples of using custom variables in Azure DevOps multi-stage YML

I have blogged in the past ( here , here and here) about the complexities and possible areas of confusion with different types of Azure DevOps pipeline variables. Well here is another example of how to use variables and what can trip you up. The key in this example is the scope of a variable, whether it is available outside a job and the syntax to access it Variables local to the Job So, if you create your variable as shown below ...

May 5, 2022 · 1 min · Richard Fennell

Updating the Azure Application client_secret used by Packer

As I have posted about previously, we create our Azure DevOps build agent images using the same Packer definitions as used by Microsoft. This time when I ran my Packer command to build an updated VHD I got the error Build ‘vhd’ errored after 135 milliseconds 708 microseconds: adal: Refresh request failed. Status Code = ‘401’. Response body: {“error”:“invalid_client”,“error_description”:“AADSTS7000222: The provided client secret keys for app ‘6425416f-aa94-4c20-8395-XXXXXXX’ are expired. Visit the Azure portal to create new keys for your app: https://aka.ms/NewClientSecret, or consider using certificate credentials for added security: https://aka.ms/certCreds.rnTrace ID: 65a200cf-8423-4d52-af07-67bf26225200rnCorrelation ID: 0f86de87-33fa-443b-8186-4de3894972e1rnTimestamp: 2022-05-03 08:36:50Z”,“error_codes”:[7000222],“timestamp”:“2022-05-03 08:36:50Z”,“trace_id”:“65a200cf-8423-4d52-af07-67bf26225200”,“correlation_id”:“0f86de87-33fa-443b-8186-4de3894972e1”,“error_uri”:“https://login.microsoftonline.com/error?code=7000222"} Endpoint https://login.microsoftonline.com/545a7a95-3c4d-4e88-9890-baa86d5fdacb/oauth2/token==> Builds finished but no artifacts were created. ...

May 3, 2022 · 2 min · Richard Fennell

Speaking at the rescheduled Microsoft and GitHub DevOps Forum on the 4th of May

I’m speaking at the resheduled Microsoft and GitHub DevOps Forum on the 4th of March. To Register: https://mktoevents.com/Microsoft+Event/333304/157-GQE-382?wt.mc_id=AID3045587_QSG_EML_586670

April 7, 2022 · 1 min · Richard Fennell

Fix for Azure DevOps deployment to an environment stuck in "Job is pending" state

Issue I had an Azure DevOps YAML based pipeline that had been working but was now getting stuck with the message “Job is pending…” when trying to start a stage in which there is a deployment to an environment. Looking at the logs and Azure DevOps UI it was not obvious what the issue was. Solution Turns out it was due to environment checks and approvals. There was a branch policy on the environment. This was set to only allow use of Azure DevOps Templates on a given branch. The edit that had been done to the YAML meant it was trying to extend a template in a branch that was not in the approved list. ...

April 7, 2022 · 1 min · Richard Fennell

Speaking at the Microsoft and GitHub DevOps Forum on the 10th of March

Update: This event has been rescheduled for the 4th May. The new registration link is here I’m speaking at the Microsoft and GitHub DevOps Forum on the 10th of March. To register - https://mktoevents.com/Microsoft+Event/325749/157-GQE-382

March 3, 2022 · 1 min · Richard Fennell

A workaround for not being able to access custom variables via stagedependencies if they are set in deployment jobs in Azure DevOps Pipelines

I have blogged in the past ( here and here) about the complexities and possible areas of confusion with different types of Azure DevOps pipeline variables. I have also seen issues raised over how to access custom variables across jobs and stages. Safe to say, this is an area where it is really easy to get it wrong and end up with a null value. I have recently come across another edge case to add to the list of gotchas. ...

February 19, 2022 · 2 min · Richard Fennell

The importance of blogging - or how to do your future self a favour

Yesterday, yet again, I was thankful for my past self taking time to blog about a technical solution I had found. I had an error when trying to digitally sign a package. On searching on the error code I came across my own blog post with the solution. This was, as usual, one I had no recollection of writing. I find this happens all the time. It is a little disturbing when you search for an issue and the only reference is to a post you made and have forgotten, so you are the defacto expert, nobody knows anymore on the subject, but better than having no solution. ...

January 14, 2022 · 1 min · Richard Fennell

Using Azure DevOps Stage Dependency Variables with Conditional Stage and Job Execution

I have been doing some work with Azure DevOps multi-stage YAML pipelines using stage dependency variables and conditions. They can get confusing quickly, you need one syntax in one place and another elsewhere. So, here are a few things I have learnt… What are stage dependency variables? Stage Dependencies are the way you define which stage follows another in a multi-stage YAML pipeline. This is as opposed to just relying on the order they appear in the YAML file, the default order. Hence, they are critical to creating complex pipelines. ...

January 10, 2022 · 5 min · Richard Fennell