Daily tests #589
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |