You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository is a small Docker image build system. The root contains `Dockerfile.cpu` and `Dockerfile.cuda`, which define the CPU and CUDA variants. Shared shell entrypoints, environment setup, and container dotfiles live in `data/`. Operational wrappers live in `scripts/`: `build.sh`, `run.sh`, `exec.sh`, and `image-configs.sh`. Release automation is in `.github/workflows/cd-docker-build-push.yml`.
5
+
6
+
## Build, Test, and Development Commands
7
+
Use the scripts rather than calling long `docker` commands by hand.
8
+
9
+
-`bash ./scripts/build.sh Dockerfile.cpu`: build the CPU image and print its tag.
10
+
-`bash ./scripts/build.sh Dockerfile.cuda`: build the CUDA image using the version values from `scripts/image-configs.sh`.
11
+
-`bash ./scripts/run.sh -i jamesnulliu/deeplearning:v2.4.7-cuda12.8.0 --tmp`: start an interactive temporary container.
12
+
-`bash ./scripts/run.sh -i <image> -c devbox`: start a named long-lived container.
13
+
-`bash ./scripts/exec.sh devbox`: open a shell in an existing container.
14
+
15
+
## Coding Style & Naming Conventions
16
+
Keep Dockerfiles and shell scripts POSIX/Bash-friendly, with one logical step per block and consistent four-space indentation for wrapped commands. Prefer uppercase variable names for exported build configuration (`IMAGE_VERSION`, `CUDA_VERSION`) and lowercase filenames for scripts and data assets. When you change a version, update `scripts/image-configs.sh` first so tags stay consistent.
17
+
18
+
## Testing Guidelines
19
+
There is no automated unit test suite in this repository today. Validation is build-and-smoke-test based: rebuild the affected Dockerfile, start a container, and verify entrypoint behavior plus any installed toolchain changes. For example, after editing `data/env_setup.sh`, run the image and confirm the shell starts cleanly.
20
+
21
+
## Commit & Pull Request Guidelines
22
+
Recent history uses short bracketed prefixes such as `[update]`, `[fix]`, and version-scoped subjects like `[UPDATE][v2.4.5] ...`. Follow that pattern and keep the subject imperative. PRs should state which image variant changed, summarize package/toolchain impact, include the exact build command used for verification, and note any release-tag implications. Do not commit credentials; Docker Hub publishing is handled by GitHub Actions secrets on tagged pushes (`v*`).
0 commit comments