Skip to content

Minimal sleap-nn CUDA Base Image - #23

Merged
alicup29 merged 22 commits into
mainfrom
amick/minimal-sleap-nn-cuda-base-img
Oct 23, 2025
Merged

alicup29 merged 22 commits into
mainfrom
amick/minimal-sleap-nn-cuda-base-img

Conversation

@alicup29

@alicup29 alicup29 commented Oct 20, 2025 •

Copy link
Copy Markdown
Contributor

This pull request introduces a new development environment for the sleapnn_v002_cuda_v128 project, including a production-ready Dockerfile with CUDA 12.8 support, a devcontainer configuration for VS Code, and two new GitHub Actions workflows for building and pushing Docker images (for both production and test).

Notes:

  • Added a new Dockerfile in sleapnn_v002_cuda_v128 to build a GPU-enabled container using CUDA 12.8, Python 3.13, and the sleap-nn package with CUDA support, along with a virtual environment setup and necessary dependencies.
  • Introduced a .devcontainer/devcontainer.json for VS Code development containers, enabling GPU access and customizing the development environment for easier local development and debugging.
  • Added a .dockerignore file to exclude unnecessary files and directories from Docker build context, improving build efficiency.
  • Created .github/workflows/sleap_nn_v002_cuda_production.yml to build and push production Docker images to GitHub Container Registry when changes are pushed to main or the workflow file itself. The workflow tags images with multiple relevant tags for versioning and traceability.
  • Added .github/workflows/sleap_nn_v002_cuda_test.yml to build and push test Docker images (with -test tags) for branches other than main, including a step to free up disk space on the runner for more reliable builds.

@alicup29 alicup29 self-assigned this Oct 21, 2025
@alicup29
alicup29 requested a review from eberrigan October 21, 2025 17:09
@eberrigan
eberrigan requested a review from Copilot October 21, 2025 21:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR establishes a production-ready Docker-based development environment for the sleap-nn project with CUDA 12.8 support. It introduces comprehensive CI/CD automation to build and publish GPU-enabled container images.

Key Changes:

  • Production Dockerfile with NVIDIA CUDA 12.8, Python 3.13, and sleap-nn installation
  • Dual GitHub Actions workflows for automated image builds (production and test branches)
  • VS Code devcontainer configuration for local GPU-enabled development

Reviewed Changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
sleapnn_v002_cuda_v128/Dockerfile Builds GPU-enabled container with CUDA 12.8, Python 3.13, and sleap-nn package
sleapnn_v002_cuda_v128/.dockerignore Excludes build artifacts and version control files from Docker context
sleapnn_v002_cuda_v128/.devcontainer/devcontainer.json Configures VS Code development container with GPU access
.github/workflows/sleap_nn_v002_cuda_test.yml Builds and pushes test Docker images for non-main branches with -test tags
.github/workflows/sleap_nn_v002_cuda_production.yml Builds and pushes production Docker images for main branch

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread .github/workflows/sleap_nn_v002_cuda_production.yml
Comment thread .github/workflows/sleap_nn_v002_cuda_production.yml Outdated
Comment thread sleapnn_v002_cuda_v128/Dockerfile
Comment thread sleapnn_v002_cuda_v128/Dockerfile Outdated
Comment thread sleapnn_v002_cuda_v128/Dockerfile

@eberrigan eberrigan left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks great!

  • go through copilot comments
  • add a readme and update the main readme before merging
  • test manually

@alicup29
alicup29 merged commit 70dbf56 into main Oct 23, 2025
1 check passed
@alicup29
alicup29 deleted the amick/minimal-sleap-nn-cuda-base-img branch October 23, 2025 00:24

**Notes:**

- The `ghcr.io/talmolab/sleap-rtc-worker` is the Docker registry where the images are pulled from. This is only used when pulling images from the cloud, and not necesary when building/running locally.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check this registry


## Contributing

- Use the `devcontainer.json` to open the repo in a dev container using VS Code.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this up-to-date for this devcontainer?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants