CI: Add GitLab Runner Tags for Very High CPU with RAMFS Support
What
This MR introduces new GitLab runner tags gcp_very_high_cpu_ramfs_dev and gcp_very_high_cpu_ramfs to support CI jobs that require:
-
High CPU resources (64 vCPUs via
n2d-highcpu-64instances) -
RAM-backed filesystem for the
/buildsdirectory using tmpfs - Improved I/O performance for build-intensive operations
Changes Made
- Added
runner_tezos_very_high_cpu_ramfs_amd64_tagsconfiguration inlocals.tf - Configured tags for both development and production environments
- Implemented corresponding node pool
node_pool_amd64_very_high_cpu_ramfswith appropriate machine types and scaling limits
Technical Details
The new runner configuration:
- Uses
n2d-highcpu-64instances (64 vCPUs, 64GB RAM) - Mounts
/buildsdirectory on RAMFS for faster I/O operations - Supports auto-scaling from 0 to 64 instances
- Runs on spot instances for cost optimization
About arm64 CI jobs
This change clarifies our current infrastructure setup, currently, ARM64 workloads already utilize RAMFS storage implicitly and run on a separate pool with different specifications (lower CPU/memory compared to the new pool being introduced, and specifically on ARM64 architecture nodes).
By introducing the explicit storage concept in CIAO, I needed to make previously implicit configurations explicit, this is why you'll see ~storage:Ramfs added to ARM64 jobs - it reflects the existing behavior rather than introducing new functionality.
Note that AMD64 jobs remain unchanged in this MR. The scope here is limited to adding the storage tag infrastructure to CIAO without actively utilizing it, modifications to AMD64 job configurations will be addressed in subsequent MRs.
Usage
CI jobs can now use these tags to access the high-performance RAMFS-enabled runners: