these 5 derivations will be built: /nix/store/1pxdb1jxq8il2kd6fxiaa9swavqaikhj-clan-core-flake.drv /nix/store/p5xvf9yhjbvakididfapnypagnsxmgdg-clan-runtime.drv /nix/store/b8cc4kpwfr0qnamgrr70nks3fyi9ps1i-closure-info.drv /nix/store/h4r4nlr1sbrvka9nrfy52vl1i6nfyc93-clan-cli-source.drv /nix/store/p31xjsfj6130a458zhmi0sr2w3argjfv-clan-pytest-with-core.drv building '/nix/store/1pxdb1jxq8il2kd6fxiaa9swavqaikhj-clan-core-flake.drv' on 'ssh-ng://builder@build-x86-01.clan.lol' building '/nix/store/p5xvf9yhjbvakididfapnypagnsxmgdg-clan-runtime.drv' on 'ssh-ng://builder@build-x86-01.clan.lol' building '/nix/store/p5xvf9yhjbvakididfapnypagnsxmgdg-clan-runtime.drv' building '/nix/store/1pxdb1jxq8il2kd6fxiaa9swavqaikhj-clan-core-flake.drv' clan-runtime> warning: you don't have Internet access; disabling some network-dependent features clan-core-flake> warning: you don't have Internet access; disabling some network-dependent features clan-core-flake> warning: you don't have Internet access; disabling some network-dependent features clan-core-flake> clan-runtime> warning: creating lock file "/nix/store/v44wj9xdxzn9cp2w9j1y6n1hxswamkwf-clan-runtime/flake.lock": clan-runtime> • Added input 'disko': clan-runtime> 'path:/nix/store/w2c23ykc12mswlg8hrrjzb5gv9gvkzwq-source?lastModified=1&narHash=sha256-RxWs5ND31KzTG7wvMM%2BPMfUjyNpmIEr999lqNARaM5o%3D' (1970-01-01) clan-runtime> • Added input 'disko/nixpkgs': clan-runtime> follows 'nixpkgs' clan-runtime> • Added input 'nix-select': clan-runtime> 'path:/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source?lastModified=1&narHash=sha256-yxcNOha7Cfv2nhVpz9ZXSNKk0R7wt4AiBklJ8D24rVg%3D' (1970-01-01) clan-runtime> • Added input 'nixpkgs': clan-runtime> 'path:/nix/store/grir922ynsi1acqkrxm6ijxfp5xnwdha-source?lastModified=0&narHash=sha256-NqaCaIITVSDaBYdcWcfCyEu1erL7paTPEQbISQp9xwQ%3D' (1970-01-01) clan-runtime> building '/nix/store/h4r4nlr1sbrvka9nrfy52vl1i6nfyc93-clan-cli-source.drv' on 'ssh-ng://builder@build-x86-01.clan.lol' building '/nix/store/b8cc4kpwfr0qnamgrr70nks3fyi9ps1i-closure-info.drv' closure-info> structuredAttrs is enabled building '/nix/store/h4r4nlr1sbrvka9nrfy52vl1i6nfyc93-clan-cli-source.drv' building '/nix/store/p31xjsfj6130a458zhmi0sr2w3argjfv-clan-pytest-with-core.drv' on 'ssh-ng://builder@build-x86-01.clan.lol' building '/nix/store/p31xjsfj6130a458zhmi0sr2w3argjfv-clan-pytest-with-core.drv' clan-pytest-with-core> +++ export HOME=/build clan-pytest-with-core> +++ HOME=/build clan-pytest-with-core> +++ export NIX_STATE_DIR=/build/nix clan-pytest-with-core> +++ NIX_STATE_DIR=/build/nix clan-pytest-with-core> +++ export NIX_CONF_DIR=/build/etc clan-pytest-with-core> +++ NIX_CONF_DIR=/build/etc clan-pytest-with-core> +++ mkdir -p /build/etc clan-pytest-with-core> +++ echo 'fsync-metadata = false' clan-pytest-with-core> +++ export IN_NIX_SANDBOX=1 clan-pytest-with-core> +++ IN_NIX_SANDBOX=1 clan-pytest-with-core> +++ export CLAN_TEST_STORE=/build/store clan-pytest-with-core> +++ CLAN_TEST_STORE=/build/store clan-pytest-with-core> +++ export LOCK_NIX=/build/nix_lock clan-pytest-with-core> +++ LOCK_NIX=/build/nix_lock clan-pytest-with-core> +++ export CLAN_TEST_FLAKE_CACHE=/build/clan-flake-cache clan-pytest-with-core> +++ CLAN_TEST_FLAKE_CACHE=/build/clan-flake-cache clan-pytest-with-core> +++ mkdir -p /build/store/nix/store /build/clan-flake-cache clan-pytest-with-core> +++ mkdir -p /build/store/nix/var/nix/gcroots clan-pytest-with-core> +++ [[ -n /nix/store/mzcj0c4n3h4p5m00b19sv980fqkyza58-closure-info ]] clan-pytest-with-core> ++++ nproc clan-pytest-with-core> +++ /nix/store/fcqbwp5hx5wh3lzf0457wmf0divknz7y-findutils-4.11.0/bin/xargs -r -P32 /nix/store/di26b1kkbammy0sj70nq5qzvfrh78wxl-coreutils-9.11/bin/cp --recursive --no-dereference --reflink=auto --target-directory /build/store/nix/store clan-pytest-with-core> +++ /nix/store/g1k5iczz0l8i8d7kk5bk8rwv139g3l02-nix-2.34.8/bin/nix-store --load-db --store /build/store clan-pytest-with-core> +++ export CLAN_CORE_PATH=/nix/store/p908cj98djl4yhbll1yi92pys82cnc1r-clan-core-flake clan-pytest-with-core> +++ CLAN_CORE_PATH=/nix/store/p908cj98djl4yhbll1yi92pys82cnc1r-clan-core-flake clan-pytest-with-core> +++ export PYTHONWARNINGS=error clan-pytest-with-core> +++ PYTHONWARNINGS=error clan-pytest-with-core> +++ export NIXPKGS=/nix/store/grir922ynsi1acqkrxm6ijxfp5xnwdha-source clan-pytest-with-core> +++ NIXPKGS=/nix/store/grir922ynsi1acqkrxm6ijxfp5xnwdha-source clan-pytest-with-core> +++ jobs=16 clan-pytest-with-core> +++ python -m pytest -m 'not impure and with_core ' -n 16 ./clan_cli ./clan_lib clan-pytest-with-core> Starting pytest session clan-pytest-with-core> Session config: <_pytest.config.Config object at 0x7fffe875f230> clan-pytest-with-core> ============================= test session starts ============================== clan-pytest-with-core> platform linux -- Python 3.14.6, pytest-9.1.1, pluggy-1.6.0 clan-pytest-with-core> rootdir: /build/src clan-pytest-with-core> configfile: pyproject.toml clan-pytest-with-core> plugins: timeout-2.4.0, subprocess-1.6.0, xdist-3.8.0 clan-pytest-with-core> 16 workers [233 items] clan-pytest-with-core> scheduling tests via LoadScheduling clan-pytest-with-core> clan-pytest-with-core> clan_lib/services/modules_test.py::test_get_service_readmes clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_legacy_with_empty_skeletons clan-pytest-with-core> clan_lib/persist/inventory_store_test.py::test_manipulate_list[lists.nix] clan-pytest-with-core> clan_lib/services/modules_test.py::test_delete_service_instance clan-pytest-with-core> clan_lib/machines/actions_test.py::test_list_machines_full clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_legacy clan-pytest-with-core> clan_lib/flash/test_list.py::test_flash_config clan-pytest-with-core> clan_lib/tests/test_inventory_checks.py::test_collect_inventory_checks_empty_when_passing clan-pytest-with-core> clan_lib/persist/write_rules_test.py::test_write_integration clan-pytest-with-core> clan_lib/flake/flake_cache_test.py::test_cache_gc clan-pytest-with-core> clan_lib/machines/actions_test.py::test_set_machine_no_op clan-pytest-with-core> clan_lib/tests/test_create.py::test_clan_create_api clan-pytest-with-core> clan_lib/flake/flake_cache_test.py::test_flake_caching clan-pytest-with-core> clan_lib/machines/actions_test.py::test_get_machine_writeability clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_multi_network_error clan-pytest-with-core> clan_lib/tests/test_inventory_checks.py::test_role_max_machines_passes_across_instances clan-pytest-with-core> [gw13] [ 0%] ERROR clan_lib/flash/test_list.py::test_flash_config clan-pytest-with-core> clan_lib/flash/test_list.py::test_list_keymaps clan-pytest-with-core> [gw15] [ 0%] PASSED clan_lib/flake/flake_cache_test.py::test_cache_gc clan-pytest-with-core> clan_lib/flake/flake_cache_test.py::test_get_nonexistent_after_maybe clan-pytest-with-core> [gw15] [ 1%] PASSED clan_lib/flake/flake_cache_test.py::test_get_nonexistent_after_maybe clan-pytest-with-core> clan_lib/docs_test.py::test_guides_url_pages_exist clan-pytest-with-core> [gw8] [ 1%] PASSED clan_lib/persist/write_rules_test.py::test_write_integration clan-pytest-with-core> clan_lib/persist/inventory_store_test.py::test_simple_read_write[1.nix] clan-pytest-with-core> [gw15] [ 2%] PASSED clan_lib/docs_test.py::test_guides_url_pages_exist clan-pytest-with-core> clan_lib/dirs/dirs_test.py::test_get_clan_directories_default clan-pytest-with-core> [gw13] [ 2%] PASSED clan_lib/flash/test_list.py::test_list_keymaps clan-pytest-with-core> clan_lib/flake/flake_test.py::test_conditional_all_selector clan-pytest-with-core> [gw15] [ 3%] PASSED clan_lib/dirs/dirs_test.py::test_get_clan_directories_default clan-pytest-with-core> clan_lib/dirs/dirs_test.py::test_get_clan_directories_invalid_flake clan-pytest-with-core> [gw15] [ 3%] PASSED clan_lib/dirs/dirs_test.py::test_get_clan_directories_invalid_flake clan-pytest-with-core> clan_lib/dirs/dirs_test.py::test_get_clan_directories_with_direct_directory_config clan-pytest-with-core> [gw13] [ 3%] PASSED clan_lib/flake/flake_test.py::test_conditional_all_selector clan-pytest-with-core> clan_lib/clan/test_create.py::test_can_handle_path_without_slash clan-pytest-with-core> [gw15] [ 4%] PASSED clan_lib/dirs/dirs_test.py::test_get_clan_directories_with_direct_directory_config clan-pytest-with-core> clan_lib/clan/test_create.py::test_create_simple clan-pytest-with-core> [gw9] [ 4%] PASSED clan_lib/persist/inventory_store_test.py::test_manipulate_list[lists.nix] clan-pytest-with-core> clan_lib/persist/inventory_store_test.py::test_static_list_items[lists.nix] clan-pytest-with-core> [gw14] [ 5%] PASSED clan_lib/flake/flake_cache_test.py::test_flake_caching clan-pytest-with-core> clan_lib/flake/flake_cache_test.py::test_cache_persistence clan-pytest-with-core> [gw13] [ 5%] PASSED clan_lib/clan/test_create.py::test_can_handle_path_without_slash clan-pytest-with-core> clan_lib/clan/test_create.py::test_create_with_name clan-pytest-with-core> [gw8] [ 6%] PASSED clan_lib/persist/inventory_store_test.py::test_simple_read_write[1.nix] clan-pytest-with-core> clan_lib/persist/inventory_store_test.py::test_simple_deferred[deferred.nix] clan-pytest-with-core> [gw9] [ 6%] PASSED clan_lib/persist/inventory_store_test.py::test_static_list_items[lists.nix] clan-pytest-with-core> clan_lib/machines/actions_test.py::test_list_nixos_machines clan-pytest-with-core> [gw9] [ 6%] PASSED clan_lib/machines/actions_test.py::test_list_nixos_machines clan-pytest-with-core> clan_lib/api/directory_test.py::test_get_relative_clan_directory_invalid_flake clan-pytest-with-core> [gw9] [ 7%] PASSED clan_lib/api/directory_test.py::test_get_relative_clan_directory_invalid_flake clan-pytest-with-core> clan_lib/api/directory_test.py::test_get_clan_dir_default clan-pytest-with-core> [gw9] [ 7%] PASSED clan_lib/api/directory_test.py::test_get_clan_dir_default clan-pytest-with-core> clan_lib/api/directory_test.py::test_get_clan_dir_custom clan-pytest-with-core> [gw9] [ 8%] PASSED clan_lib/api/directory_test.py::test_get_clan_dir_custom clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_vars_keygen_with_directory_setting clan-pytest-with-core> [gw13] [ 8%] PASSED clan_lib/clan/test_create.py::test_create_with_name clan-pytest-with-core> clan_lib/clan/test_create.py::test_create_substitutes_placeholders[default] clan-pytest-with-core> [gw9] [ 9%] PASSED clan_lib/api/directory_settings_test.py::test_vars_keygen_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_users_with_directory_setting clan-pytest-with-core> [gw13] [ 9%] PASSED clan_lib/clan/test_create.py::test_create_substitutes_placeholders[default] clan-pytest-with-core> clan_lib/clan/test_create.py::test_create_substitutes_placeholders[minimal] clan-pytest-with-core> [gw9] [ 9%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_users_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_users_list_with_directory_setting clan-pytest-with-core> [gw13] [ 10%] PASSED clan_lib/clan/test_create.py::test_create_substitutes_placeholders[minimal] clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_list_with_directory_setting clan-pytest-with-core> [gw14] [ 10%] PASSED clan_lib/flake/flake_cache_test.py::test_cache_persistence clan-pytest-with-core> clan_lib/flake/flake_cache_test.py::test_caching_works clan-pytest-with-core> [gw14] [ 11%] PASSED clan_lib/flake/flake_cache_test.py::test_caching_works clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_vars_generate_with_directory_setting clan-pytest-with-core> [gw9] [ 11%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_users_list_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_machines_with_directory_setting clan-pytest-with-core> [gw9] [ 12%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_machines_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_set_with_directory_setting clan-pytest-with-core> [gw13] [ 12%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_list_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_groups_with_directory_setting clan-pytest-with-core> [gw10] [ 12%] PASSED clan_lib/machines/actions_test.py::test_list_machines_full clan-pytest-with-core> clan_lib/machines/actions_test.py::test_list_inventory_machines clan-pytest-with-core> [gw8] [ 13%] PASSED clan_lib/persist/inventory_store_test.py::test_simple_deferred[deferred.nix] clan-pytest-with-core> clan_lib/clan/get_test.py::test_get_clan_details clan-pytest-with-core> [gw9] [ 13%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_set_with_directory_setting clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_multi_machine_shared_vars clan-pytest-with-core> [gw4] [ 14%] PASSED clan_lib/tests/test_inventory_checks.py::test_role_max_machines_passes_across_instances clan-pytest-with-core> clan_lib/tests/test_inventory_checks.py::test_role_min_machines_passes_across_instances clan-pytest-with-core> [gw2] [ 14%] PASSED clan_lib/tests/test_inventory_checks.py::test_collect_inventory_checks_empty_when_passing clan-pytest-with-core> clan_lib/tests/test_inventory_checks.py::test_collect_inventory_checks_reports_error clan-pytest-with-core> [gw1] [ 15%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_multi_network_error clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_mixed_state clan-pytest-with-core> [gw4] [ 15%] PASSED clan_lib/tests/test_inventory_checks.py::test_role_min_machines_passes_across_instances clan-pytest-with-core> clan_lib/tests/test_inventory_checks.py::test_role_min_machines_fails_in_one_of_two_instances clan-pytest-with-core> [gw6] [ 15%] PASSED clan_lib/services/modules_test.py::test_get_service_readmes clan-pytest-with-core> clan_lib/services/modules_test.py::test_list_service_modules clan-pytest-with-core> [gw11] [ 16%] PASSED clan_lib/machines/actions_test.py::test_set_machine_no_op clan-pytest-with-core> clan_lib/machines/actions_test.py::test_set_machine_fully_defined_in_nix clan-pytest-with-core> [gw8] [ 16%] PASSED clan_lib/clan/get_test.py::test_get_clan_details clan-pytest-with-core> clan_lib/clan/check_test.py::test_check_clan_valid clan-pytest-with-core> [gw10] [ 17%] PASSED clan_lib/machines/actions_test.py::test_list_inventory_machines clan-pytest-with-core> clan_lib/machines/actions_test.py::test_list_machines_instance_refs clan-pytest-with-core> [gw2] [ 17%] PASSED clan_lib/tests/test_inventory_checks.py::test_collect_inventory_checks_reports_error clan-pytest-with-core> clan_lib/tests/test_inventory_checks.py::test_collect_inventory_checks_role_max_machines clan-pytest-with-core> [gw13] [ 18%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_groups_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_remove_with_directory_setting clan-pytest-with-core> [gw4] [ 18%] PASSED clan_lib/tests/test_inventory_checks.py::test_role_min_machines_fails_in_one_of_two_instances clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_shared_generator_allows_machine_specific_differences clan-pytest-with-core> [gw3] [ 18%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_legacy_with_empty_skeletons clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_old_final_real clan-pytest-with-core> [gw2] [ 19%] PASSED clan_lib/tests/test_inventory_checks.py::test_collect_inventory_checks_role_max_machines clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_password_store_set_shared_var_for_multiple_machines clan-pytest-with-core> [gw1] [ 19%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_mixed_state clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_canonical_shared_only clan-pytest-with-core> [gw11] [ 20%] PASSED clan_lib/machines/actions_test.py::test_set_machine_fully_defined_in_nix clan-pytest-with-core> clan_lib/machines/actions_test.py::test_set_machine_manage_tags clan-pytest-with-core> [gw10] [ 20%] PASSED clan_lib/machines/actions_test.py::test_list_machines_instance_refs clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_sops_fix_skips_add_for_no_deploy_shared_secret clan-pytest-with-core> [gw8] [ 21%] PASSED clan_lib/clan/check_test.py::test_check_clan_valid clan-pytest-with-core> clan_lib/api/directory_test.py::test_get_relative_clan_directory_default clan-pytest-with-core> [gw6] [ 21%] PASSED clan_lib/services/modules_test.py::test_list_service_modules clan-pytest-with-core> clan_lib/services/modules_test.py::test_update_service_instance clan-pytest-with-core> [gw8] [ 21%] PASSED clan_lib/api/directory_test.py::test_get_relative_clan_directory_default clan-pytest-with-core> clan_lib/api/directory_test.py::test_get_relative_clan_directory_custom clan-pytest-with-core> [gw13] [ 22%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_remove_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_secrets_key_generate_with_directory_setting clan-pytest-with-core> [gw12] [ 22%] PASSED clan_lib/machines/actions_test.py::test_get_machine_writeability clan-pytest-with-core> clan_lib/machines/actions_test.py::test_machine_state clan-pytest-with-core> [gw8] [ 23%] PASSED clan_lib/api/directory_test.py::test_get_relative_clan_directory_custom clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_generate_secret_var_sops_with_default_group clan-pytest-with-core> [gw13] [ 23%] PASSED clan_lib/api/directory_settings_test.py::test_secrets_key_generate_with_directory_setting clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_generate_secret_for_multiple_machines clan-pytest-with-core> [gw15] [ 24%] PASSED clan_lib/clan/test_create.py::test_create_simple clan-pytest-with-core> clan_lib/clan/test_create.py::test_minimal_can_be_modified_by_api clan-pytest-with-core> [gw3] [ 24%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_old_final_real clan-pytest-with-core> clan_lib/tests/test_known_selectors.py::test_known_selectors_exist clan-pytest-with-core> [gw7] [ 24%] PASSED clan_lib/services/modules_test.py::test_delete_service_instance clan-pytest-with-core> clan_lib/services/modules_test.py::test_delete_static_service_instance clan-pytest-with-core> [gw12] [ 25%] PASSED clan_lib/machines/actions_test.py::test_machine_state clan-pytest-with-core> clan_lib/flash/test_list.py::test_language_list clan-pytest-with-core> [gw1] [ 25%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_canonical_shared_only clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_export_age_import_sops clan-pytest-with-core> [gw12] [ 26%] PASSED clan_lib/flash/test_list.py::test_language_list clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_sops_fix_skips_add_for_no_deploy_per_machine_secret clan-pytest-with-core> [gw15] [ 26%] PASSED clan_lib/clan/test_create.py::test_minimal_can_be_modified_by_api clan-pytest-with-core> clan_lib/clan/test_create.py::test_default_cant_be_modified_by_api clan-pytest-with-core> [gw7] [ 27%] PASSED clan_lib/services/modules_test.py::test_delete_static_service_instance clan-pytest-with-core> clan_lib/services/modules_test.py::test_inline_extra_modules clan-pytest-with-core> [gw11] [ 27%] PASSED clan_lib/machines/actions_test.py::test_set_machine_manage_tags clan-pytest-with-core> clan_cli/tests/test_vars_prompts.py::test_prompt_prefill_on_regeneration clan-pytest-with-core> [gw15] [ 27%] PASSED clan_lib/clan/test_create.py::test_default_cant_be_modified_by_api clan-pytest-with-core> clan_lib/clan/test_create.py::test_create_invalid_name clan-pytest-with-core> [gw15] [ 28%] PASSED clan_lib/clan/test_create.py::test_create_invalid_name clan-pytest-with-core> clan_lib/clan/get_test.py::test_get_clan_details_invalid_flake clan-pytest-with-core> [gw15] [ 28%] PASSED clan_lib/clan/get_test.py::test_get_clan_details_invalid_flake clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_non_existing_dependency_raises_error clan-pytest-with-core> [gw7] [ 29%] PASSED clan_lib/services/modules_test.py::test_inline_extra_modules clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_exports_without_generators_evaluates clan-pytest-with-core> [gw6] [ 29%] PASSED clan_lib/services/modules_test.py::test_update_service_instance clan-pytest-with-core> clan_cli/tests/test_vars_prompts.py::test_persisted_prompt_reused_not_reasked clan-pytest-with-core> [gw3] [ 30%] PASSED clan_lib/tests/test_known_selectors.py::test_known_selectors_exist clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_sops_fix_commits_all_changes clan-pytest-with-core> [gw14] [ 30%] PASSED clan_lib/api/directory_settings_test.py::test_vars_generate_with_directory_setting clan-pytest-with-core> clan_lib/api/directory_settings_test.py::test_vars_generate_age_with_directory_setting clan-pytest-with-core> [gw7] [ 30%] PASSED clan_cli/tests/test_vars_generate.py::test_exports_without_generators_evaluates clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_binary_secret_roundtrip clan-pytest-with-core> [gw0] [ 31%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_legacy clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_canonical clan-pytest-with-core> [gw0] [ 31%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_canonical clan-pytest-with-core> clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_idempotent clan-pytest-with-core> [gw4] [ 32%] PASSED clan_cli/tests/test_vars_shared.py::test_shared_generator_allows_machine_specific_differences clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_generate_removes_stale_machine_symlink_when_deploy_becomes_false clan-pytest-with-core> [gw15] [ 32%] PASSED clan_cli/tests/test_vars_errors.py::test_non_existing_dependency_raises_error clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_generator_script_missing_output_file clan-pytest-with-core> [gw7] [ 33%] PASSED clan_cli/tests/test_vars_generate.py::test_binary_secret_roundtrip clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_generator_script_fails_with_nonzero_exit clan-pytest-with-core> [gw2] [ 33%] PASSED clan_cli/tests/test_vars_shared.py::test_password_store_set_shared_var_for_multiple_machines clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_cross_machine_shared_dependency clan-pytest-with-core> [gw0] [ 33%] PASSED clan_lib/vars/migrations/test_migrate_zerotier.py::TestMigrateZerotier::test_idempotent clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_shared_vars_must_never_depend_on_machine_specific_vars clan-pytest-with-core> [gw10] [ 34%] PASSED clan_cli/tests/test_vars_shared.py::test_sops_fix_skips_add_for_no_deploy_shared_secret clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_sops_set_shared_var_for_multiple_machines clan-pytest-with-core> [gw13] [ 34%] PASSED clan_cli/tests/test_vars_generate.py::test_generate_secret_for_multiple_machines clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_stdout_of_generate clan-pytest-with-core> [gw12] [ 35%] PASSED clan_cli/tests/test_vars_generate.py::test_sops_fix_skips_add_for_no_deploy_per_machine_secret clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_flake_level_generators clan-pytest-with-core> [gw14] [ 35%] PASSED clan_lib/api/directory_settings_test.py::test_vars_generate_age_with_directory_setting clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_shared_vars_regeneration clan-pytest-with-core> [gw8] [ 36%] PASSED clan_cli/tests/test_vars_generate.py::test_generate_secret_var_sops_with_default_group clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_generate_shared_secret_sops clan-pytest-with-core> [gw9] [ 36%] PASSED clan_cli/tests/test_vars_shared.py::test_multi_machine_shared_vars clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_add_machine_to_existing_shared_secret clan-pytest-with-core> [gw3] [ 36%] PASSED clan_cli/tests/test_vars_generate.py::test_sops_fix_commits_all_changes clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_groups_add_secret_commits_changes clan-pytest-with-core> [gw15] [ 37%] PASSED clan_cli/tests/test_vars_errors.py::test_generator_script_missing_output_file clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_shared_generator_conflicting_definition_raises_error clan-pytest-with-core> [gw6] [ 37%] PASSED clan_cli/tests/test_vars_prompts.py::test_persisted_prompt_reused_not_reasked clan-pytest-with-core> clan_cli/tests/test_vars_generate_inventory_checks.py::test_vars_generate_blocked_by_check_errors clan-pytest-with-core> [gw7] [ 38%] PASSED clan_cli/tests/test_vars_errors.py::test_generator_script_fails_with_nonzero_exit clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_circular_dependency_raises_error clan-pytest-with-core> [gw6] [ 38%] PASSED clan_cli/tests/test_vars_generate_inventory_checks.py::test_vars_generate_blocked_by_check_errors clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_generate_public_and_secret_vars clan-pytest-with-core> [gw0] [ 39%] PASSED clan_cli/tests/test_vars_errors.py::test_shared_vars_must_never_depend_on_machine_specific_vars clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_fails_when_files_are_left_from_other_backend clan-pytest-with-core> [gw3] [ 39%] PASSED clan_cli/tests/test_vars_generate.py::test_groups_add_secret_commits_changes clan-pytest-with-core> clan_cli/tests/test_vars_cache.py::test_dynamic_invalidation clan-pytest-with-core> [gw7] [ 39%] PASSED clan_cli/tests/test_vars_errors.py::test_circular_dependency_raises_error clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_generate_secret_var_age clan-pytest-with-core> [gw15] [ 40%] PASSED clan_cli/tests/test_vars_errors.py::test_shared_generator_conflicting_definition_raises_error clan-pytest-with-core> clan_cli/tests/test_vars_errors.py::test_accessing_path_before_generate_shows_helpful_error clan-pytest-with-core> [gw4] [ 40%] PASSED clan_cli/tests/test_vars_shared.py::test_generate_removes_stale_machine_symlink_when_deploy_becomes_false clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_sops_fix_removes_machine_from_no_deploy_shared_secret clan-pytest-with-core> [gw12] [ 41%] PASSED clan_cli/tests/test_vars_generate.py::test_flake_level_generators clan-pytest-with-core> clan_cli/tests/test_vars_cache.py::test_invalidation clan-pytest-with-core> [gw2] [ 41%] PASSED clan_cli/tests/test_vars_shared.py::test_cross_machine_shared_dependency clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_export_sops_import_age clan-pytest-with-core> [gw10] [ 42%] PASSED clan_cli/tests/test_vars_shared.py::test_sops_set_shared_var_for_multiple_machines clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_age_set_shared_var_for_multiple_machines clan-pytest-with-core> [gw4] [ 42%] PASSED clan_cli/tests/test_vars_shared.py::test_sops_fix_removes_machine_from_no_deploy_shared_secret clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_set_and_get_per_machine clan-pytest-with-core> [gw4] [ 42%] PASSED clan_cli/tests/test_vars_age.py::test_age_set_and_get_per_machine clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_set_and_get_shared clan-pytest-with-core> [gw1] [ 43%] PASSED clan_cli/tests/test_vars_shared.py::test_export_age_import_sops clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_import_survives_generate clan-pytest-with-core> [gw4] [ 43%] PASSED clan_cli/tests/test_vars_age.py::test_age_set_and_get_shared clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_incremental_generate_shared_secret clan-pytest-with-core> [gw8] [ 44%] PASSED clan_cli/tests/test_vars_generate.py::test_generate_shared_secret_sops clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_generate_secret_var_password_store clan-pytest-with-core> [gw7] [ 44%] PASSED clan_cli/tests/test_vars_age.py::test_generate_secret_var_age clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_generate_secret_var_age_minimal_select_calls clan-pytest-with-core> [gw15] [ 45%] PASSED clan_cli/tests/test_vars_errors.py::test_accessing_path_before_generate_shows_helpful_error clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_ensure_machine_key clan-pytest-with-core> [gw15] [ 45%] PASSED clan_cli/tests/test_vars_age.py::test_age_ensure_machine_key clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_rekey_machine_key clan-pytest-with-core> [gw9] [ 45%] PASSED clan_cli/tests/test_vars_shared.py::test_add_machine_to_existing_shared_secret clan-pytest-with-core> clan_cli/tests/test_vars_shared.py::test_share_mode_switch_regenerates_secret clan-pytest-with-core> [gw15] [ 46%] PASSED clan_cli/tests/test_vars_age.py::test_age_rekey_machine_key clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_delete_cleanup clan-pytest-with-core> [gw15] [ 46%] PASSED clan_cli/tests/test_vars_age.py::test_age_delete_cleanup clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_sidecar_created_for_shared_secret clan-pytest-with-core> [gw15] [ 47%] PASSED clan_cli/tests/test_vars_age.py::test_age_sidecar_created_for_shared_secret clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_no_sidecar_for_per_machine_secret clan-pytest-with-core> [gw15] [ 47%] PASSED clan_cli/tests/test_vars_age.py::test_age_no_sidecar_for_per_machine_secret clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_deploy_false_per_machine_encrypted_to_user_keys clan-pytest-with-core> [gw15] [ 48%] PASSED clan_cli/tests/test_vars_age.py::test_age_deploy_false_per_machine_encrypted_to_user_keys clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_deploy_false_shared_encrypted_to_user_keys clan-pytest-with-core> [gw15] [ 48%] PASSED clan_cli/tests/test_vars_age.py::test_age_deploy_false_shared_encrypted_to_user_keys clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_deploy_true_per_machine_encrypted_to_machine_key clan-pytest-with-core> [gw15] [ 48%] PASSED clan_cli/tests/test_vars_age.py::test_age_deploy_true_per_machine_encrypted_to_machine_key clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_deploy_true_shared_encrypted_to_machine_keys clan-pytest-with-core> [gw13] [ 49%] PASSED clan_cli/tests/test_vars_generate.py::test_stdout_of_generate clan-pytest-with-core> clan_cli/tests/test_vars_generate.py::test_create_sops_age_secrets clan-pytest-with-core> [gw13] [ 49%] PASSED clan_cli/tests/test_vars_generate.py::test_create_sops_age_secrets clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_deploy_false_shared_rekeys_on_user_change clan-pytest-with-core> [gw15] [ 50%] PASSED clan_cli/tests/test_vars_age.py::test_age_deploy_true_shared_encrypted_to_machine_keys clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_deploy_false_per_machine_rekeys_on_user_change clan-pytest-with-core> [gw13] [ 50%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_deploy_false_shared_rekeys_on_user_change clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_transition_deploy_true_to_false_per_machine clan-pytest-with-core> [gw15] [ 51%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_deploy_false_per_machine_rekeys_on_user_change clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_transition_deploy_false_to_true_per_machine clan-pytest-with-core> [gw13] [ 51%] PASSED clan_cli/tests/test_vars_age.py::test_age_transition_deploy_true_to_false_per_machine clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_transition_deploy_true_to_false_shared clan-pytest-with-core> [gw5] [ 51%] PASSED clan_lib/tests/test_create.py::test_clan_create_api clan-pytest-with-core> clan_lib/tags/list_test.py::test_list_inventory_tags clan-pytest-with-core> [gw15] [ 52%] PASSED clan_cli/tests/test_vars_age.py::test_age_transition_deploy_false_to_true_per_machine clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_transition_deploy_false_to_true_shared clan-pytest-with-core> [gw3] [ 52%] PASSED clan_cli/tests/test_vars_cache.py::test_dynamic_invalidation clan-pytest-with-core> clan_cli/tests/test_vars_cache.py::test_get_generators_only_decrypts_requested_machines clan-pytest-with-core> [gw8] [ 53%] PASSED clan_cli/tests/test_vars_generate.py::test_generate_secret_var_password_store clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_error_get_no_machine_key clan-pytest-with-core> [gw13] [ 53%] PASSED clan_cli/tests/test_vars_age.py::test_age_transition_deploy_true_to_false_shared clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_get_works_for_deploy_false_per_machine clan-pytest-with-core> [gw10] [ 54%] PASSED clan_cli/tests/test_vars_shared.py::test_age_set_shared_var_for_multiple_machines clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_shared_reencrypt clan-pytest-with-core> [gw15] [ 54%] PASSED clan_cli/tests/test_vars_age.py::test_age_transition_deploy_false_to_true_shared clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_get_works_for_deploy_false_shared clan-pytest-with-core> [gw0] [ 54%] PASSED clan_cli/tests/test_vars_errors.py::test_fails_when_files_are_left_from_other_backend clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_get_identity_none_found clan-pytest-with-core> [gw13] [ 55%] PASSED clan_cli/tests/test_vars_age.py::test_age_get_works_for_deploy_false_per_machine clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_skips_when_recipients_unchanged clan-pytest-with-core> [gw11] [ 55%] PASSED clan_cli/tests/test_vars_prompts.py::test_prompt_prefill_on_regeneration clan-pytest-with-core> [gw0] [ 56%] PASSED clan_cli/tests/test_vars_age.py::test_age_get_identity_none_found clan-pytest-with-core> clan_cli/tests/test_vars_prompts.py::test_api_set_prompts clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_health_check clan-pytest-with-core> [gw15] [ 56%] PASSED clan_cli/tests/test_vars_age.py::test_age_get_works_for_deploy_false_shared clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_rekeys_machine_key_when_user_key_added clan-pytest-with-core> [gw14] [ 57%] PASSED clan_cli/tests/test_vars_shared.py::test_shared_vars_regeneration clan-pytest-with-core> clan_cli/tests/test_vars_cache.py::test_generate_secret_var_sops_minimal_select_calls clan-pytest-with-core> [gw5] [ 57%] PASSED clan_lib/tags/list_test.py::test_list_inventory_tags clan-pytest-with-core> clan_lib/services/modules_test.py::test_list_service_instances clan-pytest-with-core> [gw8] [ 57%] PASSED clan_cli/tests/test_vars_age.py::test_age_error_get_no_machine_key clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_sidecar_created_for_machine_key clan-pytest-with-core> [gw13] [ 58%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_skips_when_recipients_unchanged clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_rekeys_machine_key_when_user_key_removed clan-pytest-with-core> [gw10] [ 58%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_shared_reencrypt clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_reencrypts_when_recipients_changed clan-pytest-with-core> [gw7] [ 59%] PASSED clan_cli/tests/test_vars_age.py::test_generate_secret_var_age_minimal_select_calls clan-pytest-with-core> [gw0] [ 59%] PASSED clan_cli/tests/test_vars_age.py::test_age_health_check clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_error_missing_machine_pubkey clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_fix_noop_when_nothing_changed clan-pytest-with-core> [gw8] [ 60%] PASSED clan_cli/tests/test_vars_age.py::test_age_sidecar_created_for_machine_key clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_multiple_user_keys clan-pytest-with-core> [gw7] [ 60%] PASSED clan_cli/tests/test_vars_age.py::test_age_error_missing_machine_pubkey clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_secrets clan-pytest-with-core> [gw15] [ 60%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_rekeys_machine_key_when_user_key_added clan-pytest-with-core> clan_cli/tests/test_upload_single_file.py::test_upload_single_file clan-pytest-with-core> [gw0] [ 61%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_noop_when_nothing_changed clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_secrets_key_generate_gpg clan-pytest-with-core> [gw10] [ 61%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_reencrypts_when_recipients_changed clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_groups clan-pytest-with-core> [gw10] [ 62%] SKIPPED clan_cli/tests/test_secrets_cli.py::test_groups clan-pytest-with-core> clan_cli/tests/test_machines_cli.py::test_machine_create_with_custom_directory clan-pytest-with-core> [gw5] [ 62%] PASSED clan_lib/services/modules_test.py::test_list_service_instances clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_users [localhost] $ clan secrets key generate --flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:655::test_secrets clan-pytest-with-core> clan-pytest-with-core> age-keygen clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:382::generate_private_key clan-pytest-with-core> clan-pytest-with-core> Public key: age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:382::generate_private_key clan-pytest-with-core> clan-pytest-with-core> Generated age private key at '/build/pytest-vjhpv7kt/test_flake_with_core/../age.key' for your user. clan-pytest-with-core> Please back it up on a secure location or you will lose access to your secrets. clan-pytest-with-core> Generated new AGE key age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> Add your age public key to the repository with: clan-pytest-with-core> clan secrets users add --age-key age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> [localhost] $ clan secrets set --flake /build/pytest-s5e1vz2a/test_flake_with_core bob_secret_XJddPLYOPd clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:252::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-s5e1vz2a/test_flake_with_core clan-pytest-with-core> [localhost] $ clan secrets users add --flake /build/pytest-vjhpv7kt/test_flake_with_core testuser age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:667::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/89b4bf0f3eb816ffbeb2a7534f4ee72e6a3a46dd clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/testuser to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user testuser' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/users/testuser to git clan-pytest-with-core> [localhost] $ clan secrets get --flake /build/pytest-vjhpv7kt/test_flake_with_core nonexisting clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:680::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> [localhost] $ clan secrets users add --flake /build/pytest-lsi79od4/test_flake_with_core --pgp-key 9A9B2741C8062D3D3DF1302D8B049E262A5CA255 testuser clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:1036::test_secrets_key_generate_gpg clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-lsi79od4/test_flake_with_core clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in the environment (SOPS_AGE_KEY): age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpudrtuhrm \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmpu5x6yenn clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/89b4bf0f3eb816ffbeb2a7534f4ee72e6a3a46dd clan-pytest-with-core> (cached) $ clan select clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-lsi79od4/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-lsi79od4/test_flake_with_core/sops/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/testuser to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-lsi79od4/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-lsi79od4/test_flake_with_core/sops/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-lsi79od4/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user testuser' \ clan-pytest-with-core> --no-verify /build/pytest-lsi79od4/test_flake_with_core/sops/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/users/bob clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/users/testuser to git clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_XJddPLYOPd/users/bob to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_XJddPLYOPd/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/users/bob \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update bob_secret_XJddPLYOPd' \ clan-pytest-with-core> --no-verify /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/users/bob \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/bob_secret_XJddPLYOPd/users/bob, sops/secrets/bob_secret_XJddPLYOPd/secret clan-pytest-with-core> [localhost] $ clan secrets set --flake /build/pytest-vjhpv7kt/test_flake_with_core initialkey clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:690::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/57822e6ede43562755e74181eb2e3c7746d24d35 clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in /build/pytest-vjhpv7kt/test_flake_with_core/../age.key: age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpig6443yu \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmp9dqsfj6v clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets set --flake /build/pytest-lsi79od4/test_flake_with_core secret-name clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:1070::test_secrets_key_generate_gpg clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-lsi79od4/test_flake_with_core clan-pytest-with-core> [localhost] $ clan secrets set --flake /build/pytest-s5e1vz2a/test_flake_with_core bob_secret_bcndoaFogH clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:252::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-s5e1vz2a/test_flake_with_core clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/initialkey/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/initialkey/users/testuser to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/initialkey/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/initialkey/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/initialkey/users/testuser \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/initialkey/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update initialkey' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/initialkey/users/testuser \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/initialkey/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw15] [ 63%] PASSED clan_cli/tests/test_upload_single_file.py::test_upload_single_file Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/initialkey/users/testuser, sops/secrets/initialkey/secret clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_secrets_key_generate_reports_registered_user echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> clan-pytest-with-core> [gw13] [ 63%] PASSED clan_cli/tests/test_vars_age.py::test_age_fix_rekeys_machine_key_when_user_key_removed Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in the environment (SOPS_AGE_KEY): age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpn6rx8w4z \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmpkk3g5z7w clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/ea641bb593632d6b44abc60b0b7834f6c4635f01 clan-pytest-with-core> (cached) $ clan select clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_machines Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/users/bob clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_bcndoaFogH/users/bob to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_bcndoaFogH/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/users/bob \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update bob_secret_bcndoaFogH' \ clan-pytest-with-core> --no-verify /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/users/bob \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/bob_secret_bcndoaFogH/users/bob, sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/ea641bb593632d6b44abc60b0b7834f6c4635f01 clan-pytest-with-core> Found PGP public key in the environment (SOPS_PGP_FP): 9A9B2741C8062D3D3DF1302D8B049E262A5CA255 clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpi56xtuyg \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmppy9scnd7 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-lsi79od4/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-lsi79od4/test_flake_with_core/sops/secrets/secret-name/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/secret-name/users/testuser to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-lsi79od4/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-lsi79od4/test_flake_with_core/sops/secrets/secret-name/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/secret-name/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-lsi79od4/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-lsi79od4/test_flake_with_core/sops/secrets/secret-name/users/testuser \ clan-pytest-with-core> /build/pytest-lsi79od4/test_flake_with_core/sops/secrets/secret-name/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets set --edit --flake /build/pytest-vjhpv7kt/test_flake_with_core initialkey clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:703::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-lsi79od4/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update secret-name' \ clan-pytest-with-core> --no-verify /build/pytest-lsi79od4/test_flake_with_core/sops/secrets/secret-name/users/testuser \ clan-pytest-with-core> /build/pytest-lsi79od4/test_flake_with_core/sops/secrets/secret-name/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/secret-name/users/testuser, sops/secrets/secret-name/secret clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets users remove-key --flake /build/pytest-s5e1vz2a/test_flake_with_core bob age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:296::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-s5e1vz2a/test_flake_with_core clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in /build/pytest-vjhpv7kt/test_flake_with_core/../age.key: age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> File has not changed, exiting. clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/initialkey/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpiw3xqrqc \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/initialkey/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/initialkey/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets rename --flake /build/pytest-vjhpv7kt/test_flake_with_core initialkey key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:715::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> 2026/08/03 15:05:01 Syncing keys for file /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> --- age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/03 15:05:01 File /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpa3_q85s4 \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/initialkey clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/initialkey to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/initialkey \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> --- age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/03 15:05:01 Syncing keys for file /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> 2026/08/03 15:05:01 File /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret synced with new keys clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: rename initialkey to key' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/initialkey \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/bob clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/initialkey, sops/secrets/key clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/bob to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_XJddPLYOPd/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_bcndoaFogH/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/bob \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove key(s) for user bob' \ clan-pytest-with-core> --no-verify /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/bob \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 3 files to git: sops/users/bob, sops/secrets/bob_secret_XJddPLYOPd/secret, sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> [localhost] $ clan secrets users add-key --flake /build/pytest-s5e1vz2a/test_flake_with_core bob age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:316::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-s5e1vz2a/test_flake_with_core clan-pytest-with-core> clan-pytest-with-core> [gw15] [ 63%] PASSED clan_cli/tests/test_secrets_cli.py::test_secrets_key_generate_reports_registered_user clan-pytest-with-core> clan_cli/tests/test_machines_cli.py::test_machines_update_typo_in_machine_name warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp9g5e7p4g \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/03 15:05:01 Syncing keys for file /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> +++ age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/03 15:05:01 File /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp0n9arhbq \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> +++ age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/03 15:05:01 Syncing keys for file /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> 2026/08/03 15:05:01 File /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/bob clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/bob to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw0] [ 64%] PASSED clan_cli/tests/test_secrets_cli.py::test_secrets_key_generate_gpg Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_XJddPLYOPd/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_machines_cli.py::test_machine_subcommands Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/bob_secret_bcndoaFogH/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/bob \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add key(s) for user bob' \ clan-pytest-with-core> --no-verify /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/bob \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_XJddPLYOPd/secret \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets machines add --flake /build/pytest-vjhpv7kt/test_flake_with_core machine1 age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:748::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 3 files to git: sops/users/bob, sops/secrets/bob_secret_XJddPLYOPd/secret, sops/secrets/bob_secret_bcndoaFogH/secret clan-pytest-with-core> [localhost] $ clan secrets users add --flake /build/pytest-s5e1vz2a/test_flake_with_core alice --age-key=age1dhuh9xtefhgpr2sjjf7gmp9q2pr37z92rv4wsadxuqdx48989g7qj552qp clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:209::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-s5e1vz2a/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/machines/machine1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/machines/machine1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/machines/machine1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add machine machine1' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/machines/machine1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/machines/machine1 to git clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> [localhost] $ clan secrets machines add-secret --flake /build/pytest-vjhpv7kt/test_flake_with_core machine1 key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:759::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> clan-pytest-with-core> [gw15] [ 64%] PASSED clan_cli/tests/test_machines_cli.py::test_machines_update_typo_in_machine_name clan-pytest-with-core> [gw10] [ 65%] PASSED clan_cli/tests/test_machines_cli.py::test_machine_create_with_custom_directory clan-pytest-with-core> clan_cli/tests/test_machines_cli.py::test_machines_update_with_tags git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/alice clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_inventory_serde.py::test_inventory_deserialize_variants[test_flake_with_core0] Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/alice to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/alice clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user alice' \ clan-pytest-with-core> --no-verify /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/alice clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/users/alice to git clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp833qgbyt \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/03 15:05:02 Syncing keys for file /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> +++ age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/03 15:05:02 File /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/machines/machine1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/machines/machine1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/machines/machine1 \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'vars: add machine1 to secret sops/secrets/key' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/machines/machine1 \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/key/machines/machine1, sops/secrets/key/secret clan-pytest-with-core> clan-pytest-with-core> [gw4] [ 65%] PASSED clan_cli/tests/test_vars_age.py::test_age_incremental_generate_shared_secret [localhost] $ clan secrets set --flake /build/pytest-s5e1vz2a/test_flake_with_core alice_secret_KjwkZFOXQx clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:252::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-s5e1vz2a/test_flake_with_core clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_error_get_nonexistent clan-pytest-with-core> [gw10] [ 66%] PASSED clan_cli/tests/test_machines_cli.py::test_machines_update_with_tags clan-pytest-with-core> clan_cli/tests/test_install_secret_path.py::test_sops_install_secret_path[default] warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in the environment (SOPS_AGE_KEY): age1dhuh9xtefhgpr2sjjf7gmp9q2pr37z92rv4wsadxuqdx48989g7qj552qp clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpx171qxrj \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmpsi7l3tm7 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/alice_secret_KjwkZFOXQx/users/alice clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/alice_secret_KjwkZFOXQx/users/alice to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/alice_secret_KjwkZFOXQx/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/alice_secret_KjwkZFOXQx/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/alice_secret_KjwkZFOXQx/users/alice \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/alice_secret_KjwkZFOXQx/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets users remove --flake /build/pytest-fjqk0h0q/test_flake_with_core foo clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:142::_test_identities clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update alice_secret_KjwkZFOXQx' \ clan-pytest-with-core> --no-verify /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/alice_secret_KjwkZFOXQx/users/alice \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/alice_secret_KjwkZFOXQx/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-fjqk0h0q/test_flake_with_core clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/alice_secret_KjwkZFOXQx/users/alice, sops/secrets/alice_secret_KjwkZFOXQx/secret clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/3c2adcdb5267251b0f014d93f44e510127229359 clan-pytest-with-core> (cached) $ clan select clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets machines add --flake /build/pytest-vjhpv7kt/test_flake_with_core -f machine1 AGE-SECRET-KEY-1KF8E3SR3TTGL6M476SKF7EEMR4H9NF7ZWYSLJUAK8JX276JC7KUSSURKFK clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:784::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> clan-pytest-with-core> [gw4] [ 66%] PASSED clan_cli/tests/test_vars_age.py::test_age_error_get_nonexistent clan-pytest-with-core> clan_cli/tests/test_install_secret_path.py::test_password_store_upload_directory[default] clan-pytest-with-core> [gw15] [ 66%] PASSED clan_cli/tests/test_inventory_serde.py::test_inventory_deserialize_variants[test_flake_with_core0] warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_install_secret_path.py::test_sops_install_secret_path[custom] sops \ clan-pytest-with-core> --config /build/tmp5pn6b717 \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets users add --flake /build/pytest-s5e1vz2a/test_flake_with_core charlie --age-key=age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y --age-key=age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv --age-key=age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:209::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-s5e1vz2a/test_flake_with_core clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/3c2adcdb5267251b0f014d93f44e510127229359 clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpk3chxeq2 \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-fjqk0h0q/test_flake_with_core/sops/secrets/user_secret/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/03 15:05:02 Syncing keys for file /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> +++ age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> --- age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/03 15:05:02 File /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/machines/machine1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/machines/machine1 to git clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1dhuh9xtefhgpr2sjjf7gmp9q2pr37z92rv4wsadxuqdx48989g7qj552qp clan-pytest-with-core> --- age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/03 15:05:02 Syncing keys for file /build/pytest-fjqk0h0q/test_flake_with_core/sops/secrets/user_secret/secret clan-pytest-with-core> 2026/08/03 15:05:02 File /build/pytest-fjqk0h0q/test_flake_with_core/sops/secrets/user_secret/secret synced with new keys clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-fjqk0h0q/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-fjqk0h0q/test_flake_with_core/sops/users/foo clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/machines/machine1 \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/charlie to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add machine machine1' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/machines/machine1 \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/foo to git clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user charlie' \ clan-pytest-with-core> --no-verify /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-fjqk0h0q/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-fjqk0h0q/test_flake_with_core/sops/secrets/user_secret/users/foo clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/machines/machine1, sops/secrets/key/secret clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/user_secret/users/foo to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-fjqk0h0q/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-fjqk0h0q/test_flake_with_core/sops/secrets/user_secret/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/users/charlie to git clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/user_secret/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-fjqk0h0q/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-fjqk0h0q/test_flake_with_core/sops/users/foo \ clan-pytest-with-core> /build/pytest-fjqk0h0q/test_flake_with_core/sops/secrets/user_secret/users/foo \ clan-pytest-with-core> /build/pytest-fjqk0h0q/test_flake_with_core/sops/secrets/user_secret/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-fjqk0h0q/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove user foo' \ clan-pytest-with-core> --no-verify /build/pytest-fjqk0h0q/test_flake_with_core/sops/users/foo \ clan-pytest-with-core> /build/pytest-fjqk0h0q/test_flake_with_core/sops/secrets/user_secret/users/foo \ clan-pytest-with-core> /build/pytest-fjqk0h0q/test_flake_with_core/sops/secrets/user_secret/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 3 files to git: sops/users/foo, sops/secrets/user_secret/users/foo, sops/secrets/user_secret/secret clan-pytest-with-core> [localhost] $ clan secrets users remove --flake /build/pytest-fjqk0h0q/test_flake_with_core foo clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:148::_test_identities clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-fjqk0h0q/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> [localhost] $ clan secrets set --flake /build/pytest-s5e1vz2a/test_flake_with_core charlie_secret_mOmMDPqpNV clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:252::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-s5e1vz2a/test_flake_with_core clan-pytest-with-core> [localhost] $ clan secrets machines remove-secret --flake /build/pytest-vjhpv7kt/test_flake_with_core machine1 key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:805::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in the environment (SOPS_AGE_KEY): age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpdwjum252 \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmpcixn142s clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpy1wvc10g \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> --- age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c clan-pytest-with-core> 2026/08/03 15:05:02 Syncing keys for file /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> 2026/08/03 15:05:02 File /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/machines/machine1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> warning: could not open directory 'sops/secrets/key/machines/': No such file or directory clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/machines/machine1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_mOmMDPqpNV/users/charlie to git clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/machines/machine1 \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'vars: remove machine1 from secret key' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/machines/machine1 \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_mOmMDPqpNV/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/users/charlie \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update charlie_secret_mOmMDPqpNV' \ clan-pytest-with-core> --no-verify /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/users/charlie \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/key/machines/machine1, sops/secrets/key/secret clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/charlie_secret_mOmMDPqpNV/users/charlie, sops/secrets/charlie_secret_mOmMDPqpNV/secret clan-pytest-with-core> [localhost] $ clan secrets users add --flake /build/pytest-vjhpv7kt/test_flake_with_core user1 age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:817::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/233861fa52a45b79574ec7d6416645cab5011aae clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/user1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user user1' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw5] [ 67%] PASSED clan_cli/tests/test_secrets_cli.py::test_users Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/users/user1 to git clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_machines_cli.py::test_machines_update_nonexistent_machine [localhost] $ clan secrets users add-secret --flake /build/pytest-vjhpv7kt/test_flake_with_core user1 key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:828::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> [localhost] $ clan secrets set --flake /build/pytest-s5e1vz2a/test_flake_with_core charlie_secret_KEGDnEABUL clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:252::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-s5e1vz2a/test_flake_with_core clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpeqb902r3 \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/03 15:05:03 Syncing keys for file /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> +++ age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/03 15:05:03 File /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/users/user1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/users/user1 \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user user1 to key' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/users/user1 \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/key/users/user1, sops/secrets/key/secret clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in the environment (SOPS_AGE_KEY): age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp_4fv30u9 \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmpdkkaduo1 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_KEGDnEABUL/users/charlie to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_KEGDnEABUL/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/users/charlie \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update charlie_secret_KEGDnEABUL' \ clan-pytest-with-core> --no-verify /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/users/charlie \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/charlie_secret_KEGDnEABUL/users/charlie, sops/secrets/charlie_secret_KEGDnEABUL/secret clan-pytest-with-core> [localhost] $ clan secrets machines remove --flake /build/pytest-w4ezxe2g/test_flake_with_core foo clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:142::_test_identities clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-w4ezxe2g/test_flake_with_core clan-pytest-with-core> clan-pytest-with-core> [gw5] [ 67%] PASSED clan_cli/tests/test_machines_cli.py::test_machines_update_nonexistent_machine clan-pytest-with-core> clan_cli/tests/test_hardware_config.py::test_should_prompt_for_facter_update warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/53c833387320b1b15c854102a408d9eee60c566d clan-pytest-with-core> (cached) $ clan select clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> [localhost] $ clan secrets users remove-secret --flake /build/pytest-vjhpv7kt/test_flake_with_core user1 key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:842::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp2a0l_reb \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets set --flake /build/pytest-s5e1vz2a/test_flake_with_core charlie_secret_xzKlBdUgVo clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:252::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-s5e1vz2a/test_flake_with_core clan-pytest-with-core> 2026/08/03 15:05:03 Syncing keys for file /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> --- age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/03 15:05:03 File /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/users/user1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/users/user1 \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove user user1 from key' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/users/user1 \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/key/users/user1, sops/secrets/key/secret clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/53c833387320b1b15c854102a408d9eee60c566d clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in the environment (SOPS_AGE_KEY): age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpcqhrr1r9 \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-w4ezxe2g/test_flake_with_core/sops/secrets/machine_secret/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpmvqotvz6 \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmp9z9wrfrl clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets groups add-secret --flake /build/pytest-vjhpv7kt/test_flake_with_core admin-group key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:855::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> clan-pytest-with-core> 2026/08/03 15:05:03 Syncing keys for file /build/pytest-w4ezxe2g/test_flake_with_core/sops/secrets/machine_secret/secret clan-pytest-with-core> [gw5] [ 68%] PASSED clan_cli/tests/test_hardware_config.py::test_should_prompt_for_facter_update The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1dhuh9xtefhgpr2sjjf7gmp9q2pr37z92rv4wsadxuqdx48989g7qj552qp clan-pytest-with-core> --- age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/03 15:05:03 File /build/pytest-w4ezxe2g/test_flake_with_core/sops/secrets/machine_secret/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-w4ezxe2g/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-w4ezxe2g/test_flake_with_core/sops/machines/foo clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_create_flake.py::test_create_flake warning: could not open directory 'sops/machines/': No such file or directory clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/machines/foo to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-w4ezxe2g/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-w4ezxe2g/test_flake_with_core/sops/secrets/machine_secret/machines/foo clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/machine_secret/machines/foo to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-w4ezxe2g/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-w4ezxe2g/test_flake_with_core/sops/secrets/machine_secret/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_xzKlBdUgVo/users/charlie to git clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/machine_secret/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-w4ezxe2g/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-w4ezxe2g/test_flake_with_core/sops/machines/foo \ clan-pytest-with-core> /build/pytest-w4ezxe2g/test_flake_with_core/sops/secrets/machine_secret/machines/foo \ clan-pytest-with-core> /build/pytest-w4ezxe2g/test_flake_with_core/sops/secrets/machine_secret/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-w4ezxe2g/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove machine foo' \ clan-pytest-with-core> --no-verify /build/pytest-w4ezxe2g/test_flake_with_core/sops/machines/foo \ clan-pytest-with-core> /build/pytest-w4ezxe2g/test_flake_with_core/sops/secrets/machine_secret/machines/foo \ clan-pytest-with-core> /build/pytest-w4ezxe2g/test_flake_with_core/sops/secrets/machine_secret/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_xzKlBdUgVo/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/users/charlie \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update charlie_secret_xzKlBdUgVo' \ clan-pytest-with-core> --no-verify /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/users/charlie \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 3 files to git: sops/machines/foo, sops/secrets/machine_secret/machines/foo, sops/secrets/machine_secret/secret clan-pytest-with-core> [localhost] $ clan secrets groups add-user --flake /build/pytest-vjhpv7kt/test_flake_with_core admin-group user1 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:866::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/charlie_secret_xzKlBdUgVo/users/charlie, sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> [localhost] $ clan secrets machines remove --flake /build/pytest-w4ezxe2g/test_flake_with_core foo clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:148::_test_identities clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-w4ezxe2g/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/groups/admin-group/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/groups/admin-group/users/user1 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/groups/admin-group/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user user1 to group admin-group' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/groups/admin-group/users/user1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> Committed sops/groups/admin-group/users/user1 to git clan-pytest-with-core> [localhost] $ clan secrets groups add-user --flake /build/pytest-vjhpv7kt/test_flake_with_core admin-group testuser clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:877::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> [localhost] $ clan machines delete --flake /build/pytest-i7ikotgl/test_flake_with_core machine1 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_machines_cli.py:99::test_machine_subcommands clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-i7ikotgl/test_flake_with_core clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/groups/admin-group/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets users remove-key --flake /build/pytest-s5e1vz2a/test_flake_with_core charlie age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:296::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-s5e1vz2a/test_flake_with_core clan-pytest-with-core> Adding sops/groups/admin-group/users/testuser to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/groups/admin-group/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user testuser to group admin-group' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/groups/admin-group/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/groups/admin-group/users/testuser to git clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/3b71421c4a528de392343c3bd2382830c67aeb3b clan-pytest-with-core> (cached) $ clan select 'clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta}' clan-pytest-with-core> Cache miss for clanInternals.?secrets.?age.?plugins clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-i7ikotgl/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-i7ikotgl/test_flake_with_core/inventory.json clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets groups add-secret --flake /build/pytest-vjhpv7kt/test_flake_with_core admin-group key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:888::test_secrets clan-pytest-with-core> clan-pytest-with-core> Adding inventory.json to git clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-i7ikotgl/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-i7ikotgl/test_flake_with_core/inventory.json clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpjexoyg8t \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-i7ikotgl/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'inventory.json: delete keys {('"'"'machines'"'"', '"'"'machine1'"'"')}' \ clan-pytest-with-core> --no-verify /build/pytest-i7ikotgl/test_flake_with_core/inventory.json clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed inventory.json to git clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> 2026/08/03 15:05:03 Syncing keys for file /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv clan-pytest-with-core> age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> --- age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> 2026/08/03 15:05:03 File /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpq5rk8894 \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp0tdcge2y \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/03 15:05:03 Syncing keys for file /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> +++ age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> 2026/08/03 15:05:03 File /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Group 1 clan-pytest-with-core> age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv clan-pytest-with-core> age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> --- age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> 2026/08/03 15:05:03 Syncing keys for file /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/groups/admin-group clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> 2026/08/03 15:05:03 File /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpjlz7m1sw \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/groups/admin-group to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw9] [ 68%] PASSED clan_cli/tests/test_vars_shared.py::test_share_mode_switch_regenerates_secret Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/groups/admin-group \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add group admin-group to secret key' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/groups/admin-group \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_delete_store_leaves_shared_secrets_untouched Loading flake cache from file /build/clan-flake-cache/flakes-v2/e0f7ba3ef8f1c5def559ed91481cc15e5a4a4da5 clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/key/groups/admin-group, sops/secrets/key/secret clan-pytest-with-core> 2026/08/03 15:05:03 Syncing keys for file /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv clan-pytest-with-core> age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> --- age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> 2026/08/03 15:05:03 File /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/charlie to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_KEGDnEABUL/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_mOmMDPqpNV/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets set --flake /build/pytest-vjhpv7kt/test_flake_with_core --group admin-group key2 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:900::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_xzKlBdUgVo/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/charlie \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove key(s) for user charlie' \ clan-pytest-with-core> --no-verify /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/charlie \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/3b71421c4a528de392343c3bd2382830c67aeb3b clan-pytest-with-core> Cache miss for clanInternals.machines.x86_64-linux."machine1".config.clan.core.vars.settings.publicModule clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 4 files to git: sops/users/charlie, sops/secrets/charlie_secret_KEGDnEABUL/secret, sops/secrets/charlie_secret_mOmMDPqpNV/secret, sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> clan-pytest-with-core> [gw13] [ 69%] PASSED clan_cli/tests/test_secrets_cli.py::test_machines echo '<>' | age-keygen \ clan-pytest-with-core> -y clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets users add-key --flake /build/pytest-s5e1vz2a/test_flake_with_core charlie age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:316::test_multiple_user_keys clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-s5e1vz2a/test_flake_with_core clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_machines_cli.py::test_machine_delete Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:372::get_public_age_key_from_private_key clan-pytest-with-core> clan-pytest-with-core> Found age public key from a private key in /build/pytest-vjhpv7kt/test_flake_with_core/../age.key: age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpmdmbqu2q \ clan-pytest-with-core> encrypt \ clan-pytest-with-core> --in-place /dev/shm/tmp_9y58rps clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/groups/admin-group clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key2/groups/admin-group to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/users/testuser clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpmcajyowt \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key2/users/testuser to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key2/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/groups/admin-group \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/users/testuser \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: update key2' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/groups/admin-group \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/users/testuser \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 3 files to git: sops/secrets/key2/groups/admin-group, sops/secrets/key2/users/testuser, sops/secrets/key2/secret clan-pytest-with-core> 2026/08/03 15:05:03 Syncing keys for file /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv clan-pytest-with-core> age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> +++ age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> 2026/08/03 15:05:03 File /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp7f6ewead \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv clan-pytest-with-core> age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> +++ age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> 2026/08/03 15:05:03 Syncing keys for file /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret clan-pytest-with-core> 2026/08/03 15:05:03 File /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp3f86p01b \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> 2026/08/03 15:05:04 Syncing keys for file /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age1eyyhln9g3cdwtrwpckugvqgtf5p8ugt0426sw38ra3wkc0t4rfhslq7txv clan-pytest-with-core> age1e9ufa6wrsr5danka50qp0np0832uz7jca7s00wyeg2nt3aqnvaks7p4jfr clan-pytest-with-core> +++ age1n58rxm8y6h9prmwn0qk7nggfsu9f9j4u35dxg7akpkjd5vgsavssfzmq9y clan-pytest-with-core> 2026/08/03 15:05:04 File /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/charlie clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/charlie to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_KEGDnEABUL/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_mOmMDPqpNV/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/charlie_secret_xzKlBdUgVo/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/charlie \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-s5e1vz2a/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add key(s) for user charlie' \ clan-pytest-with-core> --no-verify /build/pytest-s5e1vz2a/test_flake_with_core/sops/users/charlie \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_KEGDnEABUL/secret \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_mOmMDPqpNV/secret \ clan-pytest-with-core> /build/pytest-s5e1vz2a/test_flake_with_core/sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 4 files to git: sops/users/charlie, sops/secrets/charlie_secret_KEGDnEABUL/secret, sops/secrets/charlie_secret_mOmMDPqpNV/secret, sops/secrets/charlie_secret_xzKlBdUgVo/secret clan-pytest-with-core> clan-pytest-with-core> [gw8] [ 69%] PASSED clan_cli/tests/test_secrets_cli.py::test_multiple_user_keys clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_secrets_users_add_age_plugin_error [localhost] $ clan secrets users add --flake /build/pytest-vjhpv7kt/test_flake_with_core --pgp-key 9A9B2741C8062D3D3DF1302D8B049E262A5CA255 user2 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:920::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/users/user2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/users/user2 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/users/user2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user user2' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/users/user2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/users/user2 to git clan-pytest-with-core> clan-pytest-with-core> [gw9] [ 69%] PASSED clan_cli/tests/test_vars_age.py::test_age_delete_store_leaves_shared_secrets_untouched clan-pytest-with-core> clan_cli/tests/test_create_flake.py::test_ui_template [localhost] $ clan secrets groups add-user --flake /build/pytest-vjhpv7kt/test_flake_with_core admin-group user2 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:934::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> clan-pytest-with-core> [gw2] [ 70%] PASSED clan_cli/tests/test_vars_shared.py::test_export_sops_import_age warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> clan-pytest-with-core> [gw8] [ 70%] PASSED clan_cli/tests/test_secrets_cli.py::test_secrets_users_add_age_plugin_error clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_get_shared_finds_any_machine_key clan-pytest-with-core> clan_cli/tests/test_create_flake.py::test_create_flake_fallback_from_non_clan_directory sops \ clan-pytest-with-core> --config /build/tmptho234p3 \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> +++ 9A9B2741C8062D3D3DF1302D8B049E262A5CA255 clan-pytest-with-core> 2026/08/03 15:05:04 Syncing keys for file /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> 2026/08/03 15:05:04 File /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmpz4l257e4 \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> +++ 9A9B2741C8062D3D3DF1302D8B049E262A5CA255 clan-pytest-with-core> 2026/08/03 15:05:04 Syncing keys for file /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> 2026/08/03 15:05:04 File /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/groups/admin-group/users/user2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/groups/admin-group/users/user2 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key2/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/groups/admin-group/users/user2 \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: add user user2 to group admin-group' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/groups/admin-group/users/user2 \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 3 files to git: sops/groups/admin-group/users/user2, sops/secrets/key/secret, sops/secrets/key2/secret clan-pytest-with-core> [localhost] $ clan secrets groups remove-user --flake /build/pytest-vjhpv7kt/test_flake_with_core admin-group user2 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:953::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp18jvxwfs \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw2] [ 71%] PASSED clan_cli/tests/test_vars_age.py::test_age_get_shared_finds_any_machine_key clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_populate_dir 2026/08/03 15:05:04 Syncing keys for file /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> --- 9A9B2741C8062D3D3DF1302D8B049E262A5CA255 clan-pytest-with-core> 2026/08/03 15:05:04 File /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> clan-pytest-with-core> [gw8] [ 71%] PASSED clan_cli/tests/test_create_flake.py::test_create_flake_fallback_from_non_clan_directory Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmp2iyess2b \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> clan_cli/tests/test_clan_nix_attrset.py::test_clan_core_templates The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> --- 9A9B2741C8062D3D3DF1302D8B049E262A5CA255 clan-pytest-with-core> 2026/08/03 15:05:04 Syncing keys for file /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> 2026/08/03 15:05:04 File /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/groups/admin-group/users/user2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/groups/admin-group/users/user2 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Loading flake cache from file /build/clan-flake-cache/flakes-v2/3b71421c4a528de392343c3bd2382830c67aeb3b clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key2/secret to git clan-pytest-with-core> (cached) $ clan select clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/groups/admin-group/users/user2 \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Cache miss for clanInternals.machines.x86_64-linux."machine1".config.clan.core.vars.settings.secretModule clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove user user2 from group admin-group' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/groups/admin-group/users/user2 \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 3 files to git: sops/groups/admin-group/users/user2, sops/secrets/key/secret, sops/secrets/key2/secret clan-pytest-with-core> nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> show \ clan-pytest-with-core> --json --show-trace \ clan-pytest-with-core> /build/pytest-7vkfdn6m/test-flake \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_create_flake.py:60::test_create_flake clan-pytest-with-core> clan-pytest-with-core> [localhost] $ clan secrets groups remove-secret --flake /build/pytest-vjhpv7kt/test_flake_with_core admin-group key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:973::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> evaluating ''... clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> sops \ clan-pytest-with-core> --config /build/tmptggk765v \ clan-pytest-with-core> updatekeys \ clan-pytest-with-core> --yes /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw2] [ 72%] PASSED clan_cli/tests/test_vars_age.py::test_age_populate_dir clan-pytest-with-core> clan_cli/tests/test_backups.py::test_backups evaluating 'clan'... clan-pytest-with-core> evaluating 'clanInternals'... clan-pytest-with-core> evaluating 'devShells'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin.default'... clan-pytest-with-core> warning: devShells.aarch64-darwin.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'devShells.aarch64-linux'... clan-pytest-with-core> evaluating 'devShells.aarch64-linux.default'... clan-pytest-with-core> warning: devShells.aarch64-linux.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'devShells.x86_64-linux'... clan-pytest-with-core> evaluating 'devShells.x86_64-linux.default'... clan-pytest-with-core> The following changes will be made to the file's groups: clan-pytest-with-core> Group 1 clan-pytest-with-core> age12psfcs5fzwlpfjrr9utf5j7d30veytytj2egkejdv789ktpzq5xs2xd9gz clan-pytest-with-core> --- age14tva0txcrl0zes05x7gkx56qd6wd9q3nwecjac74xxzz4l47r44sv3fz62 clan-pytest-with-core> 2026/08/03 15:05:05 Syncing keys for file /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> 2026/08/03 15:05:05 File /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret synced with new keys clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/secrets/sops.py:320::sops_run clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/groups/admin-group clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> warning: could not open directory 'sops/secrets/key/groups/': No such file or directory clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/groups/admin-group to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key/secret to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/groups/admin-group \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove group admin-group from secret key' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/groups/admin-group \ clan-pytest-with-core> /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key/secret clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed 2 files to git: sops/secrets/key/groups/admin-group, sops/secrets/key/secret clan-pytest-with-core> [localhost] $ clan secrets remove --flake /build/pytest-vjhpv7kt/test_flake_with_core key clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:985::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> clan-pytest-with-core> [gw11] [ 72%] PASSED clan_cli/tests/test_vars_prompts.py::test_api_set_prompts clan-pytest-with-core> clan_cli/tests/test_vars_prompts.py::test_get_generator_prompt_previous_values warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove key' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/secrets/key to git clan-pytest-with-core> [localhost] $ clan secrets remove --flake /build/pytest-vjhpv7kt/test_flake_with_core key2 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_secrets_cli.py:986::test_secrets clan-pytest-with-core> clan-pytest-with-core> Prefetching flake /build/pytest-vjhpv7kt/test_flake_with_core clan-pytest-with-core> evaluating 'nixosConfigurations'... clan-pytest-with-core> evaluating 'nixosConfigurations.machine1'... clan-pytest-with-core> evaluating 'nixosModules'... clan-pytest-with-core> evaluating 'nixosModules.clan-machine-machine1'... clan-pytest-with-core> clan-pytest-with-core> [gw1] [ 72%] PASSED clan_cli/tests/test_vars_shared.py::test_import_survives_generate Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_create_flake.py:60::test_create_flake clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw5] [ 73%] PASSED clan_cli/tests/test_create_flake.py::test_create_flake clan-pytest-with-core> clan_cli/tests/test_create_flake.py::test_create_flake_existing_git clan-pytest-with-core> clan_cli/tests/test_vars_prompts.py::test_prompt warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> add \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:89::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Adding sops/secrets/key2 to git clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> diff \ clan-pytest-with-core> --cached --exit-code \ clan-pytest-with-core> -- /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 1 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:111::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> git \ clan-pytest-with-core> -C /build/pytest-vjhpv7kt/test_flake_with_core \ clan-pytest-with-core> commit \ clan-pytest-with-core> -m 'secrets: remove key2' \ clan-pytest-with-core> --no-verify /build/pytest-vjhpv7kt/test_flake_with_core/sops/secrets/key2 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_lib/git/__init__.py:131::_commit_file_to_git clan-pytest-with-core> clan-pytest-with-core> Committed sops/secrets/key2 to git clan-pytest-with-core> clan-pytest-with-core> [gw7] [ 73%] PASSED clan_cli/tests/test_secrets_cli.py::test_secrets clan-pytest-with-core> clan_cli/tests/test_secrets_cli.py::test_secrets_key_generate_new_appends clan-pytest-with-core> [gw8] [ 74%] PASSED clan_cli/tests/test_clan_nix_attrset.py::test_clan_core_templates clan-pytest-with-core> clan_cli/templates/list_test.py::test_templates_list clan-pytest-with-core> [gw8] [ 74%] PASSED clan_cli/templates/list_test.py::test_templates_list clan-pytest-with-core> clan_cli/machines/update_test.py::test_get_machines_for_update_tags[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> [gw7] [ 75%] PASSED clan_cli/tests/test_secrets_cli.py::test_secrets_key_generate_new_appends clan-pytest-with-core> clan_cli/machines/update_test.py::test_get_machines_for_update_single_name[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] Loading flake cache from file /build/clan-flake-cache/flakes-v2/3b71421c4a528de392343c3bd2382830c67aeb3b clan-pytest-with-core> (cached) $ clan select clanInternals.inventoryClass.relativeDirectory clan-pytest-with-core> Prefetching flake /build/pytest-i7ikotgl/test_flake_with_core clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> Cache miss for clanInternals.inventoryClass.inventorySerialization.{instances,machines,meta} clan-pytest-with-core> nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> show \ clan-pytest-with-core> --json --show-trace \ clan-pytest-with-core> /build/pytest-6wcokd_a/test-flake \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_create_flake.py:152::test_ui_template clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> evaluating ''... clan-pytest-with-core> evaluating 'clan'... clan-pytest-with-core> evaluating 'clanInternals'... clan-pytest-with-core> evaluating 'nixosConfigurations'... clan-pytest-with-core> evaluating 'nixosConfigurations.machine1'... clan-pytest-with-core> evaluating 'nixosModules'... clan-pytest-with-core> evaluating 'nixosModules.clan-machine-machine1'... clan-pytest-with-core> clan-pytest-with-core> [gw0] [ 75%] PASSED clan_cli/tests/test_machines_cli.py::test_machine_subcommands Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_create_flake.py:152::test_ui_template clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw9] [ 75%] PASSED clan_cli/tests/test_create_flake.py::test_ui_template clan-pytest-with-core> clan_cli/tests/test_inventory_serde.py::test_inventory_deserialize_variants[test_flake_with_core1] clan-pytest-with-core> clan_cli/tests/test_create_flake.py::test_create_flake_with_local_template_reference clan-pytest-with-core> [gw12] [ 76%] PASSED clan_cli/tests/test_vars_cache.py::test_invalidation clan-pytest-with-core> clan_cli/tests/test_vars_cache.py::test_generate_secret_var_password_store_minimal_select_calls clan-pytest-with-core> [gw7] [ 76%] PASSED clan_cli/machines/update_test.py::test_get_machines_for_update_single_name[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> clan_cli/machines/update_test.py::test_get_machines_for_update_implicit_all[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> [gw4] [ 77%] PASSED clan_cli/tests/test_install_secret_path.py::test_password_store_upload_directory[default] clan-pytest-with-core> clan_cli/tests/test_import_sops_cli.py::test_import_sops clan-pytest-with-core> [gw0] [ 77%] PASSED clan_cli/tests/test_inventory_serde.py::test_inventory_deserialize_variants[test_flake_with_core1] clan-pytest-with-core> clan_cli/machines/machines_test.py::test_inventory_machine_detect_class[test_flake_with_core0] clan-pytest-with-core> [gw9] [ 78%] PASSED clan_cli/tests/test_create_flake.py::test_create_flake_with_local_template_reference clan-pytest-with-core> clan_cli/machines/list_test.py::test_machines_list_with_tags_no_matches nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> show \ clan-pytest-with-core> --json --show-trace \ clan-pytest-with-core> /build/pytest-q123sveg/test-flake \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_create_flake.py:107::test_create_flake_existing_git clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> evaluating ''... clan-pytest-with-core> clan-pytest-with-core> [gw14] [ 78%] PASSED clan_cli/tests/test_vars_cache.py::test_generate_secret_var_sops_minimal_select_calls clan-pytest-with-core> clan_cli/tests/test_vars_cache.py::test_cache_misses_for_vars_operations evaluating 'clan'... clan-pytest-with-core> evaluating 'clanInternals'... clan-pytest-with-core> evaluating 'devShells'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin.default'... clan-pytest-with-core> warning: devShells.aarch64-darwin.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'devShells.aarch64-linux'... clan-pytest-with-core> evaluating 'devShells.aarch64-linux.default'... clan-pytest-with-core> warning: devShells.aarch64-linux.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'devShells.x86_64-linux'... clan-pytest-with-core> evaluating 'devShells.x86_64-linux.default'... clan-pytest-with-core> clan-pytest-with-core> [gw9] [ 78%] PASSED clan_cli/machines/list_test.py::test_machines_list_with_tags_no_matches clan-pytest-with-core> clan_cli/machines/build_test.py::test_get_machines_for_build[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] evaluating 'nixosConfigurations'... clan-pytest-with-core> evaluating 'nixosConfigurations.machine1'... clan-pytest-with-core> evaluating 'nixosModules'... clan-pytest-with-core> evaluating 'nixosModules.clan-machine-machine1'... clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/tests/test_create_flake.py:107::test_create_flake_existing_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw5] [ 79%] PASSED clan_cli/tests/test_create_flake.py::test_create_flake_existing_git clan-pytest-with-core> clan_cli/ssh/test_deploy_info.py::test_qrcode_scan clan-pytest-with-core> [gw9] [ 79%] PASSED clan_cli/machines/build_test.py::test_get_machines_for_build[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> clan_cli/machines/build_test.py::test_get_machines_for_build[test_flake_with_core2-explicit_names2-filter_tags2-expected_names2] clan-pytest-with-core> [gw0] [ 80%] PASSED clan_cli/machines/machines_test.py::test_inventory_machine_detect_class[test_flake_with_core0] clan-pytest-with-core> clan_cli/machines/install_test.py::test_install_prints_destructive_warning_by_default clan-pytest-with-core> [gw9] [ 80%] PASSED clan_cli/machines/build_test.py::test_get_machines_for_build[test_flake_with_core2-explicit_names2-filter_tags2-expected_names2] clan-pytest-with-core> clan_cli/machines/build_test.py::test_build_machine_without_hostplatform_raises_friendly_error[test_flake_with_core0] clan-pytest-with-core> [gw5] [ 81%] PASSED clan_cli/ssh/test_deploy_info.py::test_qrcode_scan clan-pytest-with-core> clan_cli/machines/build_test.py::test_get_machines_for_build_nonexistent_machine clan-pytest-with-core> [gw2] [ 81%] PASSED clan_cli/tests/test_backups.py::test_backups clan-pytest-with-core> clan_cli/templates/list_test.py::test_templates_list_outside_clan clan-pytest-with-core> [gw5] [ 81%] PASSED clan_cli/machines/build_test.py::test_get_machines_for_build_nonexistent_machine clan-pytest-with-core> clan_cli/init_test.py::test_init_minimal_template clan-pytest-with-core> [gw0] [ 82%] PASSED clan_cli/machines/install_test.py::test_install_prints_destructive_warning_by_default clan-pytest-with-core> clan_cli/init_test.py::test_init clan-pytest-with-core> [gw2] [ 82%] PASSED clan_cli/templates/list_test.py::test_templates_list_outside_clan clan-pytest-with-core> clan_cli/init_test.py::test_init_fallback_from_non_clan_directory clan-pytest-with-core> [gw2] [ 83%] PASSED clan_cli/init_test.py::test_init_fallback_from_non_clan_directory clan-pytest-with-core> clan_cli/generate_test_vars/test_generate_test_vars.py::test_generate_test_vars clan-pytest-with-core> [gw3] [ 83%] PASSED clan_cli/tests/test_vars_cache.py::test_get_generators_only_decrypts_requested_machines clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_populate_dir_skips_deploy_false clan-pytest-with-core> [gw4] [ 84%] PASSED clan_cli/tests/test_import_sops_cli.py::test_import_sops clan-pytest-with-core> clan_cli/machines/install_test.py::test_install_prefers_explicit_target_host_flag clan-pytest-with-core> [gw3] [ 84%] PASSED clan_cli/tests/test_vars_age.py::test_age_populate_dir_skips_deploy_false clan-pytest-with-core> clan_cli/flash/list_test.py::test_flash_list_keymaps clan-pytest-with-core> [gw9] [ 84%] PASSED clan_cli/machines/build_test.py::test_build_machine_without_hostplatform_raises_friendly_error[test_flake_with_core0] clan-pytest-with-core> [gw4] [ 85%] PASSED clan_cli/machines/install_test.py::test_install_prefers_explicit_target_host_flag clan-pytest-with-core> clan_cli/init_test.py::test_init_existing_git clan-pytest-with-core> clan_cli/completions_test.py::test_complete_machines clan-pytest-with-core> [gw3] [ 85%] PASSED clan_cli/flash/list_test.py::test_flash_list_keymaps clan-pytest-with-core> clan_cli/completions_test.py::test_complete_machines_with_prefix nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> show \ clan-pytest-with-core> --json --show-trace \ clan-pytest-with-core> /build/pytest-z_cuneqs/test-flake \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: /build/src/clan_cli/init_test.py:146::test_init_minimal_template clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> evaluating ''... clan-pytest-with-core> evaluating 'clan'... clan-pytest-with-core> evaluating 'clanInternals'... clan-pytest-with-core> evaluating 'nixosConfigurations'... clan-pytest-with-core> evaluating 'nixosConfigurations.machine1'... clan-pytest-with-core> evaluating 'nixosModules'... clan-pytest-with-core> evaluating 'nixosModules.clan-machine-machine1'... clan-pytest-with-core> clan-pytest-with-core> [gw4] [ 86%] PASSED clan_cli/completions_test.py::test_complete_machines clan-pytest-with-core> [gw3] [ 86%] PASSED clan_cli/completions_test.py::test_complete_machines_with_prefix Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/init_test.py:146::test_init_minimal_template clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw5] [ 87%] PASSED clan_cli/init_test.py::test_init_minimal_template clan-pytest-with-core> clan_cli/completions_test.py::test_complete_machines_without_flake clan-pytest-with-core> clan_cli/clan/show_test.py::test_clan_show clan-pytest-with-core> clan_cli/init_test.py::test_init_with_local_template_reference clan-pytest-with-core> [gw4] [ 87%] PASSED clan_cli/completions_test.py::test_complete_machines_without_flake nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> show \ clan-pytest-with-core> --json --show-trace \ clan-pytest-with-core> /build/pytest-3yfx2ove/test-flake \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: /build/src/clan_cli/init_test.py:54::test_init clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw6] [ 87%] PASSED clan_cli/tests/test_vars_generate.py::test_generate_public_and_secret_vars clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_get_identity_env_vars warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> evaluating ''... clan-pytest-with-core> clan-pytest-with-core> [gw3] [ 88%] PASSED clan_cli/clan/show_test.py::test_clan_show evaluating 'clan'... clan-pytest-with-core> evaluating 'clanInternals'... clan-pytest-with-core> evaluating 'devShells'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin.default'... clan-pytest-with-core> warning: devShells.aarch64-darwin.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'devShells.aarch64-linux'... clan-pytest-with-core> evaluating 'devShells.aarch64-linux.default'... clan-pytest-with-core> warning: devShells.aarch64-linux.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'devShells.x86_64-linux'... clan-pytest-with-core> evaluating 'devShells.x86_64-linux.default'... clan-pytest-with-core> clan-pytest-with-core> [gw6] [ 88%] PASSED clan_cli/tests/test_vars_age.py::test_age_get_identity_env_vars clan-pytest-with-core> clan_cli/tests/test_vars_age.py::test_age_get_identity_fallback_paths clan-pytest-with-core> [gw5] [ 89%] PASSED clan_cli/init_test.py::test_init_with_local_template_reference clan-pytest-with-core> [gw1] [ 89%] PASSED clan_cli/tests/test_vars_prompts.py::test_prompt evaluating 'nixosConfigurations'... clan-pytest-with-core> evaluating 'nixosConfigurations.machine1'... clan-pytest-with-core> evaluating 'nixosModules'... clan-pytest-with-core> evaluating 'nixosModules.clan-machine-machine1'... clan-pytest-with-core> clan-pytest-with-core> clan_cli/ssh/test_deploy_info.py::test_ssh_shell_from_deploy clan-pytest-with-core> [gw6] [ 90%] PASSED clan_cli/tests/test_vars_age.py::test_age_get_identity_fallback_paths Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/init_test.py:54::test_init clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw0] [ 90%] PASSED clan_cli/init_test.py::test_init clan-pytest-with-core> clan_cli/init_test.py::test_init_substitutes_placeholders clan-pytest-with-core> [gw0] [ 90%] PASSED clan_cli/init_test.py::test_init_substitutes_placeholders clan-pytest-with-core> [gw10] [ 91%] PASSED clan_cli/tests/test_install_secret_path.py::test_sops_install_secret_path[default] clan-pytest-with-core> clan_cli/tests/test_install_secret_path.py::test_password_store_upload_directory[custom] nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> show \ clan-pytest-with-core> --json --show-trace \ clan-pytest-with-core> /build/pytest-3ikg94l0/test-flake \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: /build/src/clan_cli/init_test.py:101::test_init_existing_git clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> evaluating ''... clan-pytest-with-core> clan-pytest-with-core> [gw11] [ 91%] PASSED clan_cli/tests/test_vars_prompts.py::test_get_generator_prompt_previous_values evaluating 'clan'... clan-pytest-with-core> evaluating 'clanInternals'... clan-pytest-with-core> evaluating 'devShells'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin'... clan-pytest-with-core> evaluating 'devShells.aarch64-darwin.default'... clan-pytest-with-core> warning: devShells.aarch64-darwin.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'devShells.aarch64-linux'... clan-pytest-with-core> evaluating 'devShells.aarch64-linux.default'... clan-pytest-with-core> warning: devShells.aarch64-linux.default omitted (use '--all-systems' to show) clan-pytest-with-core> evaluating 'devShells.x86_64-linux'... clan-pytest-with-core> evaluating 'devShells.x86_64-linux.default'... clan-pytest-with-core> clan-pytest-with-core> clan_cli/templates/apply_test.py::test_templates_apply_machine_and_disk evaluating 'nixosConfigurations'... clan-pytest-with-core> evaluating 'nixosConfigurations.machine1'... clan-pytest-with-core> evaluating 'nixosModules'... clan-pytest-with-core> evaluating 'nixosModules.clan-machine-machine1'... clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: /build/src/clan_cli/init_test.py:101::test_init_existing_git clan-pytest-with-core> clan-pytest-with-core> clan-pytest-with-core> [gw9] [ 92%] PASSED clan_cli/init_test.py::test_init_existing_git clan-pytest-with-core> clan_cli/completions_test.py::test_complete_machines_with_created_machine clan-pytest-with-core> [gw8] [ 92%] PASSED clan_cli/machines/update_test.py::test_get_machines_for_update_tags[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> clan_cli/machines/update_test.py::test_get_machines_for_update_tags_and_name[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> [gw9] [ 93%] PASSED clan_cli/completions_test.py::test_complete_machines_with_created_machine clan-pytest-with-core> [gw8] [ 93%] PASSED clan_cli/machines/update_test.py::test_get_machines_for_update_tags_and_name[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> [gw7] [ 93%] PASSED clan_cli/machines/update_test.py::test_get_machines_for_update_implicit_all[test_flake_with_core0-explicit_names0-filter_tags0-expected_names0] clan-pytest-with-core> clan_cli/machines/install_test.py::test_install_errors_without_target_host clan-pytest-with-core> [gw11] [ 94%] PASSED clan_cli/templates/apply_test.py::test_templates_apply_machine_and_disk clan-pytest-with-core> [gw12] [ 94%] PASSED clan_cli/tests/test_vars_cache.py::test_generate_secret_var_password_store_minimal_select_calls clan-pytest-with-core> clan_cli/machines/install_test.py::test_install_resolves_target_from_inventory clan-pytest-with-core> [gw12] [ 95%] PASSED clan_cli/machines/install_test.py::test_install_resolves_target_from_inventory clan-pytest-with-core> [gw1] [ 95%] PASSED clan_cli/ssh/test_deploy_info.py::test_ssh_shell_from_deploy clan-pytest-with-core> [gw13] [ 96%] PASSED clan_cli/tests/test_machines_cli.py::test_machine_delete clan-pytest-with-core> clan_cli/tests/test_create_flake.py::test_create_flake_in_git_repo_without_flake_nix clan-pytest-with-core> [gw13] [ 96%] PASSED clan_cli/tests/test_create_flake.py::test_create_flake_in_git_repo_without_flake_nix clan-pytest-with-core> [gw7] [ 96%] PASSED clan_cli/machines/install_test.py::test_install_errors_without_target_host clan-pytest-with-core> [gw10] [ 97%] PASSED clan_cli/tests/test_install_secret_path.py::test_password_store_upload_directory[custom] clan-pytest-with-core> [gw15] [ 97%] PASSED clan_cli/tests/test_install_secret_path.py::test_sops_install_secret_path[custom] clan-pytest-with-core> clan_cli/tests/test_hardware_config.py::test_should_prompt_for_hardware_config clan-pytest-with-core> [gw15] [ 98%] PASSED clan_cli/tests/test_hardware_config.py::test_should_prompt_for_hardware_config clan-pytest-with-core> [gw14] [ 98%] PASSED clan_cli/tests/test_vars_cache.py::test_cache_misses_for_vars_operations clan-pytest-with-core> clan_cli/machines/build_test.py::test_get_machines_for_build[test_flake_with_core1-explicit_names1-filter_tags1-expected_names1] clan-pytest-with-core> [gw14] [ 99%] PASSED clan_cli/machines/build_test.py::test_get_machines_for_build[test_flake_with_core1-explicit_names1-filter_tags1-expected_names1] clan-pytest-with-core> [gw2] [ 99%] PASSED clan_cli/generate_test_vars/test_generate_test_vars.py::test_generate_test_vars clan-pytest-with-core> clan_cli/flash/list_test.py::test_flash_list_languages clan-pytest-with-core> [gw2] [100%] PASSED clan_cli/flash/list_test.py::test_flash_list_languages clan-pytest-with-core> clan-pytest-with-core> ==================================== ERRORS ==================================== clan-pytest-with-core> _____________________ ERROR at setup of test_flash_config ______________________ clan-pytest-with-core> [gw13] linux -- Python 3.14.6 /nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/bin/python clan-pytest-with-core> clan-pytest-with-core> temporary_home = PosixPath('/build/pytest-rd9eyf2x') clan-pytest-with-core> minimal_flake_template = clan-pytest-with-core> monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fffe6424e90> clan-pytest-with-core> clan-pytest-with-core> @pytest.fixture clan-pytest-with-core> def flake( clan-pytest-with-core> temporary_home: Path, clan-pytest-with-core> minimal_flake_template: ClanFlake, clan-pytest-with-core> monkeypatch: pytest.MonkeyPatch, clan-pytest-with-core> ) -> ClanFlake: clan-pytest-with-core> > return minimal_flake_template.copy(temporary_home, monkeypatch) clan-pytest-with-core> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ clan-pytest-with-core> clan-pytest-with-core> /build/src/clan_cli/tests/fixtures_flakes.py:295: clan-pytest-with-core> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ clan-pytest-with-core> /build/src/clan_cli/tests/fixtures_flakes.py:203: in copy clan-pytest-with-core> shutil.copytree(self.path, temporary_home / "flake") clan-pytest-with-core> /nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/lib/python3.14/shutil.py:654: in copytree clan-pytest-with-core> return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks, clan-pytest-with-core> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ clan-pytest-with-core> clan-pytest-with-core> entries = [, , ] clan-pytest-with-core> src = PosixPath('/build/minimal-flake-5b5ynguu/flake') clan-pytest-with-core> dst = PosixPath('/build/pytest-rd9eyf2x/flake'), symlinks = False, ignore = None clan-pytest-with-core> copy_function = clan-pytest-with-core> ignore_dangling_symlinks = False, dirs_exist_ok = False clan-pytest-with-core> clan-pytest-with-core> def _copytree(entries, src, dst, symlinks, ignore, copy_function, clan-pytest-with-core> ignore_dangling_symlinks, dirs_exist_ok=False): clan-pytest-with-core> if ignore is not None: clan-pytest-with-core> ignored_names = ignore(os.fspath(src), [x.name for x in entries]) clan-pytest-with-core> else: clan-pytest-with-core> ignored_names = () clan-pytest-with-core> clan-pytest-with-core> os.makedirs(dst, exist_ok=dirs_exist_ok) clan-pytest-with-core> errors = [] clan-pytest-with-core> use_srcentry = copy_function is copy2 or copy_function is copy clan-pytest-with-core> clan-pytest-with-core> for srcentry in entries: clan-pytest-with-core> if srcentry.name in ignored_names: clan-pytest-with-core> continue clan-pytest-with-core> srcname = os.path.join(src, srcentry.name) clan-pytest-with-core> dstname = os.path.join(dst, srcentry.name) clan-pytest-with-core> srcobj = srcentry if use_srcentry else srcname clan-pytest-with-core> try: clan-pytest-with-core> is_symlink = srcentry.is_symlink() clan-pytest-with-core> if is_symlink and os.name == 'nt': clan-pytest-with-core> # Special check for directory junctions, which appear as clan-pytest-with-core> # symlinks but we want to recurse. clan-pytest-with-core> lstat = srcentry.stat(follow_symlinks=False) clan-pytest-with-core> if lstat.st_reparse_tag == stat.IO_REPARSE_TAG_MOUNT_POINT: clan-pytest-with-core> is_symlink = False clan-pytest-with-core> if is_symlink: clan-pytest-with-core> linkto = os.readlink(srcname) clan-pytest-with-core> if symlinks: clan-pytest-with-core> # We can't just leave it to `copy_function` because legacy clan-pytest-with-core> # code with a custom `copy_function` may rely on copytree clan-pytest-with-core> # doing the right thing. clan-pytest-with-core> os.symlink(linkto, dstname) clan-pytest-with-core> copystat(srcobj, dstname, follow_symlinks=not symlinks) clan-pytest-with-core> else: clan-pytest-with-core> # ignore dangling symlink if the flag is on clan-pytest-with-core> if not os.path.exists(linkto) and ignore_dangling_symlinks: clan-pytest-with-core> continue clan-pytest-with-core> # otherwise let the copy occur. copy2 will raise an error clan-pytest-with-core> if srcentry.is_dir(): clan-pytest-with-core> copytree(srcobj, dstname, symlinks, ignore, clan-pytest-with-core> copy_function, ignore_dangling_symlinks, clan-pytest-with-core> dirs_exist_ok) clan-pytest-with-core> else: clan-pytest-with-core> copy_function(srcobj, dstname) clan-pytest-with-core> elif srcentry.is_dir(): clan-pytest-with-core> copytree(srcobj, dstname, symlinks, ignore, copy_function, clan-pytest-with-core> ignore_dangling_symlinks, dirs_exist_ok) clan-pytest-with-core> else: clan-pytest-with-core> # Will raise a SpecialFileError for unsupported file types clan-pytest-with-core> copy_function(srcobj, dstname) clan-pytest-with-core> # catch the Error from the recursive copytree so that we can clan-pytest-with-core> # continue with other files clan-pytest-with-core> except Error as err: clan-pytest-with-core> errors.extend(err.args[0]) clan-pytest-with-core> except OSError as why: clan-pytest-with-core> errors.append((srcname, dstname, str(why))) clan-pytest-with-core> try: clan-pytest-with-core> copystat(src, dst) clan-pytest-with-core> except OSError as why: clan-pytest-with-core> # Copying file access times may fail on Windows clan-pytest-with-core> if getattr(why, 'winerror', None) is None: clan-pytest-with-core> errors.append((src, dst, str(why))) clan-pytest-with-core> if errors: clan-pytest-with-core> > raise Error(errors) clan-pytest-with-core> E shutil.Error: [('/build/minimal-flake-5b5ynguu/flake/.git/objects/maintenance.lock', '/build/pytest-rd9eyf2x/flake/.git/objects/maintenance.lock', "[Errno 2] No such file or directory: '/build/minimal-flake-5b5ynguu/flake/.git/objects/maintenance.lock'")] clan-pytest-with-core> clan-pytest-with-core> /nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/lib/python3.14/shutil.py:608: Error clan-pytest-with-core> ---------------------------- Captured stdout setup ----------------------------- clan-pytest-with-core> Initialized empty Git repository in /build/minimal-flake-5b5ynguu/flake/.git/ clan-pytest-with-core> [main (root-commit) d131c5f] Initial commit clan-pytest-with-core> 2 files changed, 232 insertions(+) clan-pytest-with-core> create mode 100644 flake.lock clan-pytest-with-core> create mode 100644 flake.nix clan-pytest-with-core> ---------------------------- Captured stderr setup ----------------------------- clan-pytest-with-core> !! $HOME does not point to a temp directory!! HOME=/build clan-pytest-with-core> nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> lock \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: ~/src/clan_cli/tests/fixtures_flakes.py:228::init_from_template clan-pytest-with-core> clan-pytest-with-core> warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> warning: creating lock file "/build/minimal-flake-5b5ynguu/flake/flake.lock": clan-pytest-with-core> • Added input 'clan-core': clan-pytest-with-core> 'path:/nix/store/p908cj98djl4yhbll1yi92pys82cnc1r-clan-core-flake?lastModified=1&narHash=sha256-VVNEuFOs5Y7tNx1Nbmz8Z4ofw4qWHu69YEFMOUZkVeo%3D' (1970-01-01) clan-pytest-with-core> • Added input 'clan-core/data-mesher': clan-pytest-with-core> 'path:/nix/store/nnl8309jsvf5snncb21pgm0x5zjpm5mr-source?lastModified=1&narHash=sha256-RBXKtKl1e6af3xdDZOXxQOX8QPcFVH3XqF2oSy5o1o8%3D' (1970-01-01) clan-pytest-with-core> • Added input 'clan-core/data-mesher/flake-parts': clan-pytest-with-core> follows 'clan-core/flake-parts' clan-pytest-with-core> • Added input 'clan-core/data-mesher/nixpkgs': clan-pytest-with-core> follows 'clan-core/nixpkgs' clan-pytest-with-core> • Added input 'clan-core/data-mesher/treefmt-nix': clan-pytest-with-core> follows 'clan-core/treefmt-nix' clan-pytest-with-core> • Added input 'clan-core/disko': clan-pytest-with-core> 'path:/nix/store/w2c23ykc12mswlg8hrrjzb5gv9gvkzwq-source?lastModified=1&narHash=sha256-RxWs5ND31KzTG7wvMM%2BPMfUjyNpmIEr999lqNARaM5o%3D' (1970-01-01) clan-pytest-with-core> • Added input 'clan-core/disko/nixpkgs': clan-pytest-with-core> follows 'clan-core/nixpkgs' clan-pytest-with-core> • Added input 'clan-core/flake-parts': clan-pytest-with-core> 'path:/nix/store/lrxvs4l9bqbgjfz7w9bkfg5zqq442jxc-source?lastModified=1&narHash=sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw%3D' (1970-01-01) clan-pytest-with-core> • Added input 'clan-core/flake-parts/nixpkgs-lib': clan-pytest-with-core> follows 'clan-core/nixpkgs' clan-pytest-with-core> • Added input 'clan-core/nix-darwin': clan-pytest-with-core> 'path:/nix/store/21f6lm3b151nxsniikgsjlvid75vdi67-source?lastModified=1&narHash=sha256-0tLW8Ff5yt8AH97jw4ZpFJ0OCJ122zIlgWGDmOfU/VU%3D' (1970-01-01) clan-pytest-with-core> • Added input 'clan-core/nix-darwin/nixpkgs': clan-pytest-with-core> follows 'clan-core/nixpkgs' clan-pytest-with-core> • Added input 'clan-core/nix-select': clan-pytest-with-core> 'path:/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source?lastModified=1&narHash=sha256-yxcNOha7Cfv2nhVpz9ZXSNKk0R7wt4AiBklJ8D24rVg%3D' (1970-01-01) clan-pytest-with-core> • Added input 'clan-core/nixpkgs': clan-pytest-with-core> 'path:/nix/store/grir922ynsi1acqkrxm6ijxfp5xnwdha-source?lastModified=0&narHash=sha256-NqaCaIITVSDaBYdcWcfCyEu1erL7paTPEQbISQp9xwQ%3D' (1970-01-01) clan-pytest-with-core> • Added input 'clan-core/sops-nix': clan-pytest-with-core> 'path:/nix/store/c1ka0xdxj00wakzkqx8ccpkjjcjsnkmc-source?lastModified=1&narHash=sha256-aCWC8ngycU7OdJrU2%2BJe3qf%2B1a2ykuBvpPhZT/9tXMc%3D' (1970-01-01) clan-pytest-with-core> • Added input 'clan-core/sops-nix/nixpkgs': clan-pytest-with-core> follows 'clan-core/nixpkgs' clan-pytest-with-core> • Added input 'clan-core/systems': clan-pytest-with-core> 'path:/nix/store/9m1jsz5b9ggmjij2vkmafnhn26g96jjn-source?lastModified=1&narHash=sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w%3D' (1970-01-01) clan-pytest-with-core> • Added input 'clan-core/treefmt-nix': clan-pytest-with-core> 'path:/nix/store/mdh8sbbfyjx02h66nav419nd1w8799xr-source?lastModified=1&narHash=sha256-XE1lKgQ3eIO3E7zWryqcRsax%2BmYXod/5RHBn4YaR9YE%3D' (1970-01-01) clan-pytest-with-core> • Added input 'clan-core/treefmt-nix/nixpkgs': clan-pytest-with-core> follows 'clan-core/nixpkgs' clan-pytest-with-core> • Added input 'nixpkgs': clan-pytest-with-core> follows 'clan-core/nixpkgs' clan-pytest-with-core> Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_cli/tests/fixtures_flakes.py:228::init_from_template clan-pytest-with-core> clan-pytest-with-core> ------------------------------ Captured log setup ------------------------------ clan-pytest-with-core> WARNING clan_cli.tests.fixtures_flakes:fixtures_flakes.py:193 !! $HOME does not point to a temp directory!! HOME=/build clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 nix \ clan-pytest-with-core> --extra-experimental-features 'nix-command flakes' \ clan-pytest-with-core> --option warn-dirty \ clan-pytest-with-core> false \ clan-pytest-with-core> flake \ clan-pytest-with-core> lock \ clan-pytest-with-core> --store /build/store clan-pytest-with-core> Caller: ~/src/clan_cli/tests/fixtures_flakes.py:228::init_from_template clan-pytest-with-core> clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 warning: you don't have Internet access; disabling some network-dependent features clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 warning: creating lock file "/build/minimal-flake-5b5ynguu/flake/flake.lock": clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/p908cj98djl4yhbll1yi92pys82cnc1r-clan-core-flake?lastModified=1&narHash=sha256-VVNEuFOs5Y7tNx1Nbmz8Z4ofw4qWHu69YEFMOUZkVeo%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/data-mesher': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/nnl8309jsvf5snncb21pgm0x5zjpm5mr-source?lastModified=1&narHash=sha256-RBXKtKl1e6af3xdDZOXxQOX8QPcFVH3XqF2oSy5o1o8%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/data-mesher/flake-parts': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'clan-core/flake-parts' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/data-mesher/nixpkgs': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'clan-core/nixpkgs' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/data-mesher/treefmt-nix': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'clan-core/treefmt-nix' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/disko': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/w2c23ykc12mswlg8hrrjzb5gv9gvkzwq-source?lastModified=1&narHash=sha256-RxWs5ND31KzTG7wvMM%2BPMfUjyNpmIEr999lqNARaM5o%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/disko/nixpkgs': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'clan-core/nixpkgs' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/flake-parts': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/lrxvs4l9bqbgjfz7w9bkfg5zqq442jxc-source?lastModified=1&narHash=sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/flake-parts/nixpkgs-lib': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'clan-core/nixpkgs' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/nix-darwin': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/21f6lm3b151nxsniikgsjlvid75vdi67-source?lastModified=1&narHash=sha256-0tLW8Ff5yt8AH97jw4ZpFJ0OCJ122zIlgWGDmOfU/VU%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/nix-darwin/nixpkgs': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'clan-core/nixpkgs' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/nix-select': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source?lastModified=1&narHash=sha256-yxcNOha7Cfv2nhVpz9ZXSNKk0R7wt4AiBklJ8D24rVg%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/nixpkgs': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/grir922ynsi1acqkrxm6ijxfp5xnwdha-source?lastModified=0&narHash=sha256-NqaCaIITVSDaBYdcWcfCyEu1erL7paTPEQbISQp9xwQ%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/sops-nix': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/c1ka0xdxj00wakzkqx8ccpkjjcjsnkmc-source?lastModified=1&narHash=sha256-aCWC8ngycU7OdJrU2%2BJe3qf%2B1a2ykuBvpPhZT/9tXMc%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/sops-nix/nixpkgs': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'clan-core/nixpkgs' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/systems': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/9m1jsz5b9ggmjij2vkmafnhn26g96jjn-source?lastModified=1&narHash=sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/treefmt-nix': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 'path:/nix/store/mdh8sbbfyjx02h66nav419nd1w8799xr-source?lastModified=1&narHash=sha256-XE1lKgQ3eIO3E7zWryqcRsax%2BmYXod/5RHBn4YaR9YE%3D' (1970-01-01) clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'clan-core/treefmt-nix/nixpkgs': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'clan-core/nixpkgs' clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 • Added input 'nixpkgs': clan-pytest-with-core> INFO clan_lib.cmd:__init__.py:158 follows 'clan-core/nixpkgs' clan-pytest-with-core> DEBUG clan_lib.cmd:__init__.py:143 Command exited with return code 0 clan-pytest-with-core> Caller: ~/src/clan_cli/tests/fixtures_flakes.py:228::init_from_template clan-pytest-with-core> ============================= slowest 5 durations ============================== clan-pytest-with-core> 29.58s call clan_lib/tests/test_create.py::test_clan_create_api clan-pytest-with-core> 22.64s call clan_cli/tests/test_vars_generate.py::test_generate_public_and_secret_vars clan-pytest-with-core> 22.61s call clan_cli/tests/test_vars_prompts.py::test_prompt_prefill_on_regeneration clan-pytest-with-core> 16.17s call clan_cli/tests/test_vars_shared.py::test_export_age_import_sops clan-pytest-with-core> 15.85s call clan_cli/tests/test_vars_shared.py::test_shared_vars_regeneration clan-pytest-with-core> =========================== short test summary info ============================ clan-pytest-with-core> ERROR clan_lib/flash/test_list.py::test_flash_config - shutil.Error: [('/build/minimal-flake-5b5ynguu/flake/.git/objects/maintenan... clan-pytest-with-core> =================== 231 passed, 1 skipped, 1 error in 55.92s =================== clan-pytest-with-core> + exitHandler clan-pytest-with-core> + exitCode=1 clan-pytest-with-core> + set +e clan-pytest-with-core> + '[' -n '' ']' clan-pytest-with-core> + (( 1 != 0 )) clan-pytest-with-core> + runHook failureHook clan-pytest-with-core> + local hookName=failureHook clan-pytest-with-core> + shift clan-pytest-with-core> + local 'hooksSlice=failureHooks[@]' clan-pytest-with-core> + local hook clan-pytest-with-core> + for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"} clan-pytest-with-core> + _logHook failureHook '_callImplicitHook 0 failureHook' clan-pytest-with-core> + [[ -z 2 ]] clan-pytest-with-core> + local hookKind=failureHook clan-pytest-with-core> + local 'hookExpr=_callImplicitHook 0 failureHook' clan-pytest-with-core> + shift 2 clan-pytest-with-core> + declare -F '_callImplicitHook 0 failureHook' clan-pytest-with-core> + type -p '_callImplicitHook 0 failureHook' clan-pytest-with-core> + [[ _callImplicitHook 0 failureHook != _callImplicitHook* ]] clan-pytest-with-core> + _eval '_callImplicitHook 0 failureHook' clan-pytest-with-core> + declare -F '_callImplicitHook 0 failureHook' clan-pytest-with-core> + eval '_callImplicitHook 0 failureHook' clan-pytest-with-core> ++ _callImplicitHook 0 failureHook clan-pytest-with-core> ++ local def=0 clan-pytest-with-core> ++ local hookName=failureHook clan-pytest-with-core> ++ declare -F failureHook clan-pytest-with-core> ++ type -p failureHook clan-pytest-with-core> ++ '[' -n '' ']' clan-pytest-with-core> ++ return 0 clan-pytest-with-core> + return 0 clan-pytest-with-core> + '[' -n '' ']' clan-pytest-with-core> + return 1 error: path '/nix/store/mm36rnw05iigim9hxr3lkk4d8vw2mpfy-clan-pytest-with-core' is not valid error: Cannot build '/nix/store/p31xjsfj6130a458zhmi0sr2w3argjfv-clan-pytest-with-core.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/mm36rnw05iigim9hxr3lkk4d8vw2mpfy-clan-pytest-with-core