Hi, I’m Anton Sizikov.
2024
Common Misconceptions about GitHub Actions
The other day, I was working with a customer who was planning a migration from JetBrains TeamCity to GitHub Actions. They expressed a concern that GitHub Actions does not work well in multi-repo setup; they were used to having build pipelines separate from the source code distributed across multiple repositories.
2023
GitHub Container Registry is a great service. It’s free for public repositories and it’s integrated with GitHub Actions. Unfortunately, it’s not free for private packages. The free tier allows 1 GB of data transfer per month. What happens when you reach the limit depends on your payment profile. You will either be prevented from downloading your images or you’ll be charged for the consumed traffic.
Integration tests for .NET CLI tools
I’ve spent Saturday evening working on a small project. I’ve built a .NET clone of tree
utitly. You know, the one that renders a nice tree view for a given directory.
2022
GitHub Environment Protection with Tags
A recent request from a customer caught my attention. They were trying to set up a CD pipeline that should deploy packages to production when there is a new tag pushed to the repository. At the same time, they wanted some control over the process so that not everyone can init a release by pushing a tag to the repository.
AzureDevOps and hosted agents
TLDR
Today I’m going to talk about self-hosted build agents.
2021
Configure WSL2 limits on Windows 10
WSL2 on Windows 10 has some issues, but I still prefere it to run my docker containers locally.
In this post, I’m going to configure the continuous delivery process for Azure WebApp (Azure Function in this case, but that’s pretty much the same) with Octopus Deploy. To make it a little bit interesting I’m going to use Configuration-as-Code approach with a brand new Octopus provider for Terraform.
2020
GitHub Container Registry was introduced on the 1st of September 2020. It’s still in the Beta stage, so it’s rather not recommended to use it in production. However, it offers us free private storage for our Docker images, at least until the end of the Beta period.
Docker image tests
Today we’re going to set up a CI/CD GitHub Action with a Container Structure Test step which will help us to enforce the certain quality policies for the images which we build and ship.
Local development of C# Azure Functions on macOS is still a bit painful.
Even the simple-ish logging might cause issues. Let’s assume that we have Azure Functions Core Tools installed and we have a basic function app with one TimerTrigger
function created.
My current project has reached the point where we have to manage our infrastructure in a more organized way rather than ad-hoc manual configurations.
2018
In this post, I’m going to show how to marry SQL Operations Studio running on macOS with MS SQL Express running on Windows VM in Parallels.
2017
You are mocking it wrong.
Well, probably you are not, but let me grumble a little bit anyway.
2016
Investigating unexpected MSBuild behavior
Recently I took latest changes from git, merged dev
to my current branch and decided to run few integration tests. You know, just to be sure.
I’ve been doing code reviews on a daily basis for several years for now. This activity is very different from what I do as a developer.
Dev environment 2016. Windows.
I’ve changed a job last month and had to build up my dev environment from scratch again. While doing that I decided to write down some thoughts about it.
Thoughts on C# 7 Local Functions
Frankly when I first saw that C# 7 will come with new local functions I thought that that’s just a nice and a compact way of defining local helpers. In fact, it’s much more interesting and useful feature. Today I’m going to talk about it in more details.
CatLight
It’s hard to imagine modern development without continuous intergation and unit-tests.
C# 7 features preview
Last week my twitter feed exploded with lots of entries about Microsoft //Build 2016 conference. As it’s one of the most important events for .NET dev community MSFT prepared quite a few awesome announcements for us:
This is a long title. Well, the post is going to be long as well.
2015
Look at all those famous people committing to some random developer’s boring repository.
GitHub Deployment statuses
It’s very important to collect and track as much information as you can about your system. We have logging, monitoring, reports and analytics. All the systems that we build are not just packages, which are deployed to the server/computer or device. Everything starts with Issue Tracking system and through the code goes to production. The code and the process of coding both look like an important part of the system and it makes a lot of sense to collect and store all the data about code.
I use different accounts and different computers to work with GitHub repositories, so sometimes I face the situation when I don’t have my SSH key generated for the current environment.
ReSharper Annotations. Can it be null?
Hi,
ReSharper is doing great job when it comes to semantics of your code and control flow graph analysis. The special edge case I want to talk about is nullness analysis.
Hi,
In the previous post I told you how to implement the Reactive Api client with caching. Well, to prove that our code works we might want to have some unit tests.
AsyncSuffix ReSharper extension
There is a tendency in a .NET world to build asynchronous CPU bounded or IO related API. We also can see that some APIs support both asynchronous and synchronous versions for the backward compatibility reasons.
Hi,
Today I want to talk about the development of the api client library. Let’s say it is an imaginary GitHub RESTfull Api that returns user’s rating. To make this routine more interesting we’ll add caching and mix it with Reactive Extensions. In fact the article is a summary of my Windows Phone development experience, and the approach in question was taken in a several applications with different modifications.
In my previous post I’ve described how to create your own Live Templates for ReSharper. Today I’m going to tell how to share your ReSharper settings and Live Templates with your team.
Custom live templates for ReSharper
Hi!
As a .NET developer I’m enjoying to use an intelligent plug-in for Visual Studio which is called ReSharper. It saves me time, provides me a static analysis and generates code for me.
Keeping the repository interface clean
The repository pattern is being blamed quite often. The most popular reason for that is an uncontrolled growth of the interface.
Hello World
I’m not sure if I can be more hipster, but now I have a blog which is hosted by GitHub pages and served by jekyll. Yeah, I had to install python and ruby to run it.