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

github repos with incorrect team membership for automated tagging

    Details

    • Type: Bug
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: stack release
    • Labels:
      None

      Description

      The github_tag_versions script, used to apply git tags from eups tags + versiondb manifests, had its error reporting overhauled in DM-14097. This includes better reporting of github repos that are associated with products in an eups tag but do not have the correct github team membership for a git tag to be applied.

      This is from verifying w_2018_15:

      WARNING:codekit:No action for lsst/astrometry_net_data
        has teams: ['Overlords']
        does not belong to any of: ['Data Management', 'DM Externals']                
      WARNING:codekit:No action for lsst/meas_mosaic
        has teams: []
        does not belong to any of: ['Data Management', 'DM Externals']                
      WARNING:codekit:No action for lsst/qserv_distrib
        has teams: ['Overlords', 'Database']
        does not belong to any of: ['Data Management', 'DM Externals']                
      WARNING:codekit:No action for lsst/qserv_testdata
        has teams: ['Overlords', 'Database']
        does not belong to any of: ['Data Management', 'DM Externals']                
      WARNING:codekit:No action for lsst/validation_data_decam
        has teams: ['DM Auxilliaries']
        does not belong to any of: ['Data Management', 'DM Externals']          
      

      This has been a long running problem due to both a lack of reporting (technical) and developer education. I suspect this will some day bite us if we ever try to rebuild past releases from git tags. I'm considering making this scenario fatal on the weekly release pipelines (nightly releases do no receive git tags) but I'm not very enthusiastic, in principle, about designing a process to always play Whac-A-Mole after the fact.

      One possibility would be to incorporate similar checking into stack-os-matric and make it the developers responsibility upfront. A concern I have about that approach is that a check for lsst_disrib is almost 600 github rest API calls (we might be able to cut this down with ETags but would require some investigation). The github API request limit is 5K/hr per user – so we'd probably be OK as its unlikely we'll be able to do 10 builds of lsst_distrib per hour any time soon. However, that feels like being a bad citizen with the gh API (we've already had the travis api get shut off on us due to heavy regular use) and we really should build a local validation service if we want to check every build. Another option would be have an automated and highly visible nag, such as notifications posted to #dm something like once a day.

      Do folks have any comments or suggestions?

        Attachments

          Issue Links

            Activity

            Hide
            jhoblitt Joshua Hoblitt added a comment -

            Per DM-14163, dax packages are going to be removed from the nightly/weekly releases, which should avoid the confusion that has been expressed as to why these packages are present in the lsst_build manifest files.

            I think a reasonable way forward in the short term would be to make the weekly git tag for science pipelines ignore github repo team membership. The weekly tag does not start with a numeral and doesn't effect lsst_build's package version detection logic. The nightly release process does a dry run but does not create actual git tags. This could be modified to be fatal and generate a nag. A major advantage of this scheme is that it avoids requiring a human needed to investigate a weekly release failure on the weekend due to github team membership while also making it likely that these problems are caught relatively quickly.

            Show
            jhoblitt Joshua Hoblitt added a comment - Per DM-14163 , dax packages are going to be removed from the nightly/weekly releases, which should avoid the confusion that has been expressed as to why these packages are present in the lsst_build manifest files. I think a reasonable way forward in the short term would be to make the weekly git tag for science pipelines ignore github repo team membership. The weekly tag does not start with a numeral and doesn't effect lsst_build 's package version detection logic. The nightly release process does a dry run but does not create actual git tags. This could be modified to be fatal and generate a nag. A major advantage of this scheme is that it avoids requiring a human needed to investigate a weekly release failure on the weekend due to github team membership while also making it likely that these problems are caught relatively quickly.
            Hide
            jhoblitt Joshua Hoblitt added a comment - - edited

            My rough plan is to:

            • Make github-tag-version fail if there are repos as part of the build that will not be tagged. This may be used as part of the daily release "dry run" to catch repos with missing team membership.
            • Add an option to github-tag-version to ignore team membership and apply a git tag only if that tag does not start with a number. This flag may be used to ensure that the weekly release will apply git tags to the appropriate repos.
            • Add an option to github-tag-teams to fail if the git tag to be applied already exists in any repo.
            • Add an option to github-tag-version to ignore eups product versions when matching eups disitrib tag and versiondb manifest files. This will allow verifying an official release eups distrib tag against git tags and find git repos missing tags.
            • Modify lsstsw's publish command to include the original bNNNN number as a comment in the eups distrib tag file when it is renamed. Going forward, this will make it much easier to determine the versiondb manifest file that corresponds to a published eups distrib tag.
            Show
            jhoblitt Joshua Hoblitt added a comment - - edited My rough plan is to: Make github-tag-version fail if there are repos as part of the build that will not be tagged. This may be used as part of the daily release "dry run" to catch repos with missing team membership. Add an option to github-tag-version to ignore team membership and apply a git tag only if that tag does not start with a number. This flag may be used to ensure that the weekly release will apply git tags to the appropriate repos. Add an option to github-tag-teams to fail if the git tag to be applied already exists in any repo. Add an option to github-tag-version to ignore eups product versions when matching eups disitrib tag and versiondb manifest files. This will allow verifying an official release eups distrib tag against git tags and find git repos missing tags. Modify lsstsw 's publish command to include the original bNNNN number as a comment in the eups distrib tag file when it is renamed. Going forward, this will make it much easier to determine the versiondb manifest file that corresponds to a published eups distrib tag.
            Hide
            jhoblitt Joshua Hoblitt added a comment -

            I'm working on wrapping up this ticket and needed to repair the 15.0 release git tags as the live github org is used for sqre-codekit read only accept tests. I'm not sure how practical it is to fixup release prior to 15.0 due to repo team membership changes (have not investigated).

            These team changes were needed:

            astronomy_data_net:
                - +Data Management
                - +DM Externals
            validation_data_decam:
                - +Data Management
                - -DM Auxilliaries
            

            The 15.0 release had 3 eups product repos missing tags and several tags which were in the correct place but oddly had a \n in the tag message. These have been repaired and this release tag now passes verification.

            Tag changes:

            INFO:codekit:tagging repo: lsst/astrometry_net_data @
              sha: eaffc02df2119a5f17862630057df8974f07ca23 as v15.0
              (eups version: 8.0.0.0+23)
              external repo: True
              replace existing tag: False            
            DEBUG:codekit:  created tag object GitTag(tag="v15.0", sha="f747f0d6cb3c2e93abf9c75c5af5139dea345be2")
            DEBUG:codekit:  created ref: GitRef(ref="refs/tags/v15.0")
            INFO:codekit:tagging repo: lsst/ci_ctio0m9 @
              sha: be69b68c0a56247e9001f0aacf3f1f5bc4ca8671 as 15.0
              (eups version: master-gbe69b68c0a+87)
              external repo: False
              replace existing tag: True            
            DEBUG:codekit:  created tag object GitTag(tag="15.0", sha="556a0350fa7c931f8d152b819d96d336ef571329")
            DEBUG:codekit:  updated existing ref: GitRef(ref="refs/tags/15.0")
            INFO:codekit:tagging repo: lsst/cp_pipe @
              sha: fd99b2ef0892ac8f11ad23fc7fc03bc0654162fe as 15.0
              (eups version: master-gfd99b2ef08)
              external repo: False
              replace existing tag: True            
            DEBUG:codekit:  created tag object GitTag(tag="15.0", sha="6cb4d08e5e6cba6d5a4f4f4a5500ec532a5c18f2")
            DEBUG:codekit:  updated existing ref: GitRef(ref="refs/tags/15.0")
            INFO:codekit:tagging repo: lsst-dm/legacy-datarel @
              sha: 46ffeb48efd2142c7dce67b69e1b8c4202801e07 as 15.0
              (eups version: 14.0+75)
              external repo: False
              replace existing tag: False            
            DEBUG:codekit:  created tag object GitTag(tag="15.0", sha="3c9d8193177c53dd60dbf9ce3f1c1cb302129caa")
            DEBUG:codekit:  created ref: GitRef(ref="refs/tags/15.0")
            INFO:codekit:tagging repo: lsst/display_firefly @
              sha: f2f569af731faefa29815dec31e942b2328dec9c as 15.0
              (eups version: master-gf2f569af73+3)
              external repo: False
              replace existing tag: True            
            DEBUG:codekit:  created tag object GitTag(tag="15.0", sha="41c75f6f2499c614af4f973767ae67851f0a0028")
            DEBUG:codekit:  updated existing ref: GitRef(ref="refs/tags/15.0")
            INFO:codekit:tagging repo: lsst/jointcal_cholmod @
              sha: 48cb81d1452d66b6f52c02d3f3ec9ea99b564915 as v15.0
              (eups version: master-g48cb81d145+27)
              external repo: True
              replace existing tag: True            
            DEBUG:codekit:  created tag object GitTag(tag="v15.0", sha="68b3725144c0a95b4f6d5ca94ff1763a9ce27e24")
            DEBUG:codekit:  updated existing ref: GitRef(ref="refs/tags/v15.0")
            INFO:codekit:tagging repo: lsst/obs_ctio0m9 @
              sha: 3292b35ddde7f7297e97407a9d0359e3465eea94 as 15.0
              (eups version: master-g3292b35ddd+55)
              external repo: False
              replace existing tag: True            
            DEBUG:codekit:  created tag object GitTag(tag="15.0", sha="d9d688a480426783cb5f7f01aa172d418fcccb8e")
            DEBUG:codekit:  updated existing ref: GitRef(ref="refs/tags/15.0")
            INFO:codekit:tagging repo: lsst-dm/legacy-skypix @
              sha: a19a71216be61195a17415af196153b542b676df as 15.0
              (eups version: 14.0-1-ga19a712+6)
              external repo: False
              replace existing tag: True            
            DEBUG:codekit:  created tag object GitTag(tag="15.0", sha="d4802f937395aa9740bbed3ef7b1e626ae8a32e8")
            DEBUG:codekit:  updated existing ref: GitRef(ref="refs/tags/15.0")
            INFO:codekit:tagging repo: lsst/validation_data_decam @
              sha: 1cc1f66a895e1d76b6dd70bf9e358d075736737a as 15.0
              (eups version: master-g1cc1f66a89)
              external repo: False
              replace existing tag: False            
            DEBUG:codekit:  created tag object GitTag(tag="15.0", sha="229e057e9e894585b3ce18074f82b5047dd57a73")
            DEBUG:codekit:  created ref: GitRef(ref="refs/tags/15.0")
            

            Show
            jhoblitt Joshua Hoblitt added a comment - I'm working on wrapping up this ticket and needed to repair the 15.0 release git tags as the live github org is used for sqre-codekit read only accept tests. I'm not sure how practical it is to fixup release prior to 15.0 due to repo team membership changes (have not investigated). These team changes were needed: astronomy_data_net: - +Data Management - +DM Externals validation_data_decam: - +Data Management - -DM Auxilliaries The 15.0 release had 3 eups product repos missing tags and several tags which were in the correct place but oddly had a \n in the tag message. These have been repaired and this release tag now passes verification. Tag changes: INFO:codekit:tagging repo: lsst/astrometry_net_data @ sha: eaffc02df2119a5f17862630057df8974f07ca23 as v15. 0 (eups version: 8.0 . 0.0 + 23 ) external repo: True replace existing tag: False DEBUG:codekit: created tag object GitTag(tag= "v15.0" , sha= "f747f0d6cb3c2e93abf9c75c5af5139dea345be2" ) DEBUG:codekit: created ref: GitRef(ref= "refs/tags/v15.0" ) INFO:codekit:tagging repo: lsst/ci_ctio0m9 @ sha: be69b68c0a56247e9001f0aacf3f1f5bc4ca8671 as 15.0 (eups version: master-gbe69b68c0a+ 87 ) external repo: False replace existing tag: True DEBUG:codekit: created tag object GitTag(tag= "15.0" , sha= "556a0350fa7c931f8d152b819d96d336ef571329" ) DEBUG:codekit: updated existing ref: GitRef(ref= "refs/tags/15.0" ) INFO:codekit:tagging repo: lsst/cp_pipe @ sha: fd99b2ef0892ac8f11ad23fc7fc03bc0654162fe as 15.0 (eups version: master-gfd99b2ef08) external repo: False replace existing tag: True DEBUG:codekit: created tag object GitTag(tag= "15.0" , sha= "6cb4d08e5e6cba6d5a4f4f4a5500ec532a5c18f2" ) DEBUG:codekit: updated existing ref: GitRef(ref= "refs/tags/15.0" ) INFO:codekit:tagging repo: lsst-dm/legacy-datarel @ sha: 46ffeb48efd2142c7dce67b69e1b8c4202801e07 as 15.0 (eups version: 14.0 + 75 ) external repo: False replace existing tag: False DEBUG:codekit: created tag object GitTag(tag= "15.0" , sha= "3c9d8193177c53dd60dbf9ce3f1c1cb302129caa" ) DEBUG:codekit: created ref: GitRef(ref= "refs/tags/15.0" ) INFO:codekit:tagging repo: lsst/display_firefly @ sha: f2f569af731faefa29815dec31e942b2328dec9c as 15.0 (eups version: master-gf2f569af73+ 3 ) external repo: False replace existing tag: True DEBUG:codekit: created tag object GitTag(tag= "15.0" , sha= "41c75f6f2499c614af4f973767ae67851f0a0028" ) DEBUG:codekit: updated existing ref: GitRef(ref= "refs/tags/15.0" ) INFO:codekit:tagging repo: lsst/jointcal_cholmod @ sha: 48cb81d1452d66b6f52c02d3f3ec9ea99b564915 as v15. 0 (eups version: master-g48cb81d145+ 27 ) external repo: True replace existing tag: True DEBUG:codekit: created tag object GitTag(tag= "v15.0" , sha= "68b3725144c0a95b4f6d5ca94ff1763a9ce27e24" ) DEBUG:codekit: updated existing ref: GitRef(ref= "refs/tags/v15.0" ) INFO:codekit:tagging repo: lsst/obs_ctio0m9 @ sha: 3292b35ddde7f7297e97407a9d0359e3465eea94 as 15.0 (eups version: master-g3292b35ddd+ 55 ) external repo: False replace existing tag: True DEBUG:codekit: created tag object GitTag(tag= "15.0" , sha= "d9d688a480426783cb5f7f01aa172d418fcccb8e" ) DEBUG:codekit: updated existing ref: GitRef(ref= "refs/tags/15.0" ) INFO:codekit:tagging repo: lsst-dm/legacy-skypix @ sha: a19a71216be61195a17415af196153b542b676df as 15.0 (eups version: 14.0 - 1 -ga19a712+ 6 ) external repo: False replace existing tag: True DEBUG:codekit: created tag object GitTag(tag= "15.0" , sha= "d4802f937395aa9740bbed3ef7b1e626ae8a32e8" ) DEBUG:codekit: updated existing ref: GitRef(ref= "refs/tags/15.0" ) INFO:codekit:tagging repo: lsst/validation_data_decam @ sha: 1cc1f66a895e1d76b6dd70bf9e358d075736737a as 15.0 (eups version: master-g1cc1f66a89) external repo: False replace existing tag: False DEBUG:codekit: created tag object GitTag(tag= "15.0" , sha= "229e057e9e894585b3ce18074f82b5047dd57a73" ) DEBUG:codekit: created ref: GitRef(ref= "refs/tags/15.0" )
            Hide
            jhoblitt Joshua Hoblitt added a comment -

            Summary of work:

            Renamed commands to follow <service><verb><noun>:

            • github-fork-repos -> github-fork-org
            • github-delete-shadow -> github-decimate-org
            • github-tag-version -> github-tag-release

            New commands:

            • github-get-ratelimit

            General changes:

            • Switch to setuptools_scm for versioning + travis deployments for continuous deployment
            • argparse action class used for --version completely removing hardcoded version strings.
            • Forklift migration from github3.py -> pygithub
            • switch from urllib3 -> requests
            • use python logging instead of print()
            • extensive debugging messages
            • multi-leveled debug verbosity
            • renaming of option flags for consistency and better self documentation
            • prune unused code
            • --limit* option flags useful for debugging
            • custom exception classes for many error types to allow more fine grained error response
            • new parser classes for eups tags and versiondb manifests
            • additional (simple) acceptance tests running under travis
            • The error handling has been improved and most of the codekit utilities and
              the order of operations has been reworked so, to the extent possible, reads/sanity checks/etc. happen prior to attempting to make state changes. The goal is that a utility will fail, listing as many errors as possible, prior to attempting to create a tag, delete a tag, etc.
            • github-fork-org and github-decimate-org where heavily refactored to
              support live testing of tagging operations.

            Plan execution:

            • _Make github-tag-version fail if there are repos as part of the build
              that will not be tagged. This may be used as part of the daily release "dry
              run" to catch repos with missing team membership._

            github-tag-version now pedantic checks for problems and will fail by default. Vanilla and external eups products are now tagged as one operation to ensure that no products/repos may slip through without being tagged. It also has a `--very` mode to inspect prevous release tags.

            • _Add an option to github-tag-version to ignore team membership and apply
              a git tag only if that tag does not start with a number. This flag may be
              used to ensure that the weekly release will apply git tags to the appropriate
              repos._

            This was not implimented. Instead, a --external-team flag was added to
            github-tag-version which causes a v to prefix to the tag, if the tag starts with a number, for only the specified team(s).

            • _Add an option to github-tag-teams to fail if the git tag to be applied
              already exists in any repo._

            Instead of an option, this is now an unconditional behavior unless
            --force-tag is enabled to allow "moving" an existing git tag.

            • _Add an option to github-tag-version to ignore eups product versions when
              matching eups disitrib tag and versiondb manifest files. This will allow
              verifying an official release eups distrib tag against git tags and find git
              repos missing tags._

            The new --ignore-version flag will cause mismatches between the product
            version strings in the eups tag file and versiondb manifest to be ignored.

            • _Modify lsstsw's publish command to include the original bNNNN
              number as a comment in the eups distrib tag file when it is renamed. Going
              forward, this will make it much easier to determine the versiondb manifest
              file that corresponds to a published eups distrib tag._

            The manifest BUILD ID is now inserted into eups tag files as a comment
            starting with d_2018_05_08.

            $ curl -sSL https://eups.lsst.codes/stack/src/tags/d_2018_05_29.list | head -n2
            EUPS distribution d_2018_05_29 version list. Version 1.0
            #BUILD=b3632
            

            also note that:

            The git tag message format on weeklies was ...<git tag>/<manifest>$, which
            is restarting the git tag name. ...<eups tag>/<manifest>$ should be more
            helpful.

            Eg.,

                Version w.2018.18 release from w.2018.18/b3595
             
                Version w.2018.18 release from w_2018_18/b3595
            

            Show
            jhoblitt Joshua Hoblitt added a comment - Summary of work: Renamed commands to follow <service> <verb> <noun> : github-fork-repos -> github-fork-org github-delete-shadow -> github-decimate-org github-tag-version -> github-tag-release New commands: github-get-ratelimit General changes: Switch to setuptools_scm for versioning + travis deployments for continuous deployment argparse action class used for --version completely removing hardcoded version strings. Forklift migration from github3.py -> pygithub switch from urllib3 -> requests use python logging instead of print() extensive debugging messages multi-leveled debug verbosity renaming of option flags for consistency and better self documentation prune unused code --limit* option flags useful for debugging custom exception classes for many error types to allow more fine grained error response new parser classes for eups tags and versiondb manifests additional (simple) acceptance tests running under travis The error handling has been improved and most of the codekit utilities and the order of operations has been reworked so, to the extent possible, reads/sanity checks/etc. happen prior to attempting to make state changes. The goal is that a utility will fail, listing as many errors as possible, prior to attempting to create a tag, delete a tag, etc. github-fork-org and github-decimate-org where heavily refactored to support live testing of tagging operations. Plan execution: _Make github-tag-version fail if there are repos as part of the build that will not be tagged. This may be used as part of the daily release "dry run" to catch repos with missing team membership._ github-tag-version now pedantic checks for problems and will fail by default. Vanilla and external eups products are now tagged as one operation to ensure that no products/repos may slip through without being tagged. It also has a `--very` mode to inspect prevous release tags. _Add an option to github-tag-version to ignore team membership and apply a git tag only if that tag does not start with a number. This flag may be used to ensure that the weekly release will apply git tags to the appropriate repos._ This was not implimented. Instead, a --external-team flag was added to github-tag-version which causes a v to prefix to the tag, if the tag starts with a number, for only the specified team(s). _Add an option to github-tag-teams to fail if the git tag to be applied already exists in any repo._ Instead of an option, this is now an unconditional behavior unless --force-tag is enabled to allow "moving" an existing git tag. _Add an option to github-tag-version to ignore eups product versions when matching eups disitrib tag and versiondb manifest files. This will allow verifying an official release eups distrib tag against git tags and find git repos missing tags._ The new --ignore-version flag will cause mismatches between the product version strings in the eups tag file and versiondb manifest to be ignored. _Modify lsstsw 's publish command to include the original bNNNN number as a comment in the eups distrib tag file when it is renamed. Going forward, this will make it much easier to determine the versiondb manifest file that corresponds to a published eups distrib tag._ The manifest BUILD ID is now inserted into eups tag files as a comment starting with d_2018_05_08 . $ curl -sSL https://eups.lsst.codes/stack/src/tags/d_2018_05_29.list | head -n2 EUPS distribution d_2018_05_29 version list. Version 1.0 #BUILD=b3632 also note that: The git tag message format on weeklies was ...<git tag>/<manifest>$ , which is restarting the git tag name. ...<eups tag>/<manifest>$ should be more helpful. Eg., Version w.2018.18 release from w.2018.18/b3595   Version w.2018.18 release from w_2018_18/b3595
            Hide
            jhoblitt Joshua Hoblitt added a comment -

            7.0.0 is on its way to pypi.
             

             .gitignore                             |   3 +
             .mdlrc                                 |   1 +
             .travis.yml                            | 183 +++++++-
             README.md                              |  79 +++-
             TODO.md                                |  44 ++
             codekit/cli/github_auth.py             | 101 +++--
             codekit/cli/github_decimate_org.py     | 230 ++++++++++
             codekit/cli/github_delete_shadow.py    | 100 -----
             codekit/cli/github_fork_org.py         | 409 +++++++++++++++++
             codekit/cli/github_fork_repos.py       |  76 ----
             codekit/cli/github_get_ratelimit.py    |  78 ++++
             codekit/cli/github_list_repos.py       |  69 ++-
             codekit/cli/github_mv_repos_to_team.py | 186 +++++---
             codekit/cli/github_tag_release.py      | 778 +++++++++++++++++++++++++++++++++
             codekit/cli/github_tag_teams.py        | 457 ++++++++++++-------
             codekit/cli/github_tag_version.py      | 480 --------------------
             codekit/cli/lsst_bp.py                 | 129 ------
             codekit/codetools.py                   | 465 +++++++++-----------
             codekit/eups.py                        | 185 ++++++++
             codekit/licensing.py                   | 247 -----------
             codekit/progressbar.py                 |  90 ++++
             codekit/pygithub.py                    | 356 +++++++++++++++
             codekit/versiondb.py                   | 135 ++++++
             docker/Dockerfile                      |   2 +-
             setup.py                               |  28 +-
             tests/eups/data/d_2018_05_08.list      | 130 ++++++
             tests/eups/data/v15_0.list             | 130 ++++++
             tests/eups/test_eupstag.py             |  86 ++++
             tests/eups/test_git_tag2eups_tag.py    |  49 +++
             tests/pygithub/test_targettag.py       |  69 +++
             tests/test_licensing.py                | 135 ------
             tests/versiondb/data/b3504.txt         | 133 ++++++
             tests/versiondb/test_manifest.py       |  56 +++
             33 files changed, 3970 insertions(+), 1729 deletions(-)
            

             

            Show
            jhoblitt Joshua Hoblitt added a comment - 7.0.0 is on its way to pypi.    .gitignore                             |   3 +  .mdlrc                                 |   1 +  .travis.yml                            | 183 +++++++-  README.md                              |  79 +++-  TODO.md                                |  44 ++  codekit/cli/github_auth.py             | 101 +++--  codekit/cli/github_decimate_org.py     | 230 ++++++++++  codekit/cli/github_delete_shadow.py    | 100 -----  codekit/cli/github_fork_org.py         | 409 +++++++++++++++++  codekit/cli/github_fork_repos.py       |  76 ----  codekit/cli/github_get_ratelimit.py    |  78 ++++  codekit/cli/github_list_repos.py       |  69 ++-  codekit/cli/github_mv_repos_to_team.py | 186 +++++---  codekit/cli/github_tag_release.py      | 778 +++++++++++++++++++++++++++++++++  codekit/cli/github_tag_teams.py        | 457 ++++++++++++-------  codekit/cli/github_tag_version.py      | 480 --------------------  codekit/cli/lsst_bp.py                 | 129 ------  codekit/codetools.py                   | 465 +++++++++-----------  codekit/eups.py                        | 185 ++++++++  codekit/licensing.py                   | 247 -----------  codekit/progressbar.py                 |  90 ++++  codekit/pygithub.py                    | 356 +++++++++++++++  codekit/versiondb.py                   | 135 ++++++  docker/Dockerfile                      |   2 +-  setup.py                               |  28 +-  tests/eups/data/d_2018_05_08.list      | 130 ++++++  tests/eups/data/v15_0.list             | 130 ++++++  tests/eups/test_eupstag.py             |  86 ++++  tests/eups/test_git_tag2eups_tag.py    |  49 +++  tests/pygithub/test_targettag.py       |  69 +++  tests/test_licensing.py                | 135 ------  tests/versiondb/data/b3504.txt         | 133 ++++++  tests/versiondb/test_manifest.py       |  56 +++   33 files changed, 3970 insertions(+), 1729 deletions(-)  

              People

              • Assignee:
                jhoblitt Joshua Hoblitt
                Reporter:
                jhoblitt Joshua Hoblitt
                Watchers:
                Fritz Mueller, Frossie Economou, Gabriele Comoretto, John Swinbank, Jonathan Sick, Joshua Hoblitt, Kian-Tat Lim, Simon Krughoff, Tim Jenness
              • Votes:
                0 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Summary Panel