Open doramatadora opened 5 months ago
That it fails on this function is a bit suprising, but to answer your question: Yes, almost architecture agnostic support is incoming!
See this PR in the making: https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/76
Can I ping you as a beta tester, as we currently have no access to ARM machines for testing? We will test it on our local dedicated ARM runners, but would need a beta tester for Githubs shared ones 😇
Also to add an ETA: We plan to have this ready for testing by end this week
@ArneTR that's good to hear, and I'm happy to be a beta tester! Please let me know how I can help.
Hey @doramatadora , the first draft is ready!
Can you try the runner by changing all mentions of
green-coding-solutions/eco-ci-energy-estimation@v3
to green-coding-solutions/eco-ci-energy-estimation@pre-calculated
Everything else should be largely unchanged.
If you do let it run please also send me the debug output of the step API Base Debug
and Initialize Energy Estimation
as I need them to calculate the new energy models.
See example in the screenshot where to find this data
Hi @ArneTR, thank you so much for making this happen 😄
Current API Base is https://api.github.com/
and Initialize Energy Estimation:
##[debug]Evaluating condition for step: 'Initialize energy estimation'
##[debug]Evaluating: success()
##[debug]Evaluating success:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Initialize energy estimation
##[debug]Loading inputs
##[debug]Evaluating: github.ref_name
##[debug]Evaluating Index:
##[debug]..Evaluating github:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'ref_name'
##[debug]=> '[2](https://github.com/***/actions/runs/9545128180/job/26305423039#step:3:2)327/merge'
##[debug]Result: '2327/merge'
##[debug]Evaluating: github.api_url
##[debug]Evaluating Index:
##[debug]..Evaluating github:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'api_url'
##[debug]=> 'https://api.github.com'
##[debug]Result: 'https://api.github.com'
##[debug]Loading env
Run green-coding-solutions/eco-ci-energy-estimation@pre-calculated
##[debug]Evaluating condition for step: 'run'
##[debug]Evaluating: (success() && (inputs.task != 'start-measurement') && (inputs.task != 'get-measurement') && (inputs.task != 'display-results'))
##[debug]Evaluating And:
##[debug]..Evaluating success:
##[debug]..=> true
##[debug]..Evaluating NotEqual:
##[debug]....Evaluating Index:
##[debug]......Evaluating inputs:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'task'
##[debug]....=> 'start-measurement'
##[debug]....Evaluating String:
##[debug]....=> 'start-measurement'
##[debug]..=> false
##[debug]=> false
##[debug]Expanded: (true && ('start-measurement' != 'start-measurement') && (inputs['task'] != 'get-measurement') && (inputs['task'] != 'display-results'))
##[debug]Result: false
##[debug]Evaluating condition for step: 'run'
##[debug]Evaluating: (success() && (inputs.task == 'start-measurement') && (env.ECO_CI_INIT != 'DONE'))
##[debug]Evaluating And:
##[debug]..Evaluating success:
##[debug]..=> true
##[debug]..Evaluating Equal:
##[debug]....Evaluating Index:
##[debug]......Evaluating inputs:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'task'
##[debug]....=> 'start-measurement'
##[debug]....Evaluating String:
##[debug]....=> 'start-measurement'
##[debug]..=> true
##[debug]..Evaluating NotEqual:
##[debug]....Evaluating Index:
##[debug]......Evaluating env:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'ECO_CI_INIT'
##[debug]....=> null
##[debug]....Evaluating String:
##[debug]....=> 'DONE'
##[debug]..=> true
##[debug]=> true
##[debug]Expanded: (true && ('start-measurement' == 'start-measurement') && (null != 'DONE'))
##[debug]Result: true
##[debug]Starting: run
##[debug]Loading inputs
##[debug]Evaluating: format('***0***/scripts/setup.sh initialize "***1***"
##[debug]', github.action_path, inputs.machine-power-data)
##[debug]Evaluating format:
##[debug]..Evaluating String:
##[debug]..=> '***0***/scripts/setup.sh initialize "***1***"
##[debug]'
##[debug]..Evaluating Index:
##[debug]....Evaluating github:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'action_path'
##[debug]..=> '/home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated'
##[debug]..Evaluating Index:
##[debug]....Evaluating inputs:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'machine-power-data'
##[debug]..=> 'github_EPYC_776[3](https://github.com/***/actions/runs/9545128180/job/26305423039#step:3:3)_4_CPU_shared.sh'
##[debug]=> '/home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated/scripts/setup.sh initialize "github_EPYC_7763_[4](https://github.com/***/actions/runs/9545128180/job/26305423039#step:3:4)_CPU_shared.sh"
##[debug]'
##[debug]Result: '/home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated/scripts/setup.sh initialize "github_EPYC_7763_4_CPU_shared.sh"
##[debug]'
##[debug]Loading env
Run /home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated/scripts/setup.sh initialize "github_EPYC_7763_4_CPU_shared.sh"
##[debug]/usr/bin/bash --noprofile --norc -e -o pipefail /home/runner/work/_temp/184b7f2c-87c6-463b-aa[5](https://github.com/***/actions/runs/9545128180/job/26305423039#step:3:5)3-3191f6e03768.sh
Currently running on follow CPU Model
Full CPU Info
processor : 0
BogoMIPS : 50.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x3
CPU part : 0xd0c
CPU revision : 1
processor : 1
BogoMIPS : 50.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x3
CPU part : 0xd0c
CPU revision : 1
processor : 2
BogoMIPS : 50.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x3
CPU part : 0xd0c
CPU revision : 1
processor : 3
BogoMIPS : 50.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x3
CPU part : 0xd0c
CPU revision : 1
Full memory info
MemTotal: 1[6](https://github.com/***/actions/runs/9545128180/job/26305423039#step:3:6)348140 kB
MemFree: 14619132 kB
MemAvailable: 15499340 kB
Buffers: 52412 kB
Cached: 1004[7](https://github.com/***/actions/runs/9545128180/job/26305423039#step:3:7)72 kB
SwapCached: 0 kB
Active: 71356[8](https://github.com/***/actions/runs/9545128180/job/26305423039#step:3:8) kB
Inactive: 666636 kB
Active(anon): 337344 kB
Inactive(anon): 0 kB
Active(file): 376224 kB
Inactive(file): 666636 kB
Unevictable: 45788 kB
Mlocked: 42716 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Zswap: 0 kB
Zswapped: 0 kB
Dirty: 4[9](https://github.com/***/actions/runs/9545128180/job/26305423039#step:3:9)2 kB
Writeback: 0 kB
AnonPages: 368856 kB
Mapped: 303296 kB
Shmem: 6924 kB
KReclaimable: 72848 kB
Slab: [13](https://github.com/***/actions/runs/9545128180/job/26305423039#step:3:13)5204 kB
SReclaimable: 72848 kB
SUnreclaim: 62356 kB
KernelStack: 3984 kB
PageTables: 5356 kB
SecPageTables: 0 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 8174068 kB
Committed_AS: 2164616 kB
VmallocTotal: 133[14](https://github.com/***/actions/runs/9545128180/job/26305423039#step:3:14)1626880 kB
VmallocUsed: 35184 kB
VmallocChunk: 0 kB
Percpu: [16](https://github.com/***/actions/runs/9545128180/job/26305423039#step:3:16)80 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
FileHugePages: 0 kB
FilePmdMapped: 0 kB
CmaTotal: 32768 kB
CmaFree: 26624 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
Using github_EPYC_7763_4_CPU_shared.sh
##[debug]Finished: run
##[debug]Evaluating condition for step: 'run'
##[debug]Evaluating: (success() && (inputs.task == 'start-measurement'))
##[debug]Evaluating And:
##[debug]..Evaluating success:
##[debug]..=> true
##[debug]..Evaluating Equal:
##[debug]....Evaluating Index:
##[debug]......Evaluating inputs:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'task'
##[debug]....=> 'start-measurement'
##[debug]....Evaluating String:
##[debug]....=> 'start-measurement'
##[debug]..=> true
##[debug]=> true
##[debug]Expanded: (true && ('start-measurement' == 'start-measurement'))
##[debug]Result: true
##[debug]Starting: run
##[debug]Loading inputs
##[debug]Evaluating: format('if ***0***; then
##[debug] curl_response=$(curl -s -H "Authorization: ***" ***2***/repos/***3***/actions/workflows)
##[debug] workflow_id=$(echo $curl_response | jq ''.workflows[] | select(.name == "***4***") | .id'')
##[debug] ***5***/scripts/vars.sh add_var "WORKFLOW_ID" $workflow_id
##[debug]else
##[debug] ***6***/scripts/vars.sh add_var "WORKFLOW_ID" ***7***
##[debug]fi
##[debug]
##[debug]***8***/scripts/setup.sh start_measurement
##[debug]echo "ECO_CI_INIT=DONE" >> $GITHUB_ENV;
##[debug]', inputs.send-data, github.token, inputs.gh-api-base, github.repository, github.workflow, github.action_path, github.action_path, github.workflow, github.action_path)
##[debug]Evaluating format:
##[debug]..Evaluating String:
##[debug]..=> 'if ***0***; then
##[debug] curl_response=$(curl -s -H "Authorization: ***" ***2***/repos/***3***/actions/workflows)
##[debug] workflow_id=$(echo $curl_response | jq ''.workflows[] | select(.name == "***4***") | .id'')
##[debug] ***5***/scripts/vars.sh add_var "WORKFLOW_ID" $workflow_id
##[debug]else
##[debug] ***6***/scripts/vars.sh add_var "WORKFLOW_ID" ***7***
##[debug]fi
##[debug]
##[debug]***8***/scripts/setup.sh start_measurement
##[debug]echo "ECO_CI_INIT=DONE" >> $GITHUB_ENV;
##[debug]'
##[debug]..Evaluating Index:
##[debug]....Evaluating inputs:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'send-data'
##[debug]..=> 'true'
##[debug]..Evaluating Index:
##[debug]....Evaluating github:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'token'
##[debug]..=> '***'
##[debug]..Evaluating Index:
##[debug]....Evaluating inputs:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'gh-api-base'
##[debug]..=> 'https://api.github.com'
##[debug]..Evaluating Index:
##[debug]....Evaluating github:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'repository'
##[debug]..=> '***'
##[debug]..Evaluating Index:
##[debug]....Evaluating github:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'workflow'
##[debug]..=> 'CI'
##[debug]..Evaluating Index:
##[debug]....Evaluating github:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'action_path'
##[debug]..=> '/home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated'
##[debug]..Evaluating Index:
##[debug]....Evaluating github:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'action_path'
##[debug]..=> '/home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated'
##[debug]..Evaluating Index:
##[debug]....Evaluating github:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'workflow'
##[debug]..=> 'CI'
##[debug]..Evaluating Index:
##[debug]....Evaluating github:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'action_path'
##[debug]..=> '/home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated'
##[debug]=> 'if true; then
##[debug] curl_response=$(curl -s -H "Authorization: ***" https://api.github.com/repos/***/actions/workflows)
##[debug] workflow_id=$(echo $curl_response | jq ''.workflows[] | select(.name == "CI") | .id'')
##[debug] /home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated/scripts/vars.sh add_var "WORKFLOW_ID" $workflow_id
##[debug]else
##[debug] /home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated/scripts/vars.sh add_var "WORKFLOW_ID" CI
##[debug]fi
##[debug]
##[debug]/home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated/scripts/setup.sh start_measurement
##[debug]echo "ECO_CI_INIT=DONE" >> $GITHUB_ENV;
##[debug]'
##[debug]Result: 'if true; then
##[debug] curl_response=$(curl -s -H "Authorization: ***" https://api.github.com/repos/***/actions/workflows)
##[debug] workflow_id=$(echo $curl_response | jq ''.workflows[] | select(.name == "CI") | .id'')
##[debug] /home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated/scripts/vars.sh add_var "WORKFLOW_ID" $workflow_id
##[debug]else
##[debug] /home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated/scripts/vars.sh add_var "WORKFLOW_ID" CI
##[debug]fi
##[debug]
##[debug]/home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated/scripts/setup.sh start_measurement
##[debug]echo "ECO_CI_INIT=DONE" >> $GITHUB_ENV;
##[debug]'
##[debug]Loading env
Run if true; then
##[debug]/usr/bin/bash --noprofile --norc -e -o pipefail /home/runner/work/_temp/6619b[17](https://github.com/***/actions/runs/9545128180/job/26305423039#step:3:17)b-e650-4aff-991f-c433089701c0.sh
##[debug]ECO_CI_INIT='DONE'
##[debug]Finished: run
##[debug]Evaluating: github.workflow
##[debug]Evaluating Index:
##[debug]..Evaluating github:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'workflow'
##[debug]=> 'CI'
##[debug]Result: 'CI'
##[debug]Evaluating condition for step: 'run'
##[debug]Evaluating: (success() && (inputs.task == 'get-measurement'))
##[debug]Evaluating And:
##[debug]..Evaluating success:
##[debug]..=> true
##[debug]..Evaluating Equal:
##[debug]....Evaluating Index:
##[debug]......Evaluating inputs:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'task'
##[debug]....=> 'start-measurement'
##[debug]....Evaluating String:
##[debug]....=> 'get-measurement'
##[debug]..=> false
##[debug]=> false
##[debug]Expanded: (true && ('start-measurement' == 'get-measurement'))
##[debug]Result: false
##[debug]Evaluating condition for step: 'run'
##[debug]Evaluating: (success() && (inputs.task == 'display-results'))
##[debug]Evaluating And:
##[debug]..Evaluating success:
##[debug]..=> true
##[debug]..Evaluating Equal:
##[debug]....Evaluating Index:
##[debug]......Evaluating inputs:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'task'
##[debug]....=> 'start-measurement'
##[debug]....Evaluating String:
##[debug]....=> 'display-results'
##[debug]..=> false
##[debug]=> false
##[debug]Expanded: (true && ('start-measurement' == 'display-results'))
##[debug]Result: false
##[debug]Evaluating: github.event.pull_request.number
##[debug]Evaluating Index:
##[debug]..Evaluating Index:
##[debug]....Evaluating Index:
##[debug]......Evaluating github:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'event'
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'pull_request'
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'number'
##[debug]=> [23](https://github.com/***/actions/runs/9545128180/job/26305423039#step:3:23)27
##[debug]Result: 2327
##[debug]Evaluating condition for step: 'run'
##[debug]Evaluating: (success() && (github.event_name == 'pull_request') && (inputs.pr-comment == 'true'))
##[debug]Evaluating And:
##[debug]..Evaluating success:
##[debug]..=> true
##[debug]..Evaluating Equal:
##[debug]....Evaluating Index:
##[debug]......Evaluating github:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'event_name'
##[debug]....=> 'pull_request'
##[debug]....Evaluating String:
##[debug]....=> 'pull_request'
##[debug]..=> true
##[debug]..Evaluating Equal:
##[debug]....Evaluating Index:
##[debug]......Evaluating inputs:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'pr-comment'
##[debug]....=> 'false'
##[debug]....Evaluating String:
##[debug]....=> 'true'
##[debug]..=> false
##[debug]=> false
##[debug]Expanded: (true && ('pull_request' == 'pull_request') && ('false' == 'true'))
##[debug]Result: false
##[debug]Evaluating: steps.run-total-model.outputs.data-total-json
##[debug]Evaluating Index:
##[debug]..Evaluating Index:
##[debug]....Evaluating Index:
##[debug]......Evaluating steps:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'run-total-model'
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'outputs'
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'data-total-json'
##[debug]=> null
##[debug]Result: null
##[debug]Evaluating: steps.run-lap-model.outputs.data-lap-json
##[debug]Evaluating Index:
##[debug]..Evaluating Index:
##[debug]....Evaluating Index:
##[debug]......Evaluating steps:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'run-lap-model'
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'outputs'
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'data-lap-json'
##[debug]=> null
##[debug]Result: null
##[debug]Finishing: Initialize energy estimation
I am, however, still getting an error for the results step:
Could not display table as no measurement data was present!
Here is the full debug output:
##[debug]Evaluating condition for step: 'Show energy results'
##[debug]Evaluating: success()
##[debug]Evaluating success:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Show energy results
##[debug]Loading inputs
##[debug]Evaluating: github.ref_name
##[debug]Evaluating Index:
##[debug]..Evaluating github:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'ref_name'
##[debug]=> '2327/merge'
##[debug]Result: '2327/merge'
##[debug]Evaluating: github.api_url
##[debug]Evaluating Index:
##[debug]..Evaluating github:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'api_url'
##[debug]=> 'https://api.github.com'
##[debug]Result: 'https://api.github.com'
##[debug]Loading env
Run green-coding-solutions/eco-ci-energy-estimation@pre-calculated
##[debug]Evaluating condition for step: 'run'
##[debug]Evaluating: (success() && (inputs.task != 'start-measurement') && (inputs.task != 'get-measurement') && (inputs.task != 'display-results'))
##[debug]Evaluating And:
##[debug]..Evaluating success:
##[debug]..=> true
##[debug]..Evaluating NotEqual:
##[debug]....Evaluating Index:
##[debug]......Evaluating inputs:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'task'
##[debug]....=> 'display-results'
##[debug]....Evaluating String:
##[debug]....=> 'start-measurement'
##[debug]..=> true
##[debug]..Evaluating NotEqual:
##[debug]....Evaluating Index:
##[debug]......Evaluating inputs:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'task'
##[debug]....=> 'display-results'
##[debug]....Evaluating String:
##[debug]....=> 'get-measurement'
##[debug]..=> true
##[debug]..Evaluating NotEqual:
##[debug]....Evaluating Index:
##[debug]......Evaluating inputs:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'task'
##[debug]....=> 'display-results'
##[debug]....Evaluating String:
##[debug]....=> 'display-results'
##[debug]..=> false
##[debug]=> false
##[debug]Expanded: (true && ('display-results' != 'start-measurement') && ('display-results' != 'get-measurement') && ('display-results' != 'display-results'))
##[debug]Result: false
##[debug]Evaluating condition for step: 'run'
##[debug]Evaluating: (success() && (inputs.task == 'start-measurement') && (env.ECO_CI_INIT != 'DONE'))
##[debug]Evaluating And:
##[debug]..Evaluating success:
##[debug]..=> true
##[debug]..Evaluating Equal:
##[debug]....Evaluating Index:
##[debug]......Evaluating inputs:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'task'
##[debug]....=> 'display-results'
##[debug]....Evaluating String:
##[debug]....=> 'start-measurement'
##[debug]..=> false
##[debug]=> false
##[debug]Expanded: (true && ('display-results' == 'start-measurement') && (env['ECO_CI_INIT'] != 'DONE'))
##[debug]Result: false
##[debug]Evaluating condition for step: 'run'
##[debug]Evaluating: (success() && (inputs.task == 'start-measurement'))
##[debug]Evaluating And:
##[debug]..Evaluating success:
##[debug]..=> true
##[debug]..Evaluating Equal:
##[debug]....Evaluating Index:
##[debug]......Evaluating inputs:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'task'
##[debug]....=> 'display-results'
##[debug]....Evaluating String:
##[debug]....=> 'start-measurement'
##[debug]..=> false
##[debug]=> false
##[debug]Expanded: (true && ('display-results' == 'start-measurement'))
##[debug]Result: false
##[debug]Evaluating: github.workflow
##[debug]Evaluating Index:
##[debug]..Evaluating github:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'workflow'
##[debug]=> 'CI'
##[debug]Result: 'CI'
##[debug]Evaluating condition for step: 'run'
##[debug]Evaluating: (success() && (inputs.task == 'get-measurement'))
##[debug]Evaluating And:
##[debug]..Evaluating success:
##[debug]..=> true
##[debug]..Evaluating Equal:
##[debug]....Evaluating Index:
##[debug]......Evaluating inputs:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'task'
##[debug]....=> 'display-results'
##[debug]....Evaluating String:
##[debug]....=> 'get-measurement'
##[debug]..=> false
##[debug]=> false
##[debug]Expanded: (true && ('display-results' == 'get-measurement'))
##[debug]Result: false
##[debug]Evaluating condition for step: 'run'
##[debug]Evaluating: (success() && (inputs.task == 'display-results'))
##[debug]Evaluating And:
##[debug]..Evaluating success:
##[debug]..=> true
##[debug]..Evaluating Equal:
##[debug]....Evaluating Index:
##[debug]......Evaluating inputs:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'task'
##[debug]....=> 'display-results'
##[debug]....Evaluating String:
##[debug]....=> 'display-results'
##[debug]..=> true
##[debug]=> true
##[debug]Expanded: (true && ('display-results' == 'display-results'))
##[debug]Result: true
##[debug]Starting: run
##[debug]Loading inputs
##[debug]Evaluating: format('***0***/scripts/display_results.sh -dt ***1*** -db ***2*** -b "***3***" -r ***4*** -R "***5***" -sd ***6*** -sc ***7*** -s "github"
##[debug]cat "/tmp/eco-ci/output.txt" >> $GITHUB_STEP_SUMMARY
##[debug]total_data_file="/tmp/eco-ci/total-data.json"
##[debug]echo "data-total-json=$(cat $total_data_file)" >> $GITHUB_OUTPUT
##[debug]', github.action_path, inputs.display-table, inputs.display-badge, inputs.branch, github.run_id, github.repository, inputs.send-data, inputs.show-carbon)
##[debug]Evaluating format:
##[debug]..Evaluating String:
##[debug]..=> '***0***/scripts/display_results.sh -dt ***1*** -db ***2*** -b "***3***" -r ***4*** -R "***5***" -sd ***6*** -sc ***7*** -s "github"
##[debug]cat "/tmp/eco-ci/output.txt" >> $GITHUB_STEP_SUMMARY
##[debug]total_data_file="/tmp/eco-ci/total-data.json"
##[debug]echo "data-total-json=$(cat $total_data_file)" >> $GITHUB_OUTPUT
##[debug]'
##[debug]..Evaluating Index:
##[debug]....Evaluating github:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'action_path'
##[debug]..=> '/home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated'
##[debug]..Evaluating Index:
##[debug]....Evaluating inputs:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'display-table'
##[debug]..=> 'true'
##[debug]..Evaluating Index:
##[debug]....Evaluating inputs:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'display-badge'
##[debug]..=> 'true'
##[debug]..Evaluating Index:
##[debug]....Evaluating inputs:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'branch'
##[debug]..=> '2327/merge'
##[debug]..Evaluating Index:
##[debug]....Evaluating github:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'run_id'
##[debug]..=> '9545128180'
##[debug]..Evaluating Index:
##[debug]....Evaluating github:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'repository'
##[debug]..=> '***'
##[debug]..Evaluating Index:
##[debug]....Evaluating inputs:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'send-data'
##[debug]..=> 'true'
##[debug]..Evaluating Index:
##[debug]....Evaluating inputs:
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'show-carbon'
##[debug]..=> 'true'
##[debug]=> '/home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated/scripts/display_results.sh -dt true -db true -b "2327/merge" -r 9545128180 -R "***" -sd true -sc true -s "github"
##[debug]cat "/tmp/eco-ci/output.txt" >> $GITHUB_STEP_SUMMARY
##[debug]total_data_file="/tmp/eco-ci/total-data.json"
##[debug]echo "data-total-json=$(cat $total_data_file)" >> $GITHUB_OUTPUT
##[debug]'
##[debug]Result: '/home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated/scripts/display_results.sh -dt true -db true -b "2327/merge" -r 9545128180 -R "***" -sd true -sc true -s "github"
##[debug]cat "/tmp/eco-ci/output.txt" >> $GITHUB_STEP_SUMMARY
##[debug]total_data_file="/tmp/eco-ci/total-data.json"
##[debug]echo "data-total-json=$(cat $total_data_file)" >> $GITHUB_OUTPUT
##[debug]'
##[debug]Loading env
Run /home/runner/work/_actions/green-coding-solutions/eco-ci-energy-estimation/pre-calculated/scripts/display_results.sh -dt true -db true -b "2327/merge" -r 9545128180 -R "***" -sd true -sc true -s "github"
##[debug]/usr/bin/bash --noprofile --norc -e -o pipefail /home/runner/work/_temp/0a135c0b-61fb-4188-ba5a-4abd42392d2c.sh
Could not display table as no measurement data was present!
Error: Process completed with exit code 1.
##[debug]Finished: run
##[debug]Evaluating: github.event.pull_request.number
##[debug]Evaluating Index:
##[debug]..Evaluating Index:
##[debug]....Evaluating Index:
##[debug]......Evaluating github:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'event'
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'pull_request'
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'number'
##[debug]=> 2327
##[debug]Result: 2327
##[debug]Evaluating condition for step: 'run'
##[debug]Evaluating: (success() && (github.event_name == 'pull_request') && (inputs.pr-comment == 'true'))
##[debug]Evaluating And:
##[debug]..Evaluating success:
##[debug]..=> false
##[debug]=> false
##[debug]Expanded: (false && (github['event_name'] == 'pull_request') && (inputs['pr-comment'] == 'true'))
##[debug]Result: false
##[debug]Evaluating: steps.run-total-model.outputs.data-total-json
##[debug]Evaluating Index:
##[debug]..Evaluating Index:
##[debug]....Evaluating Index:
##[debug]......Evaluating steps:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'run-total-model'
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'outputs'
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'data-total-json'
##[debug]=> null
##[debug]Result: null
##[debug]Evaluating: steps.run-lap-model.outputs.data-lap-json
##[debug]Evaluating Index:
##[debug]..Evaluating Index:
##[debug]....Evaluating Index:
##[debug]......Evaluating steps:
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'run-lap-model'
##[debug]....=> Object
##[debug]....Evaluating String:
##[debug]....=> 'outputs'
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'data-lap-json'
##[debug]=> null
##[debug]Result: null
##[debug]Finishing: Show energy results
Alright, at least one step further :)
The error messsage that you are seeing comes from the fact that no measurement data was collected. This is not always an error with Eco-CI, but can also be, because your workflow is simply too short.
Is the workflow somewhere public so I can have a look? What I would be checking for is how long the steps take and how you have setup the interplay of "initialize" and "start-measurement", "start-measurement" and "display-results".
I'm afraid I don't have a public workflow I can share, but it's a rather long build job (6-7m) that calls on EcoCI twice–as a first and final step. I've copied the steps below. We recently migrated from ubuntu-latest to ARM64; energy estimation worked up until this point.
If it helps, I can try to find a public repo CI to migrate to ARM64 runners, and add the action.
First step:
- name: Initialize energy estimation
uses: green-coding-solutions/eco-ci-energy-estimation@pre-calculated
with:
task: start-measurement
continue-on-error: true
Last step:
- name: Show energy results
uses: green-coding-solutions/eco-ci-energy-estimation@pre-calculated
with:
task: display-results
continue-on-error: true
Hmm, that is unfortunate. The configuration looks ok.
Without the logs I am not sure what exactly the problem is. Most likely something will file permissions, the /proc/stat
file which is different on the ARM runners than on the classic Linux ones.
We tested it all on ARM machines locally, but sadly have no acces to the Github Shared Runners. I will try to ping someone with GitHub internally and ask if they can support us on this.
Stay tuned :)
Hey @doramatadora ,
I can now report some update on this :)
We have now access to ARM runners and I justed tested with our newest version.
Can you try integrating the newest version and see if the error still persisits?
Integration would be: uses: green-coding-solutions/eco-ci-energy-estimation@v4.0-rc3
Main goal atm is first getting ARM technicall working and then adjusting the power profiles
Also one addition: If you keep getting the same error can you post an overview screenshot of the steps so that I can see how long the steps are you are trying to measure? If steps are too short or skipped it might be that really no data has been created
It seems this action isn't compatible with linux-arm64 runners. Are there plans to support this?
Runner VM info: