Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1. Set environment variables for version & release candidate number.

    Code Block
    languagebash
    VERSION=0.1.0
    RC=0
    


  2. Download the release candidate tarbells and open the directory for the corresponding release candidate (e.g. https://dist.apache.org/repos/dist/dev/incubator/pinot/apache-pinot-incubating-0.1.0-rc0)

    Code Block
    languagebash
    mkdir pinot-dev-list
    cd pinot-dev-list
    wget https://dist.apache.org/repos/dist/dev/incubator/pinot/apache-pinot-incubating-${VERSION}-rc${RC}/apache-pinot-incubating-$VERSION${VERSION}-src.tar.gz
    wget https://dist.apache.org/repos/dist/dev/incubator/pinot/apache-pinot-incubating-${VERSION}-rc${RC}/apache-pinot-incubating-$VERSION${VERSION}-src.tar.gz.asc
    wget https://dist.apache.org/repos/dist/dev/incubator/pinot/apache-pinot-incubating-${VERSION}-rc${RC}/apache-pinot-incubating-$VERSION-src.tar.gz.sha512
    wget https://dist.apache.org/repos/dist/dev/incubator/pinot/apache-pinot-incubating-${VERSION}-rc${RC}/apache-pinot-incubating-$VERSION-bin.tar.gz
    wget https://dist.apache.org/repos/dist/dev/incubator/pinot/apache-pinot-incubating-${VERSION}-rc${RC}/apache-pinot-incubating-$VERSION-bin.tar.gz.asc
    wget https://dist.apache.org/repos/dist/dev/incubator/pinot/apache-pinot-incubating-${VERSION}-rc${RC}/apache-pinot-incubating-$VERSION-bin.tar.gz.sha512



  3. Verify bundle name, signature & SHA512 hash
    1. Verify if the bundle contains "incubating" in name (e.g. apache-pinot-incubating-x.x.x-src.tar.gz)
    2. Import public keys from Pinot release managers (need to do once)

      Code Block
      languagebash
      wget https://dist.apache.org/repos/dist/release/incubator/pinot/KEYS
      gpg --import KEYS

    1. Verify the signature

      Code Block
      languagebash
      gpg --verify apache-pinot-incubating-${VERSION}-bin.tar.gz.asc
      gpg --verify apache-pinot-incubating-${VERSION}-src.tar.gz.asc
      
      # Expected output
      gpg: assuming signed data in 'apache-pinot-incubating-x.x.x-bin.tar.gz'
      gpg: Signature made Mon Feb 11 13:23:40 2019 PST
      gpg: using RSA key FD534854D542FD474278B85344BA03AD164D961B
      gpg: Good signature from "Seunghyun Lee <snlee@apache.org>" [ultimate]

    2. Verify hashes

      Code Block
      languagebash
      # Compare the output with *.tar.gz.sha512 file
      shasum -a 512 apache-pinot-incubating-${VERSION}-bin.tar.gz
      cat apache-pinot-incubating-${VERSION}-bin.tar.gz.sha512
      
      shasum -a 512 apache-pinot-incubating-${VERSION}-src.tar.gz
      cat apache-pinot-incubating-${VERSION}-src.tar.gz.sha512

  4. Open a directory for the corresponding release candidate and untar the tarbell

    Code Block
    languagebash
    cd apache-pinot-incubating-${VERSION}-rc${RC} 
    tar -xzvf apache-pinot-incubating-${VERSION}-src.tar.gz
    tar -xzvf apache-pinot-incubating-${VERSION}-bin.tar.gz

  5. Verify git commit hash & tag 
    1. Checking if git commit hash provided in voting mail matches with the commit hash from the actual tag & checking if the source release matches with the git tag

      Code Block
      languagebash
      git clone -b release-${VERSION}-rc${RC} --single-branch --depth 1 https://github.com/apache/incubator-pinot.git pinot-git-src  
      cd pinot-git-src
      
      
      # Check git commit hash given here against the one given in the voting mail
      git log
      
      
      cd ..
      diff -r apache-pinot-incubating-${VERSION}-src pinot-git-src
      
      # Expected output is to only include lines starting with "Only in pinot-git-src..."
      Only in pinot-git-src: .codecov_bash
      Only in pinot-git-src: .codecov.yml
      ...


  6. Verify DISCLAIMER, LICENSE, NOTICE files are present in the extracted bundle.

  7. Verify if the source distribution can compile

    Code Block
    languagebash
    # Build Pinot (This will run license check, compilation, and tests)
    $ mvn clean install -Pbin-dist
    
    # Run Quick Demo
    $ cd pinot-distribution/target/apache-pinot-incubating-${VERSION}-bin
    $ bin/quick-start-offline.sh
    
    # At this point, open a web browser and go to http://localhost:9000/query and try to run some queries

  8. Verify if binary distribution are working well with the Quick Demo

    Code Block
    languagebash
    # Run Quick Demo
    $ cd apache-pinot-incubating-${VERSION}-bin/apache-pinot-incubating-${VERSION}-bin
    $ bin/quick-start-offline.sh
    
    # At this point, open a web browser and go to http://localhost:9000/query and try to run some queries

...