Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note

If the validation failed on closing the the repo, please verify what makes it failed. E.g. it may fail at missing asc signature file because some other plugin overrides the original file right after the built-in gpg plugin signed the file. In that case, please add the following code after that plugin (e.g. scala-maven-plugin in pinot-spark-connector module overrides the javadoc jar, the related asc file is missing for that jar):

Code Block
                </plugins>
                    ... // This is the previous plugin that overrides the original file which was already signed.
                    <plugin>
                        <!-- GPG signing -->
                        <groupId>org.apache.maven.plugins</groupId> // Add this plugin to sign after the file is updated.
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.6</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase> // Put the phase to be the same as the last step of the previous plugin, so that the changed file will be signed.
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                                <configuration>
                                    <excludes>
                                        <exclude>**/*.asc</exclude> // Skip signing the signature file again.
                                        <exclude>*.asc</exclude>
                                    </excludes>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>


  1. Create a source/binary tarballs & Staging source and binary release tarballs

    Code Block
    languagebash
    $ cd <pinot_source_code_root_path>
    
    # Check out the release candidate tag
    $ git checkout tags/release-$VERSION-rc$RC
    
    # Check git hash for the official release
    $ git log
    
    # Create the package
    $ mvn install -DskipTests -Papache-release,bin-dist
    
    $ cd pinot-distribution/target
    $ ls -l
    ...
    -rw-r--r--  1 xiangfu  staff  176867304 Mar 16 01:01 apache-pinot-incubating-0.3.0-bin.tar.gz
    -rw-r--r--  1 xiangfu  staff        833 Mar 16 01:01 apache-pinot-incubating-0.3.0-bin.tar.gz.asc
    -rw-r--r--  1 xiangfu  staff        128 Mar 16 01:01 apache-pinot-incubating-0.3.0-bin.tar.gz.sha512
    -rw-r--r--  1 xiangfu  staff   44435410 Mar 16 01:01 apache-pinot-incubating-0.3.0-src.tar.gz
    -rw-r--r--  1 xiangfu  staff        833 Mar 16 01:01 apache-pinot-incubating-0.3.0-src.tar.gz.asc
    -rw-r--r--  1 xiangfu  staff        128 Mar 16 01:01 apache-pinot-incubating-0.3.0-src.tar.gz.sha512
    ...
    
    # Copy files to the pinot-dev-dist svn repo
    $ mkdir /path/to/pinot-dev-dist/apache-pinot-incubating-$VERSION-rc$RC
    $ cp apache-pinot-incubating-$VERSION-*.tar.gz* /pat/to/pinot-dev-dist/apache-pinot-incubating-$VERSION-rc$RC


  2. Validate the release that you built, using Validating a release candidate
  3. Commit the files to svn repository

...