Uploaded image for project: 'TinkerPop'
  1. TinkerPop
  2. TINKERPOP-852

A shell script that validates the distribution artifacts at release time

Details

    Description

      Write a test-artifacts.sh that will do the following.

      • Download the apache-gremlin-console-x.y.z.zip (and -server and -source).
      • Unzip and make sure its not corrupt.
      • Check to make sure that doc/ directory exists (index.html there? images/ there?)
      • Check to make sure that javadocs/ directory exists. index.html ? GraphTraversal.html.
      • Check MD5, PGP, SHA1 against .zip.
      • Check bin/ to make sure .bat and .sh are there and filesize not 0.
      • Check LICENSE, NOTICE, DISCLAIMER, etc. exist and filesize is reasonable and that its valid ASCII text (not some corrupted stuff).
      • Check ext/ directory exists and default plugins there.
      • Check lib/ directory and jars are there and folder size is "reasonable."
      • Run gremlin.sh. Pipe in a script and make sure result is correct and exit code is 0.

      Attachments

        Activity

          Another. "Download" the apache-tinkerpop-source-x.y.z.zip, unpack it, and mvn clean install -Dmaven.test.skip=true and verify BUILD SUCCESSFUL.

          okram Marko A. Rodriguez added a comment - Another. "Download" the apache-tinkerpop-source-x.y.z.zip , unpack it, and mvn clean install -Dmaven.test.skip=true and verify BUILD SUCCESSFUL .
          dkuppitz Daniel Kuppitz added a comment -

          The Gremlin Server distribution contains an empty ext/ directory. Is that expected or did my script just spot the first binary distribution bug?

          dkuppitz Daniel Kuppitz added a comment - The Gremlin Server distribution contains an empty ext/ directory. Is that expected or did my script just spot the first binary distribution bug?

          Gremlin Server ships with TinkerGraph which isn't deployed as a plugin like it is in the console. There aren't other plugins. We could change that for consistency sake....i think. let me go look at it.

          spmallette Stephen Mallette added a comment - Gremlin Server ships with TinkerGraph which isn't deployed as a plugin like it is in the console. There aren't other plugins. We could change that for consistency sake....i think. let me go look at it.

          Ok - altered the packaging so Gremlin Server is like Gremlin Console.

          https://github.com/apache/incubator-tinkerpop/commit/1c39c99b9cba6e331a11217adcb4a0d9a30256b6

          Was able to start Gremlin Server with a TinkerGraph then connect to it from Gremlin Console so I think it's good to go.

          spmallette Stephen Mallette added a comment - Ok - altered the packaging so Gremlin Server is like Gremlin Console. https://github.com/apache/incubator-tinkerpop/commit/1c39c99b9cba6e331a11217adcb4a0d9a30256b6 Was able to start Gremlin Server with a TinkerGraph then connect to it from Gremlin Console so I think it's good to go.
          dkuppitz Daniel Kuppitz added a comment -

          Verifications / validations for the binary releases are done. okram, do you want another script for the source release validation or shall I just put everything into the same script?

          dkuppitz Daniel Kuppitz added a comment - Verifications / validations for the binary releases are done. okram , do you want another script for the source release validation or shall I just put everything into the same script?

          I would put it all in the same script.

          okram Marko A. Rodriguez added a comment - I would put it all in the same script.
          dkuppitz Daniel Kuppitz added a comment -

          Validation for source distributions are added. okram, if it works on your Mac, feel free to close the ticket.

          dkuppitz Daniel Kuppitz added a comment - Validation for source distributions are added. okram , if it works on your Mac, feel free to close the ticket.

          I tested the script on my Mac OSX and it worked. This is a very cool tool.

          Still weird how on my Mac it has `U` prefixes everywhere. Regardless, it works.

          $ bin/validate-distribution.sh 3.0.1-incubating
          
          Validating binary distributions
          
          * downloading Uapache Ugremlin Uconsole (apache-gremlin-console-3.0.1-incubating-bin.zip)... OK
          * validating signatures and checksums ...
            * PGP signature ... OK
            * MD5 checksum ... OK
            * SHA1 chacksum ... OK
          * unzipping Uapache Ugremlin Uconsole ... OK
          * validating Uapache Ugremlin Uconsole's docs ... OK
          * validating Uapache Ugremlin Uconsole's binaries ... OK
          * validating Uapache Ugremlin Uconsole's legal files ...
            * LICENSE ... OK
            * NOTICE ... OK
            * DISCLAIMER ... OK
          * validating Uapache Ugremlin Uconsole's plugin directory ... OK
          * validating Uapache Ugremlin Uconsole's lib directory ... OK
          * testing script evaluation ... OK
          
          * downloading Uapache Ugremlin Userver (apache-gremlin-server-3.0.1-incubating-bin.zip)... OK
          * validating signatures and checksums ...
            * PGP signature ... OK
            * MD5 checksum ... OK
            * SHA1 chacksum ... OK
          * unzipping Uapache Ugremlin Userver ... OK
          * validating Uapache Ugremlin Userver's docs ... OK
          * validating Uapache Ugremlin Userver's binaries ... OK
          * validating Uapache Ugremlin Userver's legal files ...
            * LICENSE ... OK
            * NOTICE ... OK
            * DISCLAIMER ... OK
          * validating Uapache Ugremlin Userver's plugin directory ... OK
          * validating Uapache Ugremlin Userver's lib directory ... OK
          
          Validating source distribution
          
          * downloading Uapache Utinkerpop U3.0.1 (apache-tinkerpop-3.0.1-incubating-src.zip)... OK
          * validating signatures and checksums ...
            * PGP signature ... OK
            * MD5 checksum ... OK
            * SHA1 chacksum ... OK
          * unzipping Uapache Utinkerpop U3.0.1 ... OK
          * building project ... OK
          
          okram Marko A. Rodriguez added a comment - I tested the script on my Mac OSX and it worked. This is a very cool tool. Still weird how on my Mac it has `U` prefixes everywhere. Regardless, it works. $ bin/validate-distribution.sh 3.0.1-incubating Validating binary distributions * downloading Uapache Ugremlin Uconsole (apache-gremlin-console-3.0.1-incubating-bin.zip)... OK * validating signatures and checksums ... * PGP signature ... OK * MD5 checksum ... OK * SHA1 chacksum ... OK * unzipping Uapache Ugremlin Uconsole ... OK * validating Uapache Ugremlin Uconsole's docs ... OK * validating Uapache Ugremlin Uconsole's binaries ... OK * validating Uapache Ugremlin Uconsole's legal files ... * LICENSE ... OK * NOTICE ... OK * DISCLAIMER ... OK * validating Uapache Ugremlin Uconsole's plugin directory ... OK * validating Uapache Ugremlin Uconsole's lib directory ... OK * testing script evaluation ... OK * downloading Uapache Ugremlin Userver (apache-gremlin-server-3.0.1-incubating-bin.zip)... OK * validating signatures and checksums ... * PGP signature ... OK * MD5 checksum ... OK * SHA1 chacksum ... OK * unzipping Uapache Ugremlin Userver ... OK * validating Uapache Ugremlin Userver's docs ... OK * validating Uapache Ugremlin Userver's binaries ... OK * validating Uapache Ugremlin Userver's legal files ... * LICENSE ... OK * NOTICE ... OK * DISCLAIMER ... OK * validating Uapache Ugremlin Userver's plugin directory ... OK * validating Uapache Ugremlin Userver's lib directory ... OK Validating source distribution * downloading Uapache Utinkerpop U3.0.1 (apache-tinkerpop-3.0.1-incubating-src.zip)... OK * validating signatures and checksums ... * PGP signature ... OK * MD5 checksum ... OK * SHA1 chacksum ... OK * unzipping Uapache Utinkerpop U3.0.1 ... OK * building project ... OK

          People

            dkuppitz Daniel Kuppitz
            okram Marko A. Rodriguez
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: