Build and release scripts:
build-*— most of these scripts are for executing a specific build step.test-*— tests a Ruby package.upload-*— publishes built packages to repositories.
Build workflow management scripts and files:
config.yml— specifies which distributions, variants, Ruby versions and fullstaq-rbenv version we want to build for.
Build environments related:
build-environment-image— builds a specific build environment's Docker image.push-environment-images— Publishes all build environment Docker images to the Docker registry.environments/— Docker images for all build environments.
Other:
-
fullstaq-ruby.asc— the GPG public key that can be used to verify the APT and YUM repositories. This file is referred to by the YUM .repo file mentioned in the installation documentation. -
container-entrypoints/— because of the "minimal dependencies" principle, most of the scripts in the root directory delegate work to a Docker container, in which it runs a corresponding script in this subdirectory.Scripts in this subdirectory may require further libraries, or call further scripts. Those required libraries and scripts are not located within this subdirectory.
-
internal-scripts/— scripts that are only invoked by other scripts in this repo, and are not supposed to be invoked by users. -
lib/— libraries used by other scripts in this repo. -
resources/— miscellaneous resources used by other scripts/code in this repo. -
resources/test-env— files used by the package testing script.
The root directory may only contain scripts that are actually supposed to be invoked by users. If a script is considered internal, i.e. only invoked by other scripts, then put them in internal-scripts/.