Merge pull request #14330 from ethereum/parallelize-bytecode-compare

Generate CLI and Standard JSON bytecode reports in parallel
This commit is contained in:
Kamil Śliwak 2023-06-23 11:06:51 +02:00 committed by GitHub
commit f9a3c094a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -80,18 +80,30 @@ commands:
type: string
steps:
- run: mkdir test-cases/
- run: cd test-cases && python3 ../scripts/isolate_tests.py ../test/
- run: cd test-cases && python3 ../scripts/bytecodecompare/prepare_report.py << parameters.binary_path >> --interface standard-json --report-file "../bytecode-report-<< parameters.label >>-json.txt"
- run: cd test-cases && python3 ../scripts/bytecodecompare/prepare_report.py << parameters.binary_path >> --interface cli --report-file "../bytecode-report-<< parameters.label >>-cli.txt"
- run:
name: Prepare input files
command: |
cd test-cases/
python3 ../scripts/isolate_tests.py ../test/
- run:
name: Generate bytecode report
command: |
cd test-cases/
interface=$(echo -e "standard-json\ncli" | circleci tests split)
echo "Selected interface: ${interface}"
python3 ../scripts/bytecodecompare/prepare_report.py \
<< parameters.binary_path >> \
--interface "$interface" \
--report-file "../bytecode-report-<< parameters.label >>-${interface}.txt"
- store_artifacts:
path: bytecode-report-<< parameters.label >>-json.txt
path: bytecode-report-<< parameters.label >>-standard-json.txt
- store_artifacts:
path: bytecode-report-<< parameters.label >>-cli.txt
- persist_to_workspace:
root: .
paths:
- bytecode-report-<< parameters.label >>-json.txt
- bytecode-report-<< parameters.label >>-cli.txt
- bytecode-report-<< parameters.label >>-*.txt
- matrix_notify_failure_unless_pr
install_python3:
@ -1477,6 +1489,7 @@ jobs:
TERM: xterm
MAKEFLAGS: -j 2
LC_ALL: C
parallelism: 2 # For prepare_bytecode_report
steps:
- checkout
- attach_workspace:
@ -1491,6 +1504,7 @@ jobs:
TERM: xterm
MAKEFLAGS: -j 2
LC_ALL: C
parallelism: 2 # For prepare_bytecode_report
steps:
- checkout
- attach_workspace:
@ -1505,6 +1519,7 @@ jobs:
TERM: xterm
MAKEFLAGS: -j 5
LC_ALL: C
parallelism: 2 # For prepare_bytecode_report
steps:
- checkout
- attach_workspace:
@ -1517,6 +1532,7 @@ jobs:
<<: *base_win
environment:
LC_ALL: C
parallelism: 2 # For prepare_bytecode_report
steps:
# NOTE: For bytecode generation we need the input files to be byte-for-byte identical on all
# platforms so line ending conversions must absolutely be disabled.
@ -1553,13 +1569,13 @@ jobs:
environment:
REPORT_FILES: |
bytecode-report-emscripten.txt
bytecode-report-ubuntu2004-static-json.txt
bytecode-report-ubuntu2004-static-standard-json.txt
bytecode-report-ubuntu2004-static-cli.txt
bytecode-report-ubuntu-json.txt
bytecode-report-ubuntu-standard-json.txt
bytecode-report-ubuntu-cli.txt
bytecode-report-osx-json.txt
bytecode-report-osx-standard-json.txt
bytecode-report-osx-cli.txt
bytecode-report-windows-json.txt
bytecode-report-windows-standard-json.txt
bytecode-report-windows-cli.txt
steps:
- attach_workspace: