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

Automatically version installation documentation for pipelines.lsst.io

    XMLWordPrintable

    Details

      Description

      This ticket implements a set of tooling in documenteer that allows us to rendering installation documentation in pipelines.lsst.io that is exactly appropriate for the EUPS tag of the stack being documented. Some examples of functionality are:

      • Include the right EUPS tag in the eups distrib install documentation line.
      • Reference the right Python/Conda dependency files for the EUPS tag
      • Populate the version labels throughout the documentation.

      Inside the stack documentation build container we can use the EUPS_TAG environment variable. (https://github.com/lsst-sqre/jenkins-dm-jobs/blob/master/pipelines/lib/util.groovy#L1155)

      An alternative would be to use the EUPS APIs to figure out what tag is currently installed (this might be useful for local builds by developers, but in that case perhaps it would be better have some sort of default fallback).

        Attachments

          Activity

          Hide
          ktl Kian-Tat Lim added a comment -

          Is it possible (or another ticket) to link to the contemporary doxygen build for the EUPS tag, at least until doxygen documentation is automatically incorporated into pipelines.lsst.io?

          Show
          ktl Kian-Tat Lim added a comment - Is it possible (or another ticket) to link to the contemporary doxygen build for the EUPS tag, at least until doxygen documentation is automatically incorporated into pipelines.lsst.io?
          Hide
          jsick Jonathan Sick added a comment -

          Good ideal. I'll add that in.

          Show
          jsick Jonathan Sick added a comment - Good ideal. I'll add that in.
          Hide
          jsick Jonathan Sick added a comment -

          It turns out I can't link to the specific doxygen build because the Doxygen URLs are based on timestamps, not EUPS tags. http://doxygen.lsst.codes/stack/doxygen/

          Show
          jsick Jonathan Sick added a comment - It turns out I can't link to the specific doxygen build because the Doxygen URLs are based on timestamps, not EUPS tags.  http://doxygen.lsst.codes/stack/doxygen/
          Hide
          jsick Jonathan Sick added a comment -

          Joshua Hoblitt: It turns out the EUPS_TAG environment variable in the sqre/infra/documenteer Jenkins job is not working as I hoped. I did a build (347) with EUPS version d_2019_02_07 and pipelines_lsst_io Git ref tickets/DM-17065. But I'm seeing in the output (https://pipelines.lsst.io/v/DM-17065/) that the value of EUPS_TAG is not "d_2019_02_07", but instead, "current".

          Can we either change the behavior of the EUPS_TAG variable to match the specific EUPS tag of the software being built, or alternatively, should I look for an alternative way of getting this information from the build environment?

          Show
          jsick Jonathan Sick added a comment - Joshua Hoblitt : It turns out the EUPS_TAG environment variable in the sqre/infra/documenteer Jenkins job is not working as I hoped. I did a build ( 347 ) with EUPS version d_2019_02_07 and pipelines_lsst_io Git ref tickets/ DM-17065 . But I'm seeing in the output ( https://pipelines.lsst.io/v/DM-17065/)  that the value of EUPS_TAG is not " d_2019_02_07" , but instead, " current ". Can we either change the behavior of the EUPS_TAG variable to match the specific EUPS tag of the software being built, or alternatively, should I look for an alternative way of getting this information from the build environment?
          Hide
          jhoblitt Joshua Hoblitt added a comment -

          It looks like it is indeed being defaulted to current for some reason: https://github.com/lsst-sqre/jenkins-dm-jobs/blob/master/pipelines/lib/util.groovy#L1143 it is trivial to change but I don't recall why I would have wired it up that way... please confirm that you want make to change this in prod.

          Show
          jhoblitt Joshua Hoblitt added a comment - It looks like it is indeed being defaulted to current for some reason: https://github.com/lsst-sqre/jenkins-dm-jobs/blob/master/pipelines/lib/util.groovy#L1143 it is trivial to change but I don't recall why I would have wired it up that way... please confirm that you want make to change this in prod.
          Hide
          jsick Jonathan Sick added a comment -

          I default of "current" is fine, but in almost all cases I'd like that default to be overridden by the specific weekly/daily/major EUPS tag that's used to locate the right Docker image.

          If you can make that change to the Jenkins production environment that'd be awesome, thank you Joshua Hoblitt.

          Show
          jsick Jonathan Sick added a comment - I default of "current" is fine, but in almost all cases I'd like that default to be overridden by the specific weekly/daily/major EUPS tag that's used to locate the right Docker image. If you can make that change to the Jenkins production environment that'd be awesome, thank you Joshua Hoblitt .
          Hide
          jhoblitt Joshua Hoblitt added a comment - - edited

          Could one of [Jonathan Sick, Gabriele Comoretto [X]] review the lsst-sqre/jenkins-dm-jobs PR attached to this ticket?

          Show
          jhoblitt Joshua Hoblitt added a comment - - edited Could one of [ Jonathan Sick , Gabriele Comoretto [X] ] review the  lsst-sqre/jenkins-dm-jobs PR attached to this ticket?
          Hide
          jhoblitt Joshua Hoblitt added a comment -

          The fix has been merged to prod.

          Show
          jhoblitt Joshua Hoblitt added a comment - The fix has been merged to prod.
          Hide
          jsick Jonathan Sick added a comment -

          Perfect. Thanks Joshua Hoblitt!

          Show
          jsick Jonathan Sick added a comment - Perfect. Thanks Joshua Hoblitt !
          Show
          jsick Jonathan Sick added a comment - Hey Simon Krughoff , what do you think of this? See https://pipelines.lsst.io/v/DM-17065/  and  https://github.com/lsst/pipelines_lsst_io/pull/112
          Hide
          krughoff Simon Krughoff added a comment -

          Looks great.

          Show
          krughoff Simon Krughoff added a comment - Looks great.
          Hide
          swinbank John Swinbank added a comment -

          Awesome! Thanks Jonathan Sick!

          Show
          swinbank John Swinbank added a comment - Awesome! Thanks Jonathan Sick !
          Hide
          jsick Jonathan Sick added a comment -

          The update is deployed and is working well so far! If you go to a new-is edition like https://pipelines.lsst.io/v/weekly/install/newinstall.html you'll see that the installation instructions point the reader to the tagged version of newinstall and show the right weekly tag in the eups distrib install step.

          Show
          jsick Jonathan Sick added a comment - The update is deployed and is working well so far! If you go to a new-is edition like https://pipelines.lsst.io/v/weekly/install/newinstall.html  you'll see that the installation instructions point the reader to the tagged version of newinstall and show the right weekly tag in the eups distrib install step.
          Hide
          jsick Jonathan Sick added a comment -

          This will appear in documenteer 0.5.0+

          Show
          jsick Jonathan Sick added a comment - This will appear in documenteer 0.5.0+

            People

            Assignee:
            jsick Jonathan Sick
            Reporter:
            jsick Jonathan Sick
            Reviewers:
            Simon Krughoff
            Watchers:
            Gabriele Comoretto [X] (Inactive), John Swinbank, Jonathan Sick, Joshua Hoblitt, Kian-Tat Lim, Simon Krughoff
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Jenkins

                No builds found.