Versions Compared

Key

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

...

Code Block
languagebash
$ sudo apt-get install gnupg
$ gpg --gen-key # Create new key
$ gpg --fingerprint # Get key digest
# Upload digest to id.apache.org (gpg --fingerprint)
$ gpg --send-key <KEY ID> # Distribute key
$ gpg --output pwendell.asc --export -a <KEY_ID>
# copy public key to Apache web space, name it <KEY_ID>.asc
# Create an FOAF file and add it via svn (see http://people.apache.org/foaf/)
#    -> should include key fingerprint
# Eventually key will show up on apache people page (e.g. https://people.apache.org/keys/committer/pwendell.asc)

Get Access to Apache Nexus for Publishing Artifacts

Get "Push" Access to Apache Git Repository

Preparing the Code for a Release

 

Ensure Spark is Ready for a Release

  • Check JIRA for remaining issues tied to the release
    • Review and merge any blocking features
    • Bump other remaining features to subsequent releases
  • Ensure Spark versions are correct in the codebase
    • Includes SBT/Maven builds, docs, and ec2 scripts
    • See this example commit
    • NOTE: The version in pom.xml files should be SPARK-VERSION_SCALA-VERSION-SNAPSHOT and will be changed automatically when cutting the release
  • Check for dead links in the docs

    Code Block
    languagebash
    $ cd $SPARK_HOME/docs
    $ jekyll serve --watch
    $ sudo apt-get install linkchecker
    $ linkchecker -r 2 http://localhost:4000 --no-status --no-warnings

Checkout and Run Tests

Code Block
languagebash
$ git clone https://git-wip-us.apache.org/repos/asf/incubator-spark.git -b branch-0.8
$ cd incubator-spark
$ sbt/sbt assembly
$ export MAVEN_OPTS="-Xmx3g -XX:MaxPermSize=1g -XX:ReservedCodeCacheSize=1g"
$ mvn test

Run License Audit Tool

Code Block
languagebash
$ java -jar /path/to/apache-rat-0.10.jar --dir . --exclude *.md > rat_results.txt
$ vi rat_results.txt
$ # Look for source files that seem to have missing headers
$ cat rat_results.txt  | grep "???" | grep -e \.scala$ -e \.java$ -e \.py$ -e \.sh$
$ # Add missing headers if necessary