mirror of
https://github.com/monero-project/monero.git
synced 2025-01-28 18:56:31 +02:00
f18b966a96
Dynamically determine an appropriate number of make jobs for the GitHub runner container, based upon the number of available CPU cores and RAM, using the rule that each job requires a dedicated core and 2.25GiB of RAM.
23 lines
1.1 KiB
YAML
23 lines
1.1 KiB
YAML
name: 'set-make-job-count'
|
|
description: 'Set the MAKE_JOB_COUNT environment variable to a value suitable for the host runner'
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
# Each job runner requires 2.25 GiB (i.e. 1024 * 9/4 MiB) memory and
|
|
# a dedicated logical CPU core
|
|
- name: set-jobs-macOS
|
|
if: runner.os == 'macOS'
|
|
run: |
|
|
echo MAKE_JOB_COUNT=$(expr $(printf '%s\n%s' $(( $(sysctl -n hw.memsize) * 4 / (1073741824 * 9) )) $(sysctl -n hw.logicalcpu) | sort -n | head -n1) '|' 1) >> $GITHUB_ENV
|
|
shell: bash
|
|
- name: set-jobs-windows
|
|
if: runner.os == 'Windows'
|
|
run: |
|
|
echo MAKE_JOB_COUNT=$(expr $(printf '%s\n%s' $(( $(grep MemTotal: /proc/meminfo | cut -d: -f2 | cut -dk -f1) * 4 / (1048576 * 9) )) $(nproc) | sort -n | head -n1) '|' 1) >> $GITHUB_ENV
|
|
shell: msys2 {0}
|
|
- name: set-jobs-linux
|
|
if: runner.os == 'Linux'
|
|
run: |
|
|
echo MAKE_JOB_COUNT=$(expr $(printf '%s\n%s' $(( $(grep MemTotal: /proc/meminfo | cut -d: -f2 | cut -dk -f1) * 4 / (1048576 * 9) )) $(nproc) | sort -n | head -n1) '|' 1) >> $GITHUB_ENV
|
|
shell: bash
|