arrow-site
arrow-site copied to clipboard
[Website] Create a custom Docker container for running the website build and deployment steps
This is a follow up to #326.
As discussed in https://github.com/apache/arrow-site/pull/326#discussion_r1128584928, 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
nvmto install the latest available LTS version of Node.js based on an.nvmrcfile. - Uses
rbenvto install the latest available LTS version of Ruby based on a.ruby-versionfile. - 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).