Skip to content

Commit

Permalink
Merge develop, resolve conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
amirroth committed Dec 6, 2024
2 parents 2d1b4c3 + acda84e commit 6a339a8
Show file tree
Hide file tree
Showing 1,185 changed files with 141,657 additions and 11,424 deletions.
15 changes: 9 additions & 6 deletions .decent_ci-Linux.yaml
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
compilers:
- name: "gcc"
version: "11.4"
cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DBUILD_PERFORMANCE_TESTS:BOOL=ON -DVALGRIND_ANALYZE_PERFORMANCE_TESTS:BOOL=ON -DENABLE_PCH:BOOL=OFF
version: "13.2"
cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=OFF -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DBUILD_PERFORMANCE_TESTS:BOOL=ON -DVALGRIND_ANALYZE_PERFORMANCE_TESTS:BOOL=ON -DENABLE_PCH:BOOL=OFF
collect_performance_results: true
skip_regression: true
s3_upload_bucket: energyplus
num_parallel_builds: 16

- name: "gcc"
version: "11.4"
version: "13.2"
build_type: RelWithDebInfo
cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=OFF -DCOMMIT_SHA:STRING=$COMMIT_SHA -DENABLE_COVERAGE:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DENABLE_PCH:BOOL=OFF
cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=OFF -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=OFF -DCOMMIT_SHA:STRING=$COMMIT_SHA -DENABLE_COVERAGE:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DENABLE_PCH:BOOL=OFF
coverage_enabled: true
coverage_base_dir: src/EnergyPlus
coverage_pass_limit: 41.0
Expand All @@ -19,11 +20,12 @@ compilers:
ctest_filter: -E "integration.*"
skip_regression: true
skip_packaging: true
num_parallel_builds: 16

- name: "gcc"
version: "11.4"
version: "13.2"
build_type: RelWithDebInfo
cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=OFF -DCOMMIT_SHA:STRING=$COMMIT_SHA -DENABLE_COVERAGE:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DENABLE_PCH:BOOL=OFF
cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=OFF -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=OFF -DCOMMIT_SHA:STRING=$COMMIT_SHA -DENABLE_COVERAGE:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DENABLE_PCH:BOOL=OFF
coverage_enabled: true
coverage_base_dir: src/EnergyPlus
coverage_pass_limit: 66.0
Expand All @@ -33,3 +35,4 @@ compilers:
ctest_filter: -R "integration.*"
skip_regression: true
skip_packaging: true
num_parallel_builds: 16
2 changes: 1 addition & 1 deletion .decent_ci-Windows.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ compilers:
- name: Visual Studio
version: 16
architecture: Win64
cmake_extra_flags: -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DCOMMIT_SHA=%COMMIT_SHA% -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DLINK_WITH_PYTHON=ON -DPython_EXECUTABLE:PATH=C:/Users/elee/AppData/Local/Programs/Python/Python312/python.exe
cmake_extra_flags: -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DCOMMIT_SHA=%COMMIT_SHA% -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DLINK_WITH_PYTHON=ON -DPYTHON_CLI:BOOL=OFF -DPython_EXECUTABLE:PATH=C:/Users/elee/AppData/Local/Programs/Python/Python312/python.exe
skip_regression: true
2 changes: 1 addition & 1 deletion .decent_ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ results_repository : Myoldmopar/EnergyPlusBuildResults
results_path : _posts
results_base_url : https://myoldmopar.github.io/EnergyPlusBuildResults
regression_repository : NREL/EnergyPlusRegressionTool
regression_branch : BumpToBoto3 # this is the branch of NREL/EnergyPlusRegressionTool to use (usually main)
regression_branch : main # this is the branch of NREL/EnergyPlusRegressionTool to use (usually main)
regression_baseline_default : develop # this is the NREL/EnergyPlus branch to use as the baseline for regressions
regression_baseline_develop : ""
regression_baseline_master : ""
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
path: ./dist

- name: Deploy on Test PyPi
uses: pypa/gh-action-pypi-publish@v1.9.0
uses: pypa/gh-action-pypi-publish@v1.12.2
with:
repository-url: https://test.pypi.org/legacy/
user: __token__
Expand Down
17 changes: 17 additions & 0 deletions .github/workflows/cpp-problem-matcher.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"problemMatcher": [
{
"owner": "gcc-problem-matcher",
"pattern": [
{
"regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
]
}
]
}
15 changes: 5 additions & 10 deletions .github/workflows/release_linux.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Releases
name: Linux Releases

on:
push:
Expand Down Expand Up @@ -70,7 +70,8 @@ jobs:
shell: bash
run: |
cmake -DCMAKE_BUILD_TYPE:STRING=$BUILD_TYPE \
-DLINK_WITH_PYTHON:BOOL=ON -DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} \
-DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=ON \
-DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} \
-DPython_ROOT_DIR:PATH=$RUNNER_TOOL_CACHE/Python/${{ steps.setup-python.outputs.python-version }}/x64/ \
-DBUILD_FORTRAN:BOOL=ON -DBUILD_PACKAGE:BOOL=ON \
-DDOCUMENTATION_BUILD:STRING="BuildWithAll" -DTEX_INTERACTION:STRING="batchmode" -DENABLE_PCH:BOOL=OFF \
Expand Down Expand Up @@ -127,16 +128,10 @@ jobs:
# fail-fast: Default is true, switch to false to allow one platform to fail and still run others
fail-fast: false
matrix:
name: [20, 22, 24]
include:
- name: 20
os: ubuntu-20.04
test_key: ubuntu2004
- name: 22
os: ubuntu-22.04
- os: ubuntu-22.04
test_key: ubuntu2204
- name: 24
os: ubuntu-24.04
- os: ubuntu-24.04
test_key: ubuntu2404

steps:
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/release_mac.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Releases
name: Mac Releases

on:
push:
Expand Down Expand Up @@ -137,7 +137,7 @@ jobs:
echo "Installing gcc@13 for gfortran support of -static-libquadmath"
brew list gcc@13 || brew install gcc@13
which gfortran-13 || echo "FC=$(brew --prefix gcc@13)/bin/gfortran-13" >> $GITHUB_ENV
brew install ninja
brew install ninja tcl-tk
- name: Create Build Directory
run: cmake -E make_directory ./build/
Expand All @@ -150,7 +150,8 @@ jobs:
run: |
cmake -G Ninja -DCMAKE_BUILD_TYPE:STRING=$BUILD_TYPE \
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${{ matrix.macos_dev_target }} \
-DLINK_WITH_PYTHON:BOOL=ON -DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} \
-DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=ON \
-DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} \
-DPython_ROOT_DIR:PATH=$RUNNER_TOOL_CACHE/Python/${{ steps.setup-python.outputs.python-version }}/${{ matrix.python-arch }}/ \
-DBUILD_FORTRAN:BOOL=ON -DBUILD_PACKAGE:BOOL=ON \
-DDOCUMENTATION_BUILD:STRING=$DOCUMENTATION_BUILD -DTEX_INTERACTION:STRING="batchmode" \
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/release_windows.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Releases
name: Windows Releases

on:
push:
Expand Down Expand Up @@ -134,7 +134,8 @@ jobs:
run: |
set -x
cmake -G "Visual Studio 16 2019" -A ${{ matrix.vs-generator }} \
-DLINK_WITH_PYTHON:BOOL=ON -DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} \
-DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=ON \
-DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} \
-DPython_ROOT_DIR:PATH=$RUNNER_TOOL_CACHE/Python/${{ steps.setup-python.outputs.python-version }}/${{ matrix.arch }}/ \
-DBUILD_FORTRAN:BOOL=ON -DBUILD_PACKAGE:BOOL=ON \
-DENABLE_HARDENED_RUNTIME:BOOL=${{ matrix.enable_hardened_runtime }} \
Expand Down
41 changes: 6 additions & 35 deletions .github/workflows/test_code_integrity.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,19 @@ on:
jobs:
code_integrity_checks:
name: Static Code Analysis
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4

- name: Run clang-format style check for C/C++ source code.
uses: jidicula/clang-format-action@v4.13.0
uses: jidicula/clang-format-action@v4.14.0
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/clang-format-action@v4.13.0
uses: jidicula/clang-format-action@v4.14.0
if: always()
with:
clang-format-version: '10'
Expand All @@ -33,50 +33,21 @@ jobs:

- 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
run: sudo apt-get install cppcheck

- 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=missingInclude
--suppress=missingIncludeSystem
--suppress=unusedFunction:src/EnergyPlus/api/autosizing.cc
--suppress=unusedFunction:src/EnergyPlus/api/datatransfer.cc
--suppress=unusedFunction:src/EnergyPlus/api/func.cc
Expand Down
22 changes: 13 additions & 9 deletions .github/workflows/test_develop_commits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Develop Branch Testing

on:
push:
branches: [ develop ] # run this on all commits to the develop branch
branches: [ develop, fixPythonEngineBuild ] # run this on all commits to the develop branch

defaults:
run:
Expand Down Expand Up @@ -58,13 +58,13 @@ jobs:
# nproc: 4
# pretty: "Standard Build on Windows VS 2022"
# alternate: false
# - os: ubuntu-24.04
# arch: x86_64
# python-arch: x64
# generator: "Unix Makefiles"
# nproc: 4
# pretty: "Alternate Build on Ubuntu 24.04"
# alternate: true
- os: ubuntu-24.04
arch: x86_64
python-arch: x64
generator: "Unix Makefiles"
nproc: 4
pretty: "Alternate Build on Ubuntu 24.04"
alternate: true

steps:

Expand Down Expand Up @@ -106,6 +106,7 @@ jobs:
-DCMAKE_BUILD_TYPE:STRING=Release
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${{ matrix.macos_dev_target }}
-DLINK_WITH_PYTHON:BOOL=ON
-DPYTHON_CLI:BOOL=ON
-DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }}
-DPython_ROOT_DIR:PATH=$RUNNER_TOOL_CACHE/Python/${{ steps.setup-python.outputs.python-version }}/${{ matrix.python-arch }}/
-DBUILD_TESTING:BOOL=ON
Expand Down Expand Up @@ -134,7 +135,10 @@ jobs:
- name: Build
id: build
working-directory: ./build
run: cmake --build . -j ${{ matrix.nproc }} --config Release
run: |
echo "::add-matcher::./.github/workflows/cpp-problem-matcher.json"
cmake --build . -j ${{ matrix.nproc }} --config Release
echo "::remove-matcher owner=gcc-problem-matcher::"
- name: Test
# Not running test on alternate build yet, I need to test things
Expand Down
16 changes: 14 additions & 2 deletions .github/workflows/test_pull_requests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ jobs:
if: runner.os == 'macOS'
run: |
brew update
brew install tcl-tk
brew reinstall gcc@13
echo "FC=$(brew --prefix gcc@13)/bin/gfortran-13" >> $GITHUB_ENV
echo MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos_dev_target }} >> $GITHUB_ENV
Expand Down Expand Up @@ -94,6 +95,7 @@ jobs:
-DCMAKE_BUILD_TYPE:STRING=Release
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${{ matrix.macos_dev_target }}
-DLINK_WITH_PYTHON:BOOL=ON
-DPYTHON_CLI:BOOL=ON
-DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }}
-DPython_ROOT_DIR:PATH=$RUNNER_TOOL_CACHE/Python/${{ steps.setup-python.outputs.python-version }}/${{ matrix.python-arch }}/
-DBUILD_TESTING:BOOL=ON
Expand Down Expand Up @@ -139,6 +141,7 @@ jobs:
-DCMAKE_BUILD_TYPE:STRING=Release
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${{ matrix.macos_dev_target }}
-DLINK_WITH_PYTHON:BOOL=ON
-DPYTHON_CLI:BOOL=ON
-DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }}
-DPython_ROOT_DIR:PATH=$RUNNER_TOOL_CACHE/Python/${{ steps.setup-python.outputs.python-version }}/${{ matrix.python-arch }}/
-DBUILD_TESTING:BOOL=ON
Expand All @@ -152,7 +155,10 @@ jobs:
- name: Branch Build
id: branch_build
working-directory: ./branch/build
run: cmake --build . -j ${{ matrix.nproc }} --config Release
run: |
echo "::add-matcher::./branch/.github/workflows/cpp-problem-matcher.json"
cmake --build . -j ${{ matrix.nproc }} --config Release
echo "::remove-matcher owner=gcc-problem-matcher::"
- name: Branch Test
working-directory: ./branch/build
Expand Down Expand Up @@ -188,8 +194,14 @@ jobs:
${{ steps.upload_regressions.outputs.artifact-url }}
- uses: actions/github-script@v7
if: always() && matrix.run_regressions && steps.regressions.outcome == 'failure'
if: always() && matrix.run_regressions && steps.regressions.outcome == 'failure' && github.event.pull_request.head.repo.full_name == 'NREL/EnergyPlus'
with:
script: |
const script = require('${{ github.workspace }}/regressions/summary.js')
console.log(script({github, context}))
- name: Fail on Regressions from Forked Repository
if: always() && matrix.run_regressions && steps.regressions.outcome == 'failure' && github.event.pull_request.head.repo.full_name != 'NREL/EnergyPlus'
run: |
echo "::error::Regressions detected in pull request from forked repository, check job summary for details and to download regression results"
exit 1
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,7 @@ endif()
# If LINK_WITH_PYTHON, also request the Development (libs) at the same time, to ensure consistent version between interpreter and Development
# and ask for at least 3.8 (for the PyConfig stuff).
if(LINK_WITH_PYTHON)
option(PYTHON_CLI "Build the Auxiliary CLI to Call Python Utilities" OFF)
# find_package(Python) has the problem that on github actions in particular it'll pick up the most recent python (eg 3.9) from the tool cache
# even if you have used the setup-python action and set it to 3.8, so we make the exact version required
set(Python_REQUIRED_VERSION "" CACHE STRING "The specific Python version you want to link to (Optional)")
Expand Down
Loading

3 comments on commit 6a339a8

@nrel-bot-2c
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ScheduleAPI (amirroth) - x86_64-Linux-Ubuntu-24.04-gcc-13.2: OK (2766 of 2918 tests passed, 0 test warnings)

Failures:\n

API Test Summary

  • Passed: 14
  • Subprocess aborted: 2

EnergyPlusFixture Test Summary

  • Passed: 1602
  • Subprocess aborted: 3

integration Test Summary

  • Passed: 655
  • Failed: 146

performance Test Summary

  • Passed: 16
  • Failed: 1

Build Badge Test Badge

@nrel-bot-2c
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ScheduleAPI (amirroth) - x86_64-Linux-Ubuntu-24.04-gcc-13.2-UnitTestsCoverage-RelWithDebInfo: OK (2095 of 2100 tests passed, 0 test warnings)

Failures:\n

API Test Summary

  • Passed: 14
  • Subprocess aborted: 2

EnergyPlusFixture Test Summary

  • Passed: 1602
  • Subprocess aborted: 3

Build Badge Test Badge Coverage Badge

@nrel-bot-2c
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ScheduleAPI (amirroth) - x86_64-Linux-Ubuntu-24.04-gcc-13.2-IntegrationCoverage-RelWithDebInfo: Tests Failed (654 of 801 tests passed, 0 test warnings)

Failures:\n

integration Test Summary

  • Passed: 654
  • Failed: 147

Build Badge Test Badge Coverage Badge

Please sign in to comment.