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

Details

    • False
    • None
    • False
    • 0
    • 0% 0%
    • 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

    Description

      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

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated: