@@ -105,62 +105,43 @@ jobs:
105105 print("Missing required secrets: " + ", ".join(missing), file=sys.stderr)
106106 sys.exit(1)
107107
108- config = {
109- "service": "staging-api",
110- "runtime": "custom",
111- "env": "flex",
112- "entrypoint": "gunicorn -c gunicorn.config.py -b :$PORT main:app",
113- "manual_scaling": {"instances": 1},
114- "resources": {"cpu": 1, "memory_gb": 0.6, "disk_size_gb": 15},
115- "env_variables": {
116- "DATABASE_URL": os.environ["STAGING_DATABASE_URL"],
117- "SECRET_KEY": os.environ["STAGING_SECRET_KEY"],
118- "SMTP_USERNAME": os.environ["SMTP_USERNAME"],
119- "SMTP_PASSWORD": os.environ["SMTP_PASSWORD"],
120- "SMTP_SENDER_NAME": "Deep Learning Indaba",
121- "SMTP_SENDER_EMAIL": os.environ.get("SMTP_SENDER_EMAIL", "baobab@deeplearningindaba.com"),
122- "SMTP_HOST": os.environ.get("SMTP_HOST", "email-smtp.us-east-1.amazonaws.com"),
123- "SMTP_PORT": os.environ.get("SMTP_PORT", "587"),
124- "GCP_CLIENT_ID": os.environ["STAGING_GCP_CLIENT_ID"],
125- "GCP_CLIENT_EMAIL": os.environ["STAGING_GCP_CLIENT_EMAIL"],
126- "GCP_PRIVATE_KEY_ID": os.environ["STAGING_GCP_PRIVATE_KEY_ID"],
127- "GCP_PRIVATE_KEY": os.environ["STAGING_GCP_PRIVATE_KEY"],
128- "GCP_PROJECT_NAME": os.environ["GCP_PROJECT_ID"],
129- "GCP_BUCKET_NAME": os.environ["STAGING_BACKEND_BUCKET"],
130- "FILE_SIZE_LIMIT": "10485760",
131- "BOABAB_HOST": os.environ.get("STAGING_BAOBAB_HOST", "https://test-baobab.deeplearningindaba.com/"),
132- },
133- "beta_settings": {
134- "cloud_sql_instances": os.environ["STAGING_CLOUD_SQL_INSTANCE"]
135- },
136- "readiness_check": {"app_start_timeout_sec": 600},
108+ env_variables = {
109+ "DATABASE_URL": os.environ["STAGING_DATABASE_URL"],
110+ "SECRET_KEY": os.environ["STAGING_SECRET_KEY"],
111+ "SMTP_USERNAME": os.environ["SMTP_USERNAME"],
112+ "SMTP_PASSWORD": os.environ["SMTP_PASSWORD"],
113+ "SMTP_SENDER_NAME": "Deep Learning Indaba",
114+ "SMTP_SENDER_EMAIL": os.environ.get("SMTP_SENDER_EMAIL", "baobab@deeplearningindaba.com"),
115+ "SMTP_HOST": os.environ.get("SMTP_HOST", "email-smtp.us-east-1.amazonaws.com"),
116+ "SMTP_PORT": os.environ.get("SMTP_PORT", "587"),
117+ "GCP_CLIENT_ID": os.environ["STAGING_GCP_CLIENT_ID"],
118+ "GCP_CLIENT_EMAIL": os.environ["STAGING_GCP_CLIENT_EMAIL"],
119+ "GCP_PRIVATE_KEY_ID": os.environ["STAGING_GCP_PRIVATE_KEY_ID"],
120+ "GCP_PRIVATE_KEY": os.environ["STAGING_GCP_PRIVATE_KEY"],
121+ "GCP_PROJECT_NAME": os.environ["GCP_PROJECT_ID"],
122+ "GCP_BUCKET_NAME": os.environ["STAGING_BACKEND_BUCKET"],
123+ "FILE_SIZE_LIMIT": "10485760",
124+ "BOABAB_HOST": os.environ.get("STAGING_BAOBAB_HOST", "https://test-baobab.deeplearningindaba.com/"),
137125 }
138126
139127 def scalar(value):
140128 return "'" + str(value).replace("\\n", "\\\\n").replace("'", "''") + "'"
141129
142130 with open("app.generated.yaml", "w") as f:
143- f.write("service: " + config["service"] + " \n")
144- f.write("runtime: " + config["runtime"] + " \n")
145- f.write("env: " + config["env"] + " \n")
146- f.write("entrypoint: " + scalar(config["entrypoint"] ) + "\n")
131+ f.write("service: staging-api \n")
132+ f.write("runtime: python311 \n")
133+ f.write("instance_class: B4 \n")
134+ f.write("entrypoint: " + scalar("gunicorn -c gunicorn. config.py -b :$PORT main:app" ) + "\n")
147135 f.write("\n")
148136 f.write("manual_scaling:\n")
149- f.write(" instances: " + str(config["manual_scaling"]["instances"]) + "\n")
150- f.write("resources:\n")
151- f.write(" cpu: " + str(config["resources"]["cpu"]) + "\n")
152- f.write(" memory_gb: " + str(config["resources"]["memory_gb"]) + "\n")
153- f.write(" disk_size_gb: " + str(config["resources"]["disk_size_gb"]) + "\n")
137+ f.write(" instances: 1\n")
154138 f.write("\n")
155139 f.write("env_variables:\n")
156- for key, value in config[" env_variables"] .items():
140+ for key, value in env_variables.items():
157141 f.write(" " + key + ": " + scalar(value) + "\n")
158142 f.write("\n")
159143 f.write("beta_settings:\n")
160- f.write(" cloud_sql_instances: " + scalar(config["beta_settings"]["cloud_sql_instances"]) + "\n")
161- f.write("\n")
162- f.write("readiness_check:\n")
163- f.write(" app_start_timeout_sec: " + str(config["readiness_check"]["app_start_timeout_sec"]) + "\n")
144+ f.write(" cloud_sql_instances: " + scalar(os.environ["STAGING_CLOUD_SQL_INSTANCE"]) + "\n")
164145 PY
165146 env :
166147 GCP_PROJECT_ID : ${{ secrets.GCP_PROJECT_ID }}
@@ -179,11 +160,5 @@ jobs:
179160 STAGING_BAOBAB_HOST : ${{ secrets.STAGING_BAOBAB_HOST }}
180161 STAGING_CLOUD_SQL_INSTANCE : ${{ secrets.STAGING_CLOUD_SQL_INSTANCE }}
181162
182- - name : Use deployment Dockerfile
183- run : cp Dockerfile.deploy Dockerfile
184-
185- - name : Increase App Engine Cloud Build timeout
186- run : gcloud config set app/cloud_build_timeout 7200
187-
188163 - name : Deploy backend to App Engine staging service
189164 run : gcloud app deploy app.generated.yaml --quiet --promote --stop-previous-version --version=v1
0 commit comments