This function, in addition to providing the Lost Worlds Profile, also defines organization-wide Github Actions for our CI/CD pipeline.
They all leverage a variety of GCP Services.
All are callable
, meaning they use a workflow_call
. This simply means they are like functions for CI/CD.
All workflows must define the following secrets
:
PGP_SECRET_SIGNING_PASSPHRASE
- Password to allow secret passing, using the encryption pattern shown here
Deploy a single Cloud Function
directory: string
- Which directory, relative to the calling directory, should be used to find the code.function: string
- The name of the function we want to deploy, which MUST be the same as thetarget
(i.e. the route) inside the cloud functionenv_name: string
- The name of the environment to run the function in in order to get the proper credentialsenv_string: string (optional)
- An optional string to pass in to make a.env
file for the cloud function
CLOUD_FUNCTIONS_CREDENTIALS
- Service account key with the proper permissions
Deploy GAE Instance
env_name: string
- The name of the environment to run the function in in order to get the proper credentialsenv_string: string (optional)
- An optional string to pass in to make a.env
file for the cloud functionworking_directory: string (optional, default ".")
- Which directory, relative to the calling directory, should be used to find the code
GAE_CREDENTIALS
- Service account key with the proper permissions
Deploy GCE Instance
env_name: string
- The name of the environment to run the function in in order to get the proper credentialsenv_string: string (optional)
- An optional string to pass in to make a.env
file for the cloud functionworking_directory: string (optional, default ".")
- Which directory, relative to the calling directory, should be used to find the codeGCE_INSTANCE
- The name of the instance to updateGCE_INSTANCE_ZONE
- The zone of the instance we are deploying too
GCE_PROJECT
- The project we are targeting with the deploymentGCE_CREDENTIALS
- Service account key with the proper permissions