tree: 0ce9a4fbe90d464c35250ed12a26949106540736 [path history] [tgz]
  1. _blog/
  2. _case-studies/
  3. _committers/
  4. _docs/
  5. _includes/
  6. _layouts/
  7. _meetups/
  8. _menu/
  9. _powered-by/
  10. _releases/
  11. _talks/
  12. archive/
  13. community/
  14. contribute/
  15. css/
  16. fonts/
  17. img/
  18. js/
  19. learn/
  20. less/
  21. meetups/
  22. powered-by/
  23. startup/
  24. talks/
  25. _config.yml
  26. index.md
  27. Makefile
  28. README.md
  29. sitemap.xml
docs/README.md

Setup

Samza's documentation uses Jekyll to build a website out of markdown pages. Jekyll dependencies are now managed with Gradle.

To compile the website in the _site directory, execute:

./gradlew docs:jekyllBuild

To serve the website on localhost:4000, run the following:

./gradlew docs:jekyllServeLocal

To serve the website on so its visible to other hosts on port 4000, run the following:

./gradlew docs:jekyllServePublic

The jekyllServe* tasks do not end as they will wait for Jekyll to exit. You will need to cntl-c jekyllServeLocal or JekyllServePublic to stop the task.

Versioning

If you‘re working with versioned content (anything in the learn or img directories), you’ll also need to run a script that generates the appropriate directories:

_docs/local-site-test.sh

Run this script after starting the site server with the serve command above. Otherwise, you may see some errors when trying to view versioned content. In addition, the local-site-test.sh script must be run every time a change is made to versioned content locally in order to trigger a refresh with Jekyll.

Keep in mind that versioned content in older versions links to samza.apache.org, not the localhost:4000. This is because they are not updated by your branch and are using the values in SVN instead.

To add a new version, change the version number in _config.yml. All links in pages should use {{site.version}}, not hard-coded version number.

Javadocs

To auto-generate the latest Javadocs, run:

bin/generate-javadocs.sh

Publish

To build and publish the website to Samza's Apache SVN repository, run:

bin/publish-site.sh "updating welcome page" criccomini

This command will re-build the Javadocs and website, checkout https://svn.apache.org/repos/asf/samza/site/ locally, copy the site into the directory, and commit the changes.

Sanity-check a couple of links in the website corresponding to the latest release. For example, when releasing Samza 1.0.0, verify that http://samza.apache.org/learn/documentation/1.0.0/ and http://samza.apache.org/learn/documentation/latest/ links work.

Release-new-version Website Checklist

Assume we want to release x.x.x and the next release is y.y.y in master, need to work on two branches: x.x.x and master.

Following can be done when updating the gradle.properties file

  1. in x.x.x branch,

    • if this is a major release, modify the docs/_config.yml to make both the “version” and “latest-release” properties to x.x.x

    • remove “git checkout latest” line and the “-SNAPSHOT” version suffix in each of the tutorials

      • docs/startup/hello-samza/versioned/index.md
      • docs/learn/tutorials/versioned/hello-samza-high-level-code.md
      • docs/learn/tutorials/versioned/hello-samza-high-level-yarn.md
      • docs/learn/tutorials/versioned/hello-samza-high-level-zk.md
      • docs/learn/tutorials/versioned/samza-rest-getting-started.md
  2. in master branch,

    • if this is a major release, modify the docs/_config.yml to make the “latest-release” to x.x.x

    • if this is a major release, add the x.x.x release part in docs/archive/index.html

    • update the download page (docs/startup/download/index.md) to use x.x.x release by adding an entry to the Sources and Samza Tools sections to use the new x.x.x release

    • add a release page docs/_releases/x.x.x.md

    • add a new entry for the new version in docs/_menu/index.html

    • update the version number in “tar -xvf ./target/hello-samza-y.y.y-dist.tar.gz -C deploy/samza” in each of the tutorials (and search for other uses of version x.x.x which may need to be replaced with y.y.y)

      • docs/startup/hello-samza/versioned/index.md
      • docs/learn/tutorials/versioned/hello-samza-high-level-yarn.md
      • docs/learn/tutorials/versioned/hello-samza-high-level-zk.md
      • docs/learn/tutorials/versioned/samza-rest-getting-started.md
    • Write a blog post on the open source blog. Update versioning (docs/_blog/YYYY-MM-DD-TITLE.md). Usually the same info as in docs/_releases/x.x.x.md.

After apache mirrors pick up the new release,

  1. in x.x.x branch, run bin/publish-site.sh “updating welcome page” criccomini

  2. in master branch, run bin/publish-site.sh “updating welcome page” criccomini