chore(security): enhance environment configuration, CI workflows, and wallet daemon with security improvements

- Restructure .env.example with security-focused documentation, service-specific environment file references, and AWS Secrets Manager integration
- Update CLI tests workflow to single Python 3.13 version, add pytest-mock dependency, and consolidate test execution with coverage
- Add comprehensive security validation to package publishing workflow with manual approval gates, secret scanning, and release
This commit is contained in:
oib
2026-03-03 10:33:46 +01:00
parent 00d00cb964
commit f353e00172
220 changed files with 42506 additions and 921 deletions

View File

@@ -100,7 +100,7 @@ class TestSimulateCommands:
with patch('aitbc_cli.commands.simulate.Path') as mock_path_class:
# Make Path return our temp directory
mock_path_class.return_value = home_dir
mock_path_class.side_effect = lambda x: home_dir if x == "/home/oib/windsurf/aitbc/home" else Path(x)
mock_path_class.side_effect = lambda x: home_dir if x == "/home/oib/windsurf/aitbc/tests/e2e/fixtures/home" else Path(x)
# Run command
result = runner.invoke(simulate, [
@@ -129,7 +129,7 @@ class TestSimulateCommands:
# Patch the hardcoded path
with patch('aitbc_cli.commands.simulate.Path') as mock_path_class:
mock_path_class.return_value = home_dir
mock_path_class.side_effect = lambda x: home_dir if x == "/home/oib/windsurf/aitbc/home" else Path(x)
mock_path_class.side_effect = lambda x: home_dir if x == "/home/oib/windsurf/aitbc/tests/e2e/fixtures/home" else Path(x)
# Run command
result = runner.invoke(simulate, [
@@ -151,7 +151,7 @@ class TestSimulateCommands:
# Patch the hardcoded path
with patch('aitbc_cli.commands.simulate.Path') as mock_path_class:
mock_path_class.return_value = home_dir
mock_path_class.side_effect = lambda x: home_dir if x == "/home/oib/windsurf/aitbc/home" else Path(x)
mock_path_class.side_effect = lambda x: home_dir if x == "/home/oib/windsurf/aitbc/tests/e2e/fixtures/home" else Path(x)
# Run command
result = runner.invoke(simulate, [
@@ -182,7 +182,7 @@ class TestSimulateCommands:
# Patch the hardcoded path
with patch('aitbc_cli.commands.simulate.Path') as mock_path_class:
mock_path_class.return_value = home_dir
mock_path_class.side_effect = lambda x: home_dir if x == "/home/oib/windsurf/aitbc/home" else Path(x)
mock_path_class.side_effect = lambda x: home_dir if x == "/home/oib/windsurf/aitbc/tests/e2e/fixtures/home" else Path(x)
# Run command
result = runner.invoke(simulate, [
@@ -210,7 +210,7 @@ class TestSimulateCommands:
# Patch the hardcoded path
with patch('aitbc_cli.commands.simulate.Path') as mock_path_class:
mock_path_class.return_value = home_dir
mock_path_class.side_effect = lambda x: home_dir if x == "/home/oib/windsurf/aitbc/home" else Path(x)
mock_path_class.side_effect = lambda x: home_dir if x == "/home/oib/windsurf/aitbc/tests/e2e/fixtures/home" else Path(x)
# Run command
result = runner.invoke(simulate, [
@@ -238,7 +238,7 @@ class TestSimulateCommands:
# Patch the hardcoded path
with patch('aitbc_cli.commands.simulate.Path') as mock_path_class:
mock_path_class.return_value = home_dir
mock_path_class.side_effect = lambda x: home_dir if x == "/home/oib/windsurf/aitbc/home" else Path(x)
mock_path_class.side_effect = lambda x: home_dir if x == "/home/oib/windsurf/aitbc/tests/e2e/fixtures/home" else Path(x)
# Run command
result = runner.invoke(simulate, [
@@ -347,7 +347,7 @@ class TestSimulateCommands:
# Patch the hardcoded path
with patch('aitbc_cli.commands.simulate.Path') as mock_path_class:
mock_path_class.return_value = home_dir
mock_path_class.side_effect = lambda x: home_dir if x == "/home/oib/windsurf/aitbc/home" else Path(x)
mock_path_class.side_effect = lambda x: home_dir if x == "/home/oib/windsurf/aitbc/tests/e2e/fixtures/home" else Path(x)
# Run command with reset flag
result = runner.invoke(simulate, [