tensorflow / tensorflow/build

Container Road Map

Open
#61 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

sig build dockerfiles
Dominant language
Shell
Stars
311
Forks
139
Avg merge
1h 28m
Merged PRs (30d)
1

Description

Road Map for Docker Containers

This is the same roadmap document that I'm using internally, with the internal bits taken out.

I am forcing these containers to get continuous support by using them for TF's internal CI: if they don't work, then our tests don't work. While I'm getting that ready during Q4 and Q1, I'm explicitly avoiding features that the TF team is not going to use, which would be dead-on-arrival unless we set up more testing for them, which I don't have the cycles to consider yet.

TF Nightly Milestone - Q4 Q1

Goal: Replicable container build of our tf-nightly Ubuntu packages

  • Containers can build tf-nightly package
  • SIG Build repository explains how to build tf-nightly package in Containers
  • Documentation exists on how to make changes to the containers
  • Suite of Kokoro jobs exists that publishes 80%-identical-to-now tf-nightly via containers
  • TF-nightly is officially built with the new containers
  • Documentation exists on how to use and debug containers

Release Test Milestone - Q4 Q1

Goal: Replicable container builds of our release tests, supporting each release

  • Containers can run same-as-now Nightly release tests
  • SIG Build repository explains how to run release tests as we do
  • Suite of CI jobs exists that matches current rel/nightly jobs
  • Existing release jobs replaced (but reversible if needed) by Container-based equivalent
  • Containers may be maintained and updated separately for TF release branches
  • Containers used for nightly/release libtensorflow and ci_sanity (now "code_check") jobs

CI & RBE Milestone - Q4 Q1/Q2

Goal: The main tests and our RBE tests use the same Docker container, updated in one place

  • Containers support internal presubmit/continuous build behavior
  • Containers are used in internal buildcop-monitored, DevInfra-owned presubmit/continuous jobs
  • Containers can be used in RBE
  • Containers are used as RBE environment for internal buildcop-monitored, DevInfra-owned jobs
  • DevInfra's GitHub-side presubmit tests use the containers
  • Containers are published on gcr.io
  • There is an easy way to verify if a change to the containers will not break the whole internal test suite

Forward Planning Milestone - Q2

Goal: Establish clear plan for any future work related to these containers. This is internal team planning stuff so I've removed it.

Downstream & OSS Milestone - Q2/Q3

Goal: Downstream users and custom-op developers use the same containers as our CI

  • SIG Addons / SIG IO use these Containers (or derivative) instead of old custom-op ones
  • Custom-op documentation migrated to SIG Build repository
  • Resolve: what to do about inconvenient default packages for e.g. SIG Addons (keras-nightly, etc.)
  • Resolve: what to do about inconveniently large image sizes for e.g. GPU content not needed
  • Docker-related documentation on tensorflow.org replaced with these containers
  • "devel" containers deprecated in favor of SIG Build containers

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

This issue is a historical roadmap rather than an actionable change, and it names no file, test, or entry point. Start by reviewing the unchecked Downstream & OSS Milestone items and the repository's current container documentation; a concrete contribution would need one selected goal with a defined completion criterion.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
build-system, ci-cd, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
10/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.