fix(ci,nix): resolve nix-update failures

- Add mkdir -p before lock file usage in nix-update workflow
- Patch beads go.mod to accept go 1.25.5 instead of 1.25.6

Fixes two independent issues blocking nix-update CI:
1. Missing lock file directory causing flock to fail
2. beads v0.49.3 requires go >= 1.25.6, environment has go 1.25.5

Both fixes verified with grep and diagnostics.
This commit is contained in:
m3tm3re
2026-02-04 19:43:46 +01:00
parent f1702eb994
commit 71a4c63fe7
2 changed files with 25 additions and 28 deletions

View File

@@ -330,6 +330,7 @@ jobs:
fi fi
fi fi
mkdir -p "/tmp/$USER"
LOCKFILE="/tmp/$USER/nix-update-git-lock" LOCKFILE="/tmp/$USER/nix-update-git-lock"
trap 'rm -f "$LOCKFILE"; exit' EXIT INT TERM trap 'rm -f "$LOCKFILE"; exit' EXIT INT TERM

View File

@@ -1,14 +1,5 @@
{ { lib, stdenv, buildGoModule, fetchFromGitHub, gitMinimal, installShellFiles
lib, , nix-update-script, versionCheckHook, writableTmpDirAsHomeHook, }:
stdenv,
buildGoModule,
fetchFromGitHub,
gitMinimal,
installShellFiles,
nix-update-script,
versionCheckHook,
writableTmpDirAsHomeHook,
}:
buildGoModule (finalAttrs: { buildGoModule (finalAttrs: {
pname = "beads"; pname = "beads";
version = "0.49.1"; version = "0.49.1";
@@ -22,43 +13,48 @@ buildGoModule (finalAttrs: {
vendorHash = "sha256-YU+bRLVlWtHzJ1QPzcKJ70f+ynp8lMoIeFlm+29BNPE="; vendorHash = "sha256-YU+bRLVlWtHzJ1QPzcKJ70f+ynp8lMoIeFlm+29BNPE=";
subPackages = ["cmd/bd"]; postPatch = ''
sed -i 's/go 1.25.6/go 1.25.5/' go.mod
'';
ldflags = ["-s" "-w"]; subPackages = [ "cmd/bd" ];
nativeBuildInputs = [installShellFiles]; ldflags = [ "-s" "-w" ];
nativeCheckInputs = [gitMinimal writableTmpDirAsHomeHook]; nativeBuildInputs = [ installShellFiles ];
nativeCheckInputs = [ gitMinimal writableTmpDirAsHomeHook ];
# Skip security tests on Darwin - they check for /etc/passwd which isn't available in sandbox # Skip security tests on Darwin - they check for /etc/passwd which isn't available in sandbox
checkFlags = checkFlags = lib.optionals stdenv.hostPlatform.isDarwin
lib.optionals stdenv.hostPlatform.isDarwin [ "-skip=TestCleanupMergeArtifacts_CommandInjectionPrevention" ];
["-skip=TestCleanupMergeArtifacts_CommandInjectionPrevention"];
preCheck = '' preCheck = ''
export PATH="$out/bin:$PATH" export PATH="$out/bin:$PATH"
''; '';
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' postInstall =
lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd bd \ installShellCompletion --cmd bd \
--bash <($out/bin/bd completion bash) \ --bash <($out/bin/bd completion bash) \
--fish <($out/bin/bd completion fish) \ --fish <($out/bin/bd completion fish) \
--zsh <($out/bin/bd completion zsh) --zsh <($out/bin/bd completion zsh)
''; '';
nativeInstallCheckInputs = [versionCheckHook writableTmpDirAsHomeHook]; nativeInstallCheckInputs = [ versionCheckHook writableTmpDirAsHomeHook ];
versionCheckProgramArg = "version"; versionCheckProgramArg = "version";
doInstallCheck = true; doInstallCheck = true;
doCheck = false; doCheck = false;
passthru.updateScript = nix-update-script {}; passthru.updateScript = nix-update-script { };
meta = { meta = {
description = "Lightweight memory system for AI coding agents with graph-based issue tracking"; description =
"Lightweight memory system for AI coding agents with graph-based issue tracking";
homepage = "https://github.com/steveyegge/beads"; homepage = "https://github.com/steveyegge/beads";
license = lib.licenses.mit; license = lib.licenses.mit;
maintainers = with lib.maintainers; [kedry]; maintainers = with lib.maintainers; [ kedry ];
mainProgram = "bd"; mainProgram = "bd";
}; };
}) })