Skip to content

Daily tests

Daily tests #654

Workflow file for this run

name: Daily tests
on:
schedule:
- cron: "30 19 * * 1,2,3,4,5"
workflow_dispatch:
inputs:
config_files:
description: 'Json config files'
required: true
default: 'suites/Daily-tests/Daily-tests_synth_rs_ade_with_bram_with_dsp.json'
conditional:
type: boolean
description: 'Base'
required: true
default: true
jobs:
build:
runs-on: verific-builder
steps:
- name: Cancel previous
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: ssh-agent
uses: webfactory/[email protected]
with:
ssh-private-key: |
${{ secrets.SSH_PRIVATE_KEY_RTL_BENCHMARK }}
${{ secrets.SSH_PRIVATE_KEY_YOSYS }}
${{ secrets.SSH_PRIVATE_KEY_YOSYS_RS_PLUGIN }}
${{ secrets.SSH_PRIVATE_KEY_LOGIC_SYNTHESIS }}
${{ secrets.SSH_PRIVATE_KEY_ABC }}
${{ secrets.SSH_PRIVATE_KEY_RAPTOR_TOOLS }}
${{ secrets.SSH_PRIVATE_KEY_VERIFIC }}
${{ secrets.SSH_RS_FPGA_PRIMITIVES }}
- name: Checkout code
uses: actions/checkout@v2
- name: Checkout RTL_Benchmark
run: |
git submodule update --init --recursive RTL_Benchmark
- name: Configure shell
run: |
module load fpga_tools/raptor/build_env
pip3 install pandas --user
echo 'CC=gcc' >> $GITHUB_ENV
echo 'CXX=g++' >> $GITHUB_ENV
echo 'PATH=/usr/lib/ccache:'"$PATH" >> $GITHUB_ENV
echo 'PREFIX=/tmp/yosys_verific-install' >> $GITHUB_ENV
echo "ADDITIONAL_CMAKE_OPTIONS='-DMY_CXX_WARNING_FLAGS="-W -Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -Werror -UNDEBUG"'" >> $GITHUB_ENV
echo 'RULE_MESSAGES=off' >> $GITHUB_ENV
- name: Show shell configuration
run: |
env
which cmake && cmake --version
which make && make --version
which python && python --version
which ninja && ninja --version
which $CC && $CC --version
which $CXX && $CXX --version
- name: Build yosys+verific
run:
make release
- name: Execute Python script
continue-on-error: true
run: |
module load fpga_tools/raptor/build_env
module load opensource/gcc/11.2.0
if [[ "${{ github.event_name }}" == "schedule" ]]; then
python3 scripts/synth/synthesis.py --config_files "suites/Daily-tests/Daily-tests_synth_rs_ade_with_bram_with_dsp.json"
else
python3 scripts/synth/synthesis.py --config_files ${{ github.event.inputs.config_files }}
fi
- name: Prepare logs
run: |
find result*/ -type f -not -name *.log | xargs rm -f
- name: Upload logs
uses: actions/upload-artifact@v2
with:
name: logs
path: result*/
- name: Execute metrics extraction
continue-on-error: true
run: |
var=`find result*/ -name *json`
echo $var
if ${{ github.event_name == 'schedule' || github.event.inputs.conditional }}; then
python3 scripts/log_automation/run_metrics_extractor.py --yosys result*/*.json .github/logs/Daily-tests_synth_rs_ade_with_bram_with_dsp --run_log result*/run.log .github/logs/Daily-tests_synth_rs_ade_with_bram_with_dsp/run.log --base .github/logs/Daily-tests_synth_rs_ade_with_bram_with_dsp --output_file Daily-tests_synth_rs_ade_with_bram_with_dsp.csv
else
python3 scripts/log_automation/run_metrics_extractor.py --yosys $var --output_file synth_rs.csv --run_log result*/run.log
fi
- name: Upload csv file
uses: actions/upload-artifact@v2
with:
name: QoR
path: |
Daily-tests_synth_rs_ade_with_bram_with_dsp.csv
synth_rs.csv
- name: Compare QoR
run: |
if ${{ github.event_name == 'schedule' || (github.event.inputs.config_files == 'suites/Daily-tests/Daily-tests_synth_rs_ade_with_bram_with_dsp.json' && github.event.inputs.conditional) }}; then
pip install --user pandas
pip install --user termcolor
python3 scripts/log_automation/result_comparision.py Daily-tests_synth_rs_ade_with_bram_with_dsp.csv
else
echo "Nothing to Run"
fi