Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-14882

git as source of truth -- support git tag creation without a prior eups tag

    Details

      Description

      The current behavior of github-tag-release is require both an eups tag and manifest as input to create git tags. The manifest contains the sha's at which a git tags should be placed; the only reason to require an associated eups tag is in order to ensure that an eups tag and git tag are in sync.

        Attachments

          Issue Links

            Activity

            Hide
            tjenness Tim Jenness added a comment -

            I assume you are still doing a build with eups to get a build number and manifest so that you can associate the git tags with a successful build? You are simply removing the need for an eups publish at the end?

            Show
            tjenness Tim Jenness added a comment - I assume you are still doing a build with eups to get a build number and manifest so that you can associate the git tags with a successful build? You are simply removing the need for an eups publish at the end?
            Hide
            jhoblitt Joshua Hoblitt added a comment -

            It looks like my attempted update of this ticket yesterday was lost into the ether...

            Tim Jenness To be pedantic, eups does not produce the bNNNN numbers that I refer to as a "manifest id". Those are a product of lsst-build and are assigned as a monotonically incrementing value based on the latest "manifest id" recorded into the versiondb git repo that's in use. The manifest/version data committed to the versiondb git repo are normally pushed to a remote by lsstsw/bin/rebuild and is orthogonal to the "publishing" of an eups distrib tag.

            Previously, github-tag-release from sqre-codekit required by an eups distrb tag and manifest as input. There is now an optional --manifest-only flag that disables the eups version string cross-checking, which is only needed to ensure an eups distrib tag and git tag are in sync, and proceeds directly to using the product/sha index from the manifest to determine git tag locations. This allows an alternative workflow that does not require a full from git build + published eups distrib tag as the first steps as lsstsw/bin/rebuild -p ... followed by github-tag-release --ignore ... is sufficient to generate a git tag. I suspect in the future a similar workflow could be used to create a release branch at the beginning of an rc cycle. This alternative workflow was explored as Gabriele Comoretto stated a preference for using git as the sole source of truth for a release.

            Show
            jhoblitt Joshua Hoblitt added a comment - It looks like my attempted update of this ticket yesterday was lost into the ether... Tim Jenness To be pedantic, eups does not produce the bNNNN numbers that I refer to as a "manifest id". Those are a product of lsst-build and are assigned as a monotonically incrementing value based on the latest "manifest id" recorded into the versiondb git repo that's in use. The manifest/version data committed to the versiondb git repo are normally pushed to a remote by lsstsw/bin/rebuild and is orthogonal to the "publishing" of an eups distrib tag. Previously, github-tag-release from sqre-codekit required by an eups distrb tag and manifest as input. There is now an optional --manifest-only flag that disables the eups version string cross-checking, which is only needed to ensure an eups distrib tag and git tag are in sync, and proceeds directly to using the product/sha index from the manifest to determine git tag locations. This allows an alternative workflow that does not require a full from git build + published eups distrib tag as the first steps as lsstsw/bin/rebuild -p ... followed by github-tag-release --ignore ... is sufficient to generate a git tag. I suspect in the future a similar workflow could be used to create a release branch at the beginning of an rc cycle. This alternative workflow was explored as Gabriele Comoretto stated a preference for using git as the sole source of truth for a release.

              People

              • Assignee:
                jhoblitt Joshua Hoblitt
                Reporter:
                jhoblitt Joshua Hoblitt
                Watchers:
                Frossie Economou, Gabriele Comoretto, Joshua Hoblitt, Tim Jenness
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Summary Panel