Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

atuin: 18.3.0 -> 18.4.0 #369322

Merged
merged 2 commits into from
Dec 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion nixos/tests/all-tests.nix
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ in {
atd = handleTest ./atd.nix {};
atop = handleTest ./atop.nix {};
atticd = runTest ./atticd.nix;
atuin = handleTest ./atuin.nix {};
atuin = runTest ./atuin.nix;
audiobookshelf = handleTest ./audiobookshelf.nix {};
auth-mysql = handleTest ./auth-mysql.nix {};
authelia = handleTest ./authelia.nix {};
Expand Down
79 changes: 44 additions & 35 deletions nixos/tests/atuin.nix
Original file line number Diff line number Diff line change
@@ -1,36 +1,46 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{ lib, ... }:

let
testPort = 8888;
testUser = "testerman";
testPass = "password";
testEmail = "[email protected]";
in
{
name = "atuin";
meta.maintainers = with lib.maintainers; [ devusb ];
let
testPort = 8888;
testUser = "testerman";
testPass = "password";
testEmail = "[email protected]";
in
{
name = "atuin";
meta.maintainers = with lib.maintainers; [ devusb ];

nodes = {
server =
{ ... }:
{
services.postgresql.enable = true;
defaults =
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.atuin
];
};

nodes = {
server =
{ ... }:
{
services.postgresql.enable = true;

services.atuin = {
enable = true;
port = testPort;
host = "0.0.0.0";
openFirewall = true;
openRegistration = true;
};
services.atuin = {
enable = true;
port = testPort;
host = "0.0.0.0";
openFirewall = true;
openRegistration = true;
};
};

client = { ... }: { };
client = { ... }: { };

};
};

testScript = with pkgs; ''
testScript =
{ nodes, ... }:
#python
''
start_all()

# wait for atuin server startup
Expand All @@ -42,25 +52,24 @@ import ./make-test-python.nix (
server.execute("echo 'sync_address = \"http://localhost:${toString testPort}\"' > ~/.config/atuin/config.toml")

# register with atuin server on server node
server.succeed("${atuin}/bin/atuin register -u ${testUser} -p ${testPass} -e ${testEmail}")
_, key = server.execute("${atuin}/bin/atuin key")
server.succeed("atuin register -u ${testUser} -p ${testPass} -e ${testEmail}")
_, key = server.execute("atuin key")

# store test record in atuin server and sync
server.succeed("ATUIN_SESSION=$(${atuin}/bin/atuin uuid) ${atuin}/bin/atuin history start 'shazbot'")
server.succeed("${atuin}/bin/atuin sync")
server.succeed("ATUIN_SESSION=$(atuin uuid) atuin history start 'shazbot'")
server.succeed("ATUIN_SESSION=$(atuin uuid) atuin sync")

# configure atuin client on client node
client.execute("mkdir -p ~/.config/atuin")
client.execute("echo 'sync_address = \"http://server:${toString testPort}\"' > ~/.config/atuin/config.toml")

# log in to atuin server on client node
client.succeed(f"${atuin}/bin/atuin login -u ${testUser} -p ${testPass} -k \"{key}\"")
client.succeed(f"atuin login -u ${testUser} -p ${testPass} -k \"{key}\"")

# pull records from atuin server
client.succeed("${atuin}/bin/atuin sync -f")
client.succeed("atuin sync -f")

# check for test record
client.succeed("ATUIN_SESSION=$(${atuin}/bin/atuin uuid) ${atuin}/bin/atuin history list | grep shazbot")
client.succeed("ATUIN_SESSION=$(atuin uuid) atuin history list | grep shazbot")
'';
}
)
}
14 changes: 4 additions & 10 deletions pkgs/by-name/at/atuin/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,27 @@
fetchFromGitHub,
installShellFiles,
rustPlatform,
buildPackages,
apple-sdk_11,
nixosTests,
}:

rustPlatform.buildRustPackage rec {
pname = "atuin";
version = "18.3.0";
version = "18.4.0";

src = fetchFromGitHub {
owner = "atuinsh";
repo = "atuin";
rev = "v${version}";
hash = "sha256-Q3UI1IUD5Jz2O4xj3mFM7DqY3lTy3WhWYPa8QjJHTKE=";
hash = "sha256-P/q4XYhpXo9kwiltA0F+rQNSlqI+s8TSi5v5lFJWJ/4=";
};

# TODO: unify this to one hash because updater do not support this
cargoHash =
if stdenv.hostPlatform.isLinux then
"sha256-K4Vw/d0ZOROWujWr76I3QvfKefLhXLeFufUrgStAyjQ="
"sha256-JDm7HWMaLSodpOhrR7rm6ZS/ATX/q8fRK+OJ/EKqg3U="
else
"sha256-8NAfE7cGFT64ntNXK9RT0D/MbDJweN7vvsG/KlrY4K4=";
"sha256-mrsqaqJHMyNi3yFDIyAXFBS+LY71VWXE8O7mjvgI6lo=";

# atuin's default features include 'check-updates', which do not make sense
# for distribution builds. List all other default features.
Expand All @@ -44,11 +43,6 @@ rustPlatform.buildRustPackage rec {
apple-sdk_11
];

preBuild = ''
export PROTOC=${buildPackages.protobuf}/bin/protoc
export PROTOC_INCLUDE="${buildPackages.protobuf}/include";
'';

postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd atuin \
--bash <($out/bin/atuin gen-completions -s bash) \
Expand Down
Loading