Skip to content

Add Space Component Loads Report and Fix Zone Component Loads when Enclosures Differ from Zones #244

Add Space Component Loads Report and Fix Zone Component Loads when Enclosures Differ from Zones

Add Space Component Loads Report and Fix Zone Component Loads when Enclosures Differ from Zones #244

name: Code Integrity
on:
push:
branches: [ develop ]
pull_request:
branches: [ develop ]
jobs:
code_integrity_checks:
name: Static Code Analysis
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run clang-format style check for C/C++ source code.
uses: jidicula/[email protected]
if: always()
with:
clang-format-version: '10'
check-path: 'src/EnergyPlus'
- name: Run clang-format style check for C/C++ unit test code.
uses: jidicula/[email protected]
if: always()
with:
clang-format-version: '10'
check-path: 'tst/EnergyPlus/unit'
- name: Custom Check
if: always()
run: ./scripts/dev/custom_check.sh .
- name: Install cppcheck
if: always()
run: |
mkdir cppcheck
cd cppcheck
wget https://github.com/danmar/cppcheck/archive/2.10.tar.gz
tar xfz 2.10.tar.gz
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ../cppcheck-2.10/
make -j $(nproc)
sudo make install
cd ..
rm -Rf cppcheck
- name: Cache cppcheck-build-directory
if: always()
id: cppcheckcache
uses: actions/cache@v4
with:
path: .cppcheck-build-dir/
key: cppcheckcache
- name: cppcheck-build-directory not found
# If the build cache wasn't found in the cache
if: always() && steps.cppcheckcache.outputs.cache-hit != 'true'
run: mkdir .cppcheck-build-dir
- name: cppcheck-build-directory was found
# If the build cache wasn't found in the cache
if: always() && steps.cppcheckcache.outputs.cache-hit == 'true'
run: ls .cppcheck-build-dir/ || true
- name: Run CppCheck
id: cpp_check_run
if: always()
# TODO: Evaluate the long list of flags here
run: >
cppcheck
--cppcheck-build-dir=.cppcheck-build-dir
-D__cppcheck__ -UEP_Count_Calls -DEP_NO_OPENGL -UGROUND_PLOT -DLINK_WITH_PYTHON -DMSVC_DEBUG -DSKYLINE_MATRIX_REMOVE_ZERO_COLUMNS -U_OPENMP -Ugeneratetestdata
-DEP_cache_GlycolSpecificHeat -DEP_cache_PsyTsatFnPb -UEP_nocache_Psychrometrics -UEP_psych_errors -UEP_psych_stats
--force
--std=c++17
--inline-suppr
--suppress=cppcheckError
--suppress=unusedFunction:src/EnergyPlus/api/autosizing.cc
--suppress=unusedFunction:src/EnergyPlus/api/datatransfer.cc
--suppress=unusedFunction:src/EnergyPlus/api/func.cc
--suppress=unusedFunction:src/EnergyPlus/api/runtime.cc
--suppress=unusedFunction:src/EnergyPlus/api/state.cc
--suppress=unusedFunction:src/EnergyPlus/Psychrometrics.cc
--enable=all
-i EnergyPlus/DXCoils.cc
-i EnergyPlus/RefrigeratedCase.cc
-i EnergyPlus/SolarShading.cc
-j $(nproc)
--template='[{file}:{line}]:({severity}),[{id}],{message}'
--suppress="uninitvar:*"
./src
3>&1 1>&2 2>&3 | tee cppcheck.txt
- name: Parse and colorize cppcheck
if: always() && steps.cpp_check_run.outcome == 'success'
run: python ./scripts/dev/colorize_cppcheck_results.py
- name: Upload cppcheck results as artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: EnergyPlus-${{ github.sha }}-cppcheck_results.txt
path: cppcheck.txt