This is a follow up to #326.
As discussed in #326 (comment), it would be helpful if the website deployment script (.github/workflows/deploy.yml) ran the website build steps inside of a custom Docker container.
This would enable easier reproducibility for local debugging workflows (i.e. https://github.com/apache/arrow-site#using-docker) and allow for more fine grained control over the deployment environment.
Ideally, the Docker container would have the following properties:
- Based on
ubuntu:22.04 (i.e. FROM ubuntu:22.04).
- Uses
nvm to install the latest available LTS version of Node.js based on an .nvmrc file.
- Uses
rbenv to install the latest available LTS version of Ruby based on a .ruby-version file.
- All environment setup / dependency installation steps are extracted into a standalone Bash script (e.g.
install_website_dependencies.sh) so that the script can also be run directly on an Ubuntu 22.04 host machine with no container requirement.
- Stored in the GitHub Container Registry (ghcr.io).