@@ -13,27 +13,6 @@ The dev container provides a consistent development environment with caching to
13
13
1 . ** Docker Compose Configuration** : Defines the container setup, volume mounts, and environment variables
14
14
2 . ** Dockerfile** : Specifies the container image and installed tools
15
15
3 . ** project-setup.sh** : Configures the environment after container creation
16
- 4 . ** host-setup.sh** : Sets up the host environment before starting the container
17
- 5 . ** setup-git-signing.sh** : Automatically configures Git to use SSH signing with forwarded SSH keys
18
-
19
- ## Cache System
20
-
21
- The container uses a conservative caching approach to prevent cache corruption issues:
22
-
23
- 1 . ** Local Cache Directories** : Each container instance maintains its own cache directories
24
- - ` vscode-cache ` → ` /home/vscode/.cache ` (VS Code cache)
25
- - ` vscode-config ` → ` /home/vscode/.config ` (VS Code configuration)
26
- - ` vscode-data ` → ` /home/vscode/.local/share ` (VS Code data)
27
- - ` vscode-bin ` → ` /home/vscode/.local/bin ` (User binaries)
28
-
29
- 2 . ** Safe Caches Only** : Only caches that won't cause cross-branch issues are configured
30
- - GitHub CLI: ` /home/vscode/.cache/github `
31
- - Python packages: ` /home/vscode/.cache/pip `
32
-
33
- 3 . ** Intentionally Not Cached** : These tools use their default cache locations to avoid contamination
34
- - NPM (different dependency versions per branch)
35
- - Foundry, Solidity (different compilation artifacts per branch)
36
- - Hardhat (different build artifacts per branch)
37
16
38
17
## Setup Instructions
39
18
@@ -48,7 +27,7 @@ To start the dev container:
48
27
When the container starts, the ` project-setup.sh ` script will automatically run and:
49
28
50
29
- Install project dependencies using pnpm
51
- - Configure Git to use SSH signing with your forwarded SSH key
30
+ - Configure basic Git settings (user.name, user.email) from environment variables
52
31
- Source shell customizations if available in PATH
53
32
54
33
## Environment Variables
@@ -60,10 +39,10 @@ Environment variables are defined in two places:
60
39
61
40
### Git Configuration
62
41
63
- To enable Git commit signing , add the following settings to your environment file:
42
+ To configure Git user settings , add the following to your environment file:
64
43
65
44
``` env
66
- # Git settings for commit signing
45
+ # Git settings
67
46
GIT_USER_NAME=Your Name
68
47
GIT_USER_EMAIL=your.email@example.com
69
48
```
@@ -72,34 +51,20 @@ These environment variables are needed for Git commit signing to work properly.
72
51
73
52
## Troubleshooting
74
53
75
- ### Cache Issues
54
+ ### Build Issues
76
55
77
- If you encounter build or compilation issues that seem related to cached artifacts :
56
+ If you encounter build or compilation issues:
78
57
79
- 1 . ** Rebuild the container** : This will start with fresh local caches
58
+ 1 . ** Rebuild the container** : This will start with fresh isolated caches
80
59
2 . ** Clean project caches** : Run ` pnpm clean ` to clear project-specific build artifacts
81
60
3 . ** Clear node modules** : Delete ` node_modules ` and run ` pnpm install ` again
82
61
83
- ### Git SSH Signing Issues
62
+ ### Git Authentication Issues
84
63
85
- If you encounter issues with Git SSH signing :
64
+ If you encounter issues with Git operations :
86
65
87
- 1 . ** SSH Agent Forwarding** : Make sure SSH agent forwarding is properly set up in your VS Code settings
88
- 2 . ** GitHub Configuration** : Ensure your SSH key is added to GitHub as a signing key in your account settings
89
- 3 . ** Manual Setup** : If automatic setup fails, you can manually configure SSH signing:
90
-
91
- ``` bash
92
- # Check available SSH keys
93
- ssh-add -l
94
-
95
- # Configure Git to use SSH signing
96
- git config --global gpg.format ssh
97
- git config --global user.signingkey " key::ssh-ed25519 YOUR_KEY_CONTENT"
98
- git config --global gpg.ssh.allowedSignersFile ~ /.ssh/allowed_signers
99
- git config --global commit.gpgsign true
100
-
101
- # Create allowed signers file
102
- echo " your.email@example.com ssh-ed25519 YOUR_KEY_CONTENT" > ~ /.ssh/allowed_signers
103
- ```
66
+ 1 . ** GitHub CLI** : Use ` gh auth login ` to authenticate with GitHub
67
+ 2 . ** Git Configuration** : Set user.name and user.email if not configured via environment variables
68
+ 3 . ** Commit Signing** : Handle commit signing on your host machine for security
104
69
105
- For other issues, check the ` project-setup.sh ` and ` setup-git-signing.sh ` scripts for any errors.
70
+ For other issues, check the ` project-setup.sh ` script for any errors.
0 commit comments