This directory contains the sources/templates for generating the Apache Calcite website, calcite.apache.org. The actual generated content of the website is present in the calcite-site repository.
We want to deploy project changes (for example, new committers, PMC members or upcoming talks) immediately, but we want to deploy documentation of project features only when that feature appears in a release.
The procedure for deploying changes to the website is outlined below:
- Push the commit with the changes to the
master
branch of this repository. - Cherry-pick the commit from the
master
branch to thesite
branch of this repository. - Checkout the
site
branch and build the website either manually or using docker-compose (preferred). - Commit the generated content to the
master
branch of thecalcite-site
repository following the Pushing to site instructions.
Site generation currently works best with ruby-2.5.1.
cd site
git clone https://gitbox.apache.org/repos/asf/calcite-site.git target
sudo apt-get install rubygems ruby2.5-dev zlib1g-dev
(linux)Use RubyInstaller to install rubygems as recommended at https://www.ruby-lang.org/en/downloads/
(Windows)sudo gem install bundler
gem install bundler
(Windows)bundle install
cd ..
./gradlew javadocAggregate
rm -rf site/target/javadocAggregate
rmdir site\target\javadocAggregate /S /Q
(Windows)mkdir site/target
mkdir site\target
(Windows)mv build/docs/javadocAggregate site/target
for /d %a in (build\docs\javadocAggregate*) do move %a site\target
(Windows)
Before opening a pull request, you can preview your contributions by running from within the directory:
bundle exec jekyll serve
- Open http://localhost:4000
- Install docker
- Install docker-compose
cd site
docker-compose run build-site
cd site
docker-compose run generate-javadoc
You can preview your work while working on the site.
cd site
docker-compose run --service-ports dev
The web server will be started on http://localhost:4000
As you make changes to the site, the site will automatically rebuild.
cd site/target
git init
git remote add origin git@github.com:apache/calcite-site.git
git fetch
git reset origin/master --soft
If you have not regenerated the javadoc and they are missing, restore them:
git reset -- javadocAggregate/
git checkout -- javadocAggregate/
Restore the avatica site
-
git reset -- avatica/
-
git checkout -- avatica/
-
git add .
-
Commit:
git commit -m "Your commit message goes here"
-
Push the site:
git push origin master
Within a few minutes, gitpubsub should kick in and you'll be able to see the results at calcite.apache.org.
This process also publishes Avatica's web site. Avatica's web site has
separate source (under avatica/site
) but configures Jekyll to
generate files to site/target/avatica
, which becomes an
avatica
sub-directory when deployed. See
Avatica site README.