Skip to content

Work Item State

Work items are way to track work progress in Azure DevOps. They tell you what the team is currently working on, what is finished and what job is still to do. That’s it. OK in real world it is not that easy, because you have different kind of work to do, tickets are moving back and forth between being closed and active etc. To tackle all this chaos, I will …

Read Robot Framework test results into Azure DevOps

Today I was setting up a self-hosted agent, that could run Robot framework tests. I wanted the agent to run robot tests and push results into Azure DevOps as a test result of release run. First my releases returned weird looking return codes like ##[error]Bash exited with code ‘8’. Robot framework documentation says that runner returns following return codes:

RCExplanation
0All critical tests passed.
1-249Returned number

Building C# project with Github Actions

Github Actions is a new way to implement continuous integration and continuous deployment for Github projects. Pipelines are called workflows and they are written in everybodys favorite language: YAML. Editing can be done directly in github.com and Github provides nice set of templates to get started.

Github Actions provides nice amount of build time for free. Total of 2000 minutes per month. Pricing has some weird aspect though, the 2000 …

Configure Serilog with Logstash and ElasticSearch

Today I was setting up the Serilog logging that communicates with Logstash. Serilog can communicate to ElasticSearch easily with ElasticSeach sink https://github.com/serilog/serilog-sinks-elasticsearch, but that does not work with Logstash http input. So to use the Logstash http input, we need to install the Serilog Http Sink and configure it properly.

I prefer to use DurableHttpUsingFileSizeRolledBuffers writer, because it will store the log files temporary into disk, if the Logstash …

2010s – Part one – The Interop

As year changed from 2019 to 2020, people in social media posted a lot about how they have spent their 2010s. I will take a little different aspect while looking into past decade and present you my three biggest architectural failures.

Interop

This story begins at the beginning of 2010s. I was just promoted to Software Architect and got an invite into the Architect Board. Architect Board was basically a …

Mock Cassandra (actually ScyllaDB) in C# unit tests

I have been lately working a lot with high throughput database called ScyllaDB. ScyllaDB is a Cassandra compatible, open source, nosql data store, which is accessed with Cassandra database drivers. It has higher throughput, lower latency and smaller memory footprint than Cassandra mainly because it is written in C++, not on top of JVM like Cassandra.

Unit testing classes that access database at somepoint can be a pain in the …

Recent activities

I have been recently a bit inactive in the field of blogging, but luckily very busy in coding. I’m currently working in new green field project and it requires huge amount of effort to adopt all the new technologies that are used, and I can say that there is a lot of new stuff!

I have also started to study teaching in Jyväskylä university of applied science and that is …

Where is my changelog?

In this week I stumbled again into very common Azure Devops guestion.

Where I can see the changelog?

Build based changelog is available at pipelines page, but Azure Devops has also deployment changelog, which is indeed quite well hidden under releases tab.

First open latest deployment from “Releases” tab, then click the “Stage 1” or what ever your stage name is under the Stages box (yes, it is a link …

Pipeline caching

Pipeline caching is here! This is something that I have been personally waiting for long time and I’m so happy that it is finally in preview.

Azure DevOps pipeline caching enables hosted build agent to cache NPM, Nuget, Yarn and almost any packages that are used during the build. Performance benefits varies based on how many packages are used and how often they are changed.

Configure caching

Pipeline caching is …