Skip to content

Instantly share code, notes, and snippets.

View mu88's full-sized avatar

Mirko 🇪🇺 🇺🇦 mu88

View GitHub Profile
@mu88
mu88 / Program.cs
Created May 15, 2023 14:44
Compare PostgreSQL and SQL Server regarding CanConnectAsync
using System.Diagnostics;
using Microsoft.EntityFrameworkCore;
using Testcontainers.MsSql;
using Testcontainers.PostgreSql;
var msSqlContainer = new MsSqlBuilder()
.WithImage(MsSqlBuilder.MsSqlImage.Replace("mcr.microsoft.com/", string.Empty))
.Build();
await msSqlContainer.StartAsync();
SqlServerContext.Port = msSqlContainer.GetMappedPublicPort(MsSqlBuilder.MsSqlPort);
@mu88
mu88 / README.md
Last active September 15, 2022 09:10
Automatically upgrade NuGet packages and create PR in Bitbucket

Automatically upgrade NuGet packages and create PR in Bitbucket

Since NuKeeper is deprecated, I dediced to write it very basic PowerShell script which does the same for our on-prem Bitbucket instance. It uses the .NET global tool dotnet-outdated.

Prerequisites

Some things that come to my mind about this script:

  • Tested with PowerShell 7.2.5 and Bitbucket 7.21 (on-prem)
  • Script has to be executed within an already cloned Git repository
  • Git repository must use http or https for the remote
  • There must be a user inside Bitbucket with write permissions. The user needs an HTTP Access Token to communicate with Bitbucket.
  • dotnet-outdated seems to have some issues with the old CSPROJ format, so make sure to use it only with the newer SDK-style projects.
@mu88
mu88 / Bitbucket - Remove PR identifier from commit message title.js
Last active July 28, 2022 11:55
Bitbucket - Remove PR identifier from commit message
// ==UserScript==
// @name Bitbucket - Remove PR identifier from commit message title
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Moves the Pull Request identifier from the Git commit message title into the description
// @author mu88
// @match https://<<Bitbucket host>>/**/pull-requests/*/overview
// @icon https://<<Bitbucket host>>/s/-848199135/6d8324a/n1cn5w/1.0/_/download/resources/com.atlassian.bitbucket.server.bitbucket-webpack-INTERNAL:favicon/favicon.ico
// @grant none
// ==/UserScript==
@mu88
mu88 / .gitconfig
Last active August 2, 2022 08:33
Git hook for Conventional Commits
[includeIf "gitdir:C:/source/GitHub/"]
path = .gitconfig-github
@mu88
mu88 / DeleteGitTags.ps1
Last active July 19, 2022 07:32
Delete several tags from Git repo
#!/usr/bin/pwsh
Clear-Host
$repository = "<<Git repository path to work on>>"
$releaseName = "<<Name of release>>"
$tagsToKeep = @("<<Tag to keep>>")
Set-Location -Path $repository
@mu88
mu88 / MountContainer.ps1
Created April 22, 2021 06:56
Combines KeePass and VeraCrypt for volume mounting
$KPScriptEXE = "C:\Program Files (x86)\KeePass Password Safe 2\KPScript.exe"
$KeePassFile = "C:\Users\me\Documents\me.kdbx"
$VeraCryptEXE = "C:\Program Files\VeraCrypt\VeraCrypt.exe"
$VeraCryptFile = "C:\Users\me\Documents\me.hc"
$VeraCryptEntryTitle = "VeraCrypt"
$output = & $KPScriptEXE -c:GetEntryString $KeePassFile -Field:Password -ref-Title:$VeraCryptEntryTitle -guikeyprompt
$pw = ($output -split '\n')[0]
$pw = $pw -replace "`n","" -replace "`r",""
& $VeraCryptEXE /q /v $VeraCryptFile /l u /p $pw
@mu88
mu88 / FileTemplate.cs
Created March 19, 2021 16:32
ReSharper Live Template
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace $Namespace$
{
[TestClass]
public class $TestClassName$
{
$END$
}
}
scp -r \bin\Release\netcoreapp3.1\linux-arm\publish pi@raspberry:/tmp/RaspiFanController/
@mu88
mu88 / Final.cs
Last active August 27, 2022 12:22
Refactor Dependency Injection
public class CarFactory
{
public CarFactory()
: this(ServiceLocator.Resolve<IEngine>(),
ServiceLocator.Resolve<IChassis>())
{
}
private CarFactory(IEngine engine, IChassis chassis)
{
@mu88
mu88 / Program.cs
Created December 7, 2019 11:29
Docker and dotTrace - Program.cs
using System;
using System.Threading.Tasks;
namespace TestWithDocker
{
internal class Program
{
private static async Task Main()
{
while (true)