From c1fb9ffa5fdbeef0651c183860f56553f4f1ed7d Mon Sep 17 00:00:00 2001 From: Szymon Osiecki Date: Tue, 17 Feb 2026 18:06:33 +0100 Subject: [PATCH 1/5] fix: install_nodejs on ubuntu --- .assets/provision/install_nodejs.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.assets/provision/install_nodejs.sh b/.assets/provision/install_nodejs.sh index 9d500407..9e19f2fd 100755 --- a/.assets/provision/install_nodejs.sh +++ b/.assets/provision/install_nodejs.sh @@ -51,10 +51,11 @@ debian | ubuntu) URL="https://deb.nodesource.com/setup_lts.x" # download and install homebrew if download_file --uri "$URL" --target_dir "$TMP_DIR"; then + chmod +x "$TMP_DIR/setup_lts.x" bash -c "$TMP_DIR/setup_lts.x" fi # install nodejs - apt-get update && apt-get install -y $APP npm + apt-get update && apt-get install -y $APP ;; opensuse) zypper --non-interactive in -y $APP npm From b1d91c9224adb3f4b7f4d797bd61499cf6664c06 Mon Sep 17 00:00:00 2001 From: Szymon Osiecki Date: Tue, 17 Feb 2026 20:13:10 +0100 Subject: [PATCH 2/5] refactor(py): gremlins hook --- tests/hooks/gremlins.py | 42 ++++++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/tests/hooks/gremlins.py b/tests/hooks/gremlins.py index 4cc5f5e3..19682042 100644 --- a/tests/hooks/gremlins.py +++ b/tests/hooks/gremlins.py @@ -2,13 +2,14 @@ Scan staged text files for unwanted Unicode characters and fail if found. # :example -python3 -m tests.gremlins wsl/wsl_setup.ps1 +python3 -m tests.hooks.gremlins wsl/wsl_setup.ps1 """ import os import sys import unicodedata -from typing import Iterable, List, Tuple +from collections.abc import Iterable +from typing import Tuple FORBIDDEN_CHARS: Tuple[str, ...] = ( # Zero-width / joiner @@ -33,12 +34,30 @@ "\u201c", # U+201C LEFT DOUBLE QUOTATION MARK "\u201d", # U+201D RIGHT DOUBLE QUOTATION MARK "\u2026", # U+2026 HORIZONTAL ELLIPSIS + # Misc common problematic characters + "\u00b7", # U+00B7 MIDDLE DOT ) -def find_forbidden_in_text(content: str, filename: str) -> List[str]: - """Return list of human readable reports for forbidden characters in content.""" - reports: List[str] = [] +def find_forbidden_in_text(content: str, filename: str) -> list[str]: + """ + Scan the given text for forbidden Unicode characters and report their locations. + + Parameters + ---------- + content : str + The text content to scan for forbidden characters. + filename : str + The name of the file being scanned, used in the report output. + + Returns + ------- + list[str] + A list of human-readable report strings. Each string is formatted as: + "filename:lineno: contains ()" + For example: "example.py:10: contains ZERO WIDTH SPACE (U+200B)" + """ + reports: list[str] = [] for lineno, line in enumerate(content.splitlines(), start=1): for ch in FORBIDDEN_CHARS: if ch in line: @@ -63,9 +82,18 @@ def is_text_file(path: str) -> bool: def check_gremlins(argv: Iterable[str]) -> int: - """Entry point: argv should be list of filenames to check.""" + """ + Check a list of text files for forbidden Unicode characters. + + Args: + argv (Iterable[str]): An iterable of file path strings to check. + + Returns: + int: Returns 0 if no forbidden characters are found in any file, + or 1 if at least one forbidden character is found. + """ files = list(argv) - problems: List[str] = [] + problems: list[str] = [] for path in files: if not os.path.exists(path) or not is_text_file(path): continue From f96b29f7c29a321fab4041856eed87d37f60b3d8 Mon Sep 17 00:00:00 2001 From: Szymon Osiecki Date: Sun, 22 Feb 2026 17:04:53 +0100 Subject: [PATCH 3/5] feat: make autocompletion --- .assets/provision/setup_profile_user.ps1 | 83 +++++++---- .assets/provision/setup_profile_user.sh | 9 ++ .assets/provision/setup_profile_user.zsh | 136 +++++++++++++++++++ .assets/provision/setup_profile_user_zsh.zsh | 122 ----------------- .assets/scripts/linux_setup.sh | 2 +- wsl/wsl_setup.ps1 | 2 +- 6 files changed, 207 insertions(+), 147 deletions(-) create mode 100755 .assets/provision/setup_profile_user.zsh delete mode 100755 .assets/provision/setup_profile_user_zsh.zsh diff --git a/.assets/provision/setup_profile_user.ps1 b/.assets/provision/setup_profile_user.ps1 index adb93a43..0368ea9d 100755 --- a/.assets/provision/setup_profile_user.ps1 +++ b/.assets/provision/setup_profile_user.ps1 @@ -35,28 +35,6 @@ for ($i = 0; ((Get-Module PSReadLine -ListAvailable).Count -eq 1) -and $i -lt 5; Install-PSResource -Name PSReadLine } -# install kubectl autocompletion -if (Test-Path /usr/bin/kubectl -PathType Leaf) { - $kubectlSet = try { Select-String 'kubecolor' -Path $PROFILE.CurrentUserCurrentHost -SimpleMatch -Quiet } catch { $false } - if (-not $kubectlSet) { - Write-Host 'adding kubectl auto-completion...' - # build completer text - $completer = [string]::Join("`n", - (/usr/bin/kubectl completion powershell) -join "`n", - "`n# setup autocompletion for the 'k' alias", - 'Set-Alias -Name k -Value kubectl', - "Register-ArgumentCompleter -CommandName 'k' -ScriptBlock `${__kubectlCompleterBlock}", - "`n# setup autocompletion for the 'kubecolor' binary", - 'if (Test-Path /usr/bin/kubecolor -PathType Leaf) {', - ' Set-Alias -Name kubectl -Value kubecolor', - " Register-ArgumentCompleter -CommandName 'kubecolor' -ScriptBlock `${__kubectlCompleterBlock}", - '}' - ) - # add additional ArgumentCompleter at the end of the profile - [System.IO.File]::WriteAllText($PROFILE, "$($completer.Trim())`n") - } -} - <# TODO uncomment once copilot-cli is added to the automation # add gh copilot aliases if (Test-Path /usr/bin/gh) { @@ -71,7 +49,49 @@ if (Test-Path /usr/bin/gh) { } #> -#region $PROFILE.CurrentUserAllHosts, +#region $PROFILE.CurrentUserCurrentHost +# load existing profile +$profileContent = [System.Collections.Generic.List[string]]::new() +if (Test-Path $PROFILE.CurrentUserCurrentHost -PathType Leaf) { + $profileContent.AddRange([System.IO.File]::ReadAllLines($PROFILE.CurrentUserCurrentHost)) +} +# track if profile is modified +$isProfileModified = $false + +# install kubectl autocompletion +if (Test-Path /usr/bin/kubectl -PathType Leaf) { + if (-not ($profileContent | Select-String '__kubectlCompleterBlock' -SimpleMatch -Quiet)) { + Write-Host 'adding kubectl auto-completion...' + # build completer text + $profileContent.AddRange( + [string[]]@( + "`n#region kubectl completer" + (/usr/bin/kubectl completion powershell) -join "`n" + "`n# setup autocompletion for the 'k' alias" + 'Set-Alias -Name k -Value kubectl' + "Register-ArgumentCompleter -CommandName 'k' -ScriptBlock `${__kubectlCompleterBlock}" + "`n# setup autocompletion for the 'kubecolor' binary" + 'if (Test-Path /usr/bin/kubecolor -PathType Leaf) {' + ' Set-Alias -Name kubectl -Value kubecolor' + " Register-ArgumentCompleter -CommandName 'kubecolor' -ScriptBlock `${__kubectlCompleterBlock}" + '}' + '#endregion' + ) + ) + $isProfileModified = $true + } +} + +# save profile if modified +if ($isProfileModified) { + [System.IO.File]::WriteAllText( + $PROFILE.CurrentUserCurrentHost, + "$(($profileContent -join "`n").Trim())`n" + ) +} +#endregion + +#region $PROFILE.CurrentUserAllHosts # load existing profile $profileContent = [System.Collections.Generic.List[string]]::new() if (Test-Path $PROFILE.CurrentUserAllHosts -PathType Leaf) { @@ -134,6 +154,23 @@ if (Test-Path "$HOME/$uvCli" -PathType Leaf) { } } +# set up make completer +$completerFunction = 'Register-MakeCompleter' +if (Get-Command $completerFunction -Module 'do-linux' -CommandType Function -ErrorAction SilentlyContinue) { + if (-not ($profileContent | Select-String $completerFunction -SimpleMatch -Quiet)) { + Write-Host 'adding make auto-completion...' + $profileContent.AddRange( + [string[]]@( + "`n#region make completer" + 'Set-Alias -Name m -Value make' + $completerFunction + '#endregion' + ) + ) + $isProfileModified = $true + } +} + # set up pixi $pixiCli = '.pixi/bin/pixi' if (Test-Path "$HOME/$pixiCli" -PathType Leaf) { diff --git a/.assets/provision/setup_profile_user.sh b/.assets/provision/setup_profile_user.sh index 6d464838..6d8179d1 100755 --- a/.assets/provision/setup_profile_user.sh +++ b/.assets/provision/setup_profile_user.sh @@ -86,6 +86,15 @@ fi EOF fi +# *set Makefile completer +if ! grep -qw "Makefile" $HOME/.bashrc 2>/dev/null; then + cat <<'EOF' >>$HOME/.bashrc + +# initialize make autocompletion +complete -W "\`if [ -f Makefile ]; then grep -oE '^[a-zA-Z0-9_-]+:([^=]|$)' Makefile | sed 's/[^a-zA-Z0-9_-]*$//'; elif [ -f makefile ]; then grep -oE '^[a-zA-Z0-9_-]+:([^=]|$)' makefile | sed 's/[^a-zA-Z0-9_-]*$//'; fi \`" make +EOF +fi + # *set up pixi COMPLETION_CMD='pixi completion --shell bash' PIXI_PATH=".pixi/bin" diff --git a/.assets/provision/setup_profile_user.zsh b/.assets/provision/setup_profile_user.zsh new file mode 100755 index 00000000..7cb41585 --- /dev/null +++ b/.assets/provision/setup_profile_user.zsh @@ -0,0 +1,136 @@ +#!/usr/bin/env zsh +: ' +.assets/provision/setup_profile_user.zsh +' +# path variables +PROFILE_PATH='/etc/profile.d' +OMP_PATH='/usr/local/share/oh-my-posh' + +# *install plugins +# ~zsh-autocomplete +# https://github.com/marlonrichert/zsh-autocomplete +zsh_plugin='zsh-autocomplete' +if [ -d "$HOME/.zsh/$zsh_plugin" ]; then + git -C "$HOME/.zsh/$zsh_plugin" pull --quiet +else + git clone https://github.com/marlonrichert/$zsh_plugin.git "$HOME/.zsh/$zsh_plugin" +fi +if ! grep -w "$zsh_plugin.plugin.zsh" "$HOME/.zshrc" 2>/dev/null; then + cat <>"$HOME/.zshrc" +# *plugins +source "\$HOME/.zsh/$zsh_plugin/$zsh_plugin.plugin.zsh" +EOF +fi +# ~zsh-make-complete +# https://github.com/22peacemaker/zsh-make-complete +zsh_plugin='zsh-make-complete' +if [ -d "$HOME/.zsh/$zsh_plugin" ]; then + git -C "$HOME/.zsh/$zsh_plugin" pull --quiet +else + git clone https://github.com/22peacemaker/$zsh_plugin.git "$HOME/.zsh/$zsh_plugin" +fi +if ! grep -Fqw "$zsh_plugin.plugin.zsh" "$HOME/.zshrc" 2>/dev/null; then + echo "source \"\$HOME/.zsh/$zsh_plugin/$zsh_plugin.plugin.zsh\"" >>"$HOME/.zshrc" +fi +# ~zsh-autosuggestions +# https://github.com/zsh-users/zsh-autosuggestions +zsh_plugin='zsh-autosuggestions' +if [ -d "$HOME/.zsh/$zsh_plugin" ]; then + git -C "$HOME/.zsh/$zsh_plugin" pull --quiet +else + git clone https://github.com/zsh-users/$zsh_plugin.git "$HOME/.zsh/$zsh_plugin" +fi +if ! grep -w '$zsh_plugin.zsh' "$HOME/.zshrc" 2>/dev/null; then + echo "source \"\$HOME/.zsh/$zsh_plugin/$zsh_plugin.zsh\"" >>"$HOME/.zshrc" +fi +# ~zsh-syntax-highlighting +# https://github.com/zsh-users/zsh-syntax-highlighting +zsh_plugin='zsh-syntax-highlighting' +if [ -d "$HOME/.zsh/$zsh_plugin" ]; then + git -C "$HOME/.zsh/$zsh_plugin" pull --quiet +else + git clone https://github.com/zsh-users/$zsh_plugin.git "$HOME/.zsh/$zsh_plugin" +fi +if ! grep -w "$zsh_plugin.zsh" "$HOME/.zshrc" 2>/dev/null; then + echo "source \"\$HOME/.zsh/$zsh_plugin/$zsh_plugin.zsh\"" >>"$HOME/.zshrc" +fi +if ! grep -q '^bindkey .* autosuggest-accept' "$HOME/.zshrc"; then + echo "bindkey '^ ' autosuggest-accept\n" >>"$HOME/.zshrc" +fi + +# *aliases +# add common zsh aliases +grep -qw 'd/aliases.sh' "$HOME/.zshrc" 2>/dev/null || cat <>"$HOME/.zshrc" +# common aliases +if [ -f "$PROFILE_PATH/aliases.sh" ]; then + source "$PROFILE_PATH/aliases.sh" +fi +EOF + +# add git aliases +if ! grep -qw 'd/aliases_git.sh' "$HOME/.zshrc" 2>/dev/null && type git &>/dev/null; then + cat <>"$HOME/.zshrc" +# git aliases +if [ -f "$PROFILE_PATH/aliases_git.sh" ] && type git &>/dev/null; then + source "$PROFILE_PATH/aliases_git.sh" +fi +EOF +fi + +# add kubectl autocompletion and aliases +if ! grep -qw 'kubectl' "$HOME/.zshrc" 2>/dev/null && type -f kubectl &>/dev/null; then + cat <>"$HOME/.zshrc" +# kubectl autocompletion and aliases +if type -f kubectl &>/dev/null; then + if [ -f "$PROFILE_PATH/aliases_kubectl.sh" ]; then + source "$PROFILE_PATH/aliases_kubectl.sh" + fi +fi +EOF +fi + +# *add conda initialization +if ! grep -qw '__conda_setup' "$HOME/.zshrc" 2>/dev/null && [ -f $HOME/miniforge3/bin/conda ]; then + $HOME/miniforge3/bin/conda init zsh >/dev/null +fi + +# *set up uv +COMPLETION_CMD='uv generate-shell-completion zsh' +UV_PATH=".local/bin" +if ! grep -qw "$COMPLETION_CMD" "$HOME/.zshrc" 2>/dev/null && [ -x "$HOME/$UV_PATH/uv" ]; then + cat <>"$HOME/.zshrc" + +# initialize uv autocompletion +if [ -x "\$HOME/$UV_PATH/uv" ]; then + export UV_NATIVE_TLS=true + eval "\$(\$HOME/$UV_PATH/$COMPLETION_CMD)" +fi +EOF +fi + +# *set up pixi +COMPLETION_CMD='pixi completion --shell zsh' +PIXI_PATH=".pixi/bin" +if ! grep -qw "$COMPLETION_CMD" "$HOME/.zshrc" 2>/dev/null && [ -x "$HOME/$PIXI_PATH/pixi" ]; then + cat <>"$HOME/.zshrc" + +# initialize pixi autocompletion +if [ -x "\$HOME/$PIXI_PATH/pixi" ]; then + autoload -Uz compinit && compinit + eval "\$(\$HOME/$PIXI_PATH/$COMPLETION_CMD)" +fi +EOF +fi + +# *add oh-my-posh invocation +if ! grep -qw 'oh-my-posh' "$HOME/.zshrc" 2>/dev/null && type oh-my-posh &>/dev/null; then + cat <>"$HOME/.zshrc" +# initialize oh-my-posh prompt +if [ -f "$OMP_PATH/theme.omp.json" ] && type oh-my-posh &>/dev/null; then + eval "\$(oh-my-posh init zsh --config "$OMP_PATH/theme.omp.json")" +fi +EOF +elif grep -qw 'oh-my-posh --init' "$HOME/.zshrc" 2>/dev/null; then + # convert oh-my-posh initialization to the new API + sed -i 's/oh-my-posh --init --shell zsh/oh-my-posh init zsh/' "$HOME/.zshrc" +fi diff --git a/.assets/provision/setup_profile_user_zsh.zsh b/.assets/provision/setup_profile_user_zsh.zsh deleted file mode 100755 index 0cd7ecc0..00000000 --- a/.assets/provision/setup_profile_user_zsh.zsh +++ /dev/null @@ -1,122 +0,0 @@ -#!/usr/bin/env zsh -: ' -.assets/provision/setup_profile_user_zsh.zsh -' -# path variables -PROFILE_PATH='/etc/profile.d' -OMP_PATH='/usr/local/share/oh-my-posh' - -# *install plugins -# ~zsh-autocomplete -# https://github.com/marlonrichert/zsh-autocomplete -if [ -d $HOME/.zsh/zsh-autocomplete ]; then - git -C $HOME/.zsh/zsh-autocomplete pull --quiet -else - git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git $HOME/.zsh/zsh-autocomplete -fi -if ! grep -w 'zsh-autocomplete.plugin.zsh' $HOME/.zshrc 2>/dev/null; then - cat <<'EOF' >>$HOME/.zshrc -# *plugins -source $HOME/.zsh/zsh-autocomplete/zsh-autocomplete.plugin.zsh -EOF -fi -# ~zsh-autosuggestions -# https://github.com/zsh-users/zsh-autosuggestions -if [ -d $HOME/.zsh/zsh-autosuggestions ]; then - git -C $HOME/.zsh/zsh-autosuggestions pull --quiet -else - git clone https://github.com/zsh-users/zsh-autosuggestions $HOME/.zsh/zsh-autosuggestions -fi -if ! grep -w 'zsh-autosuggestions.zsh' $HOME/.zshrc 2>/dev/null; then - echo 'source $HOME/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh' >>$HOME/.zshrc -fi -# ~zsh-syntax-highlighting -# https://github.com/zsh-users/zsh-syntax-highlighting -if [ -d $HOME/.zsh/zsh-syntax-highlighting ]; then - git -C $HOME/.zsh/zsh-syntax-highlighting pull --quiet -else - git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $HOME/.zsh/zsh-syntax-highlighting -fi -if ! grep -w 'zsh-syntax-highlighting.zsh' $HOME/.zshrc 2>/dev/null; then - echo 'source $HOME/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh' >>$HOME/.zshrc -fi -if ! grep -q '^bindkey .* autosuggest-accept' $HOME/.zshrc; then - echo "bindkey '^ ' autosuggest-accept\n" >>$HOME/.zshrc -fi - -# *aliases -# add common zsh aliases -grep -qw 'd/aliases.sh' $HOME/.zshrc 2>/dev/null || cat <>$HOME/.zshrc -# common aliases -if [ -f "$PROFILE_PATH/aliases.sh" ]; then - source "$PROFILE_PATH/aliases.sh" -fi -EOF - -# add git aliases -if ! grep -qw 'd/aliases_git.sh' $HOME/.zshrc 2>/dev/null && type git &>/dev/null; then - cat <>$HOME/.zshrc -# git aliases -if [ -f "$PROFILE_PATH/aliases_git.sh" ] && type git &>/dev/null; then - source "$PROFILE_PATH/aliases_git.sh" -fi -EOF -fi - -# add kubectl autocompletion and aliases -if ! grep -qw 'kubectl' $HOME/.zshrc 2>/dev/null && type -f kubectl &>/dev/null; then - cat <>$HOME/.zshrc -# kubectl autocompletion and aliases -if type -f kubectl &>/dev/null; then - if [ -f "$PROFILE_PATH/aliases_kubectl.sh" ]; then - source "$PROFILE_PATH/aliases_kubectl.sh" - fi -fi -EOF -fi - -# *add conda initialization -if ! grep -qw '__conda_setup' $HOME/.zshrc 2>/dev/null && [ -f $HOME/miniforge3/bin/conda ]; then - $HOME/miniforge3/bin/conda init zsh >/dev/null -fi - -# *set up uv -COMPLETION_CMD='uv generate-shell-completion zsh' -UV_PATH=".local/bin" -if ! grep -qw "$COMPLETION_CMD" $HOME/.zshrc 2>/dev/null && [ -x "$HOME/$UV_PATH/uv" ]; then - cat <>$HOME/.zshrc - -# initialize uv autocompletion -if [ -x "$HOME/$UV_PATH/uv" ]; then - export UV_NATIVE_TLS=true - eval "\$(\$HOME/$UV_PATH/$COMPLETION_CMD)" -fi -EOF -fi - -# *set up pixi -COMPLETION_CMD='pixi completion --shell zsh' -PIXI_PATH=".pixi/bin" -if ! grep -qw "$COMPLETION_CMD" $HOME/.zshrc 2>/dev/null && [ -x "$HOME/$PIXI_PATH/pixi" ]; then - cat <>$HOME/.zshrc - -# initialize pixi autocompletion -if [ -x "\$HOME/$PIXI_PATH/pixi" ]; then - autoload -Uz compinit && compinit - eval "\$(\$HOME/$PIXI_PATH/$COMPLETION_CMD)" -fi -EOF -fi - -# *add oh-my-posh invocation -if ! grep -qw 'oh-my-posh' $HOME/.zshrc 2>/dev/null && type oh-my-posh &>/dev/null; then - cat <>$HOME/.zshrc -# initialize oh-my-posh prompt -if [ -f "$OMP_PATH/theme.omp.json" ] && type oh-my-posh &>/dev/null; then - eval "\$(oh-my-posh init zsh --config "$OMP_PATH/theme.omp.json")" -fi -EOF -elif grep -qw 'oh-my-posh --init' $HOME/.zshrc 2>/dev/null; then - # convert oh-my-posh initialization to the new API - sed -i 's/oh-my-posh --init --shell zsh/oh-my-posh init zsh/' $HOME/.zshrc -fi diff --git a/.assets/scripts/linux_setup.sh b/.assets/scripts/linux_setup.sh index e922c46d..5b1c3e47 100755 --- a/.assets/scripts/linux_setup.sh +++ b/.assets/scripts/linux_setup.sh @@ -232,7 +232,7 @@ for sc in "${scope_arr[@]}"; do printf "\e[96minstalling zsh...\e[0m\n" sudo .assets/provision/install_zsh.sh printf "\e[96msetting up zsh profile for current user...\e[0m\n" - .assets/provision/setup_profile_user_zsh.zsh + .assets/provision/setup_profile_user.zsh ;; esac done diff --git a/wsl/wsl_setup.ps1 b/wsl/wsl_setup.ps1 index 139a2f18..8cf1d8cc 100644 --- a/wsl/wsl_setup.ps1 +++ b/wsl/wsl_setup.ps1 @@ -665,7 +665,7 @@ process { wsl.exe --distribution $Distro --user root --exec .assets/provision/install_zsh.sh # setup profiles Show-LogContext 'setting up zsh profile for current user' - wsl.exe --distribution $Distro --exec .assets/provision/setup_profile_user_zsh.zsh + wsl.exe --distribution $Distro --exec .assets/provision/setup_profile_user.zsh continue } } From 46838f7c2f2b93cc85dc83c1476ffc3fd2611e32 Mon Sep 17 00:00:00 2001 From: Szymon Osiecki Date: Sun, 22 Feb 2026 17:39:06 +0100 Subject: [PATCH 4/5] refactor .markdownlint.yml --- .markdownlint.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.markdownlint.yml b/.markdownlint.yml index 0541d71c..8e60f5bf 100644 --- a/.markdownlint.yml +++ b/.markdownlint.yml @@ -1,6 +1,8 @@ --- # Base Markdownlint configuration default: true -# ignore line length rule -MD013: false -MD024: false +# Ignore rules +MD013: false # Line Length +MD024: # Multiple headings with the same content + siblings_only: true +MD046: false # Code block style From cbffe64023b4d852b6a3312981b0f73f334adc85 Mon Sep 17 00:00:00 2001 From: Szymon Osiecki Date: Sun, 22 Feb 2026 17:39:39 +0100 Subject: [PATCH 5/5] chore: bump dependencies --- .github/workflows/build_docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_docker.yml b/.github/workflows/build_docker.yml index c4d2367c..4a79652d 100644 --- a/.github/workflows/build_docker.yml +++ b/.github/workflows/build_docker.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the repo - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: path: linux-setup-scripts