Uploaded image for project: 'Red Hat OpenShift Dev Spaces (formerly CodeReady Workspaces) '
  1. Red Hat OpenShift Dev Spaces (formerly CodeReady Workspaces)
  2. CRW-4043

Improve process for building midstream and syncing to downstream

XMLWordPrintable

    • False
    • None
    • False
    • Hide
      = to be written

      once completed, we can add RN item explaining that local builds are now way more easily done.
      Show
      = to be written once completed, we can add RN item explaining that local builds are now way more easily done.
    • Feature
    • In Progress

      As discussed today w/ Sam, we're looking for a clean, simple approach to making devspaces-images repos buildable w/o RH VPN access, especially for the containers which now depend on Cachito for sources within Brew/OSBS.

      Suggested solution:

      • implement a rule that any brew.Dockerfile in the midstream project's root folder is copied and renamed when syncing to downstream, to just Dockerfile;
      • therefore root folder's Dockerfile in midstream would be one that works locally in midstream repo, to make adoption/rebuild easier for customers/IBMers/people outside RH, and
      • brew.Dockerfile in midstream will be equal to Dockerfile in downstream, which works with Cachito and OSBS

      Phased approach would be:

      1. set up the Jenkins job logic so we can start migrating to this new approach

      2. refactor upstream projects for consistent folder structure, using build/dockerfiles/rhel.Dockerfile (or similar)

      3. refactor midstream projects for consistent folder structure, such that upstream rhel.Dockerfile is copied to the project root

      4. refactor midstream sync.sh scripts to copy from build/dockerfiles/rhel.Dockerfile into the root (as in #3), then transform that Dockerfile into something compatible with Brew, called brew.Dockerfile

      NOTE: if transformation via sed is too onerous, then a static brew.Dockerfile should exist in the root folder (which will replace the Dockerfile when copied to downstream).

      5. This guarantees that midstream and downstream will be NEARLY identical, except for the brew.Dockerfile and Dockerfile in the root folder, which should make maintenance relatively easy and avoid confusion

              sdawley@redhat.com Samantha Dawley
              nickboldt Nick Boldt
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated: