Google Cloud Builds appears to offer three different machine sizes for running the builds, as specified [here](https://cloud.google.com/cloud-build/pricing).

We can see that these map onto three of the available compute machine types [here](https://cloud.google.com/compute/docs/machine-types).

So our options are:

* 1 CPU, 3.75GB memory
* 8 CPU, 7.2 GB memory
* 32 CPU, 28.8 GB memory

I want to run Cypress tests as part of my build pipeline, a pattern that Google have endorsed and provide, and my requirements are for perhaps 8-16GB of memory. In order to meet that minimum, I need to request the colossal 32 CPU machine and pay accordingly. This isn't going to be viable for us because of the huge cost of an extra ~30 CPUs.

Ideally, I'd like to request the `n1-highmem-2` machine to run these tests; I think that nicely covers my needs, but it doesn't seem to be an option in Cloud Builds. I've tried my luck specifying it in the cloud builds options, but it wasn't seen as valid.

Am I misunderstanding something here? It seems absolutely bizarre to me that we can have so little memory with so, so many CPUs. Why would I want that? Why are Google so certain I'll want that that they won't even offer different shapes like highmem here?