diff --git a/.gitattributes b/.gitattributes index 55c422f0f8cee90ff35df00e11c3b3543ed97900..0b87a97df9c80f92bf3f332bbb302a404ae1534a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ VERSION merge=ours Dangerfile gitlab-language=ruby +db/schema.rb merge=merge_db_schema diff --git a/lib/gitlab/cluster/puma_worker_killer_initializer.rb b/lib/gitlab/cluster/puma_worker_killer_initializer.rb index 331c39f7d6b64c7d987aeb3b1816e9e08d8cf45e..4ed9a9a02ab4d0e5e9bcb6e49d57da4322bbc524 100644 --- a/lib/gitlab/cluster/puma_worker_killer_initializer.rb +++ b/lib/gitlab/cluster/puma_worker_killer_initializer.rb @@ -11,7 +11,11 @@ def self.start(puma_options, puma_per_worker_max_memory_mb: 650) # Importantly RAM is for _all_workers (ie, the cluster), # not each worker as is the case with GITLAB_UNICORN_MEMORY_MAX worker_count = puma_options[:workers] || 1 - config.ram = worker_count * puma_per_worker_max_memory_mb + # The Puma Worker Killer checks the total RAM used by both the master + # and worker processes. Bump the limits to N+1 instead of N workers + # to account for this: + # https://github.com/schneems/puma_worker_killer/blob/v0.1.0/lib/puma_worker_killer/puma_memory.rb#L57 + config.ram = (worker_count + 1) * puma_per_worker_max_memory_mb config.frequency = 20 # seconds diff --git a/scripts/build_assets_image b/scripts/build_assets_image index 218606b9a4028d376fb602fc0ffc783cc0609ce1..1d77524d5036dac47353829f9e715120b1db37ff 100755 --- a/scripts/build_assets_image +++ b/scripts/build_assets_image @@ -15,7 +15,7 @@ ASSETS_IMAGE_PATH=${CI_REGISTRY}/${CI_PROJECT_PATH}/${ASSETS_IMAGE_NAME} mkdir -p assets_container.build/public cp -r public/assets assets_container.build/public/ cp Dockerfile.assets assets_container.build/ -docker build -t ${ASSETS_IMAGE_PATH}:${CI_COMMIT_REF_NAME} -f assets_container.build/Dockerfile.assets assets_container.build/ +docker build -t ${ASSETS_IMAGE_PATH}:${CI_COMMIT_REF_SLUG} -f assets_container.build/Dockerfile.assets assets_container.build/ docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY} docker push ${ASSETS_IMAGE_PATH}