-
Notifications
You must be signed in to change notification settings - Fork 392
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #10714 from NREL/revert-10683-MacBuildsOnGHA
Revert "Completely Rebuild our CI System"
- Loading branch information
Showing
44 changed files
with
1,268 additions
and
1,571 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
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_REGRESSION_TESTING:BOOL=ON -DREGRESSION_BASELINE_PATH:PATH=$REGRESSION_BASELINE -DREGRESSION_SCRIPT_PATH:PATH=$REGRESSION_DIR -DREGRESSION_BASELINE_SHA:STRING=$REGRESSION_BASELINE_SHA -DCOMMIT_SHA:STRING=$COMMIT_SHA -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 | ||
s3_upload_bucket: energyplus | ||
|
||
- name: "gcc" | ||
version: "11.4" | ||
build_type: Debug | ||
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 | ||
coverage_enabled: true | ||
coverage_base_dir: src/EnergyPlus | ||
coverage_pass_limit: 41.0 | ||
coverage_warn_limit: 40.0 | ||
coverage_s3_bucket: energyplus | ||
build_tag: UnitTestsCoverage | ||
ctest_filter: -E "integration.*" | ||
skip_regression: true | ||
skip_packaging: true | ||
|
||
- name: "gcc" | ||
version: "11.4" | ||
build_type: Debug | ||
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 | ||
coverage_enabled: true | ||
coverage_base_dir: src/EnergyPlus | ||
coverage_pass_limit: 66.0 | ||
coverage_warn_limit: 67.0 | ||
coverage_s3_bucket: energyplus | ||
build_tag: IntegrationCoverage | ||
ctest_filter: -R "integration.*" | ||
skip_regression: true | ||
skip_packaging: true |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
compilers: | ||
- name: clang | ||
cmake_extra_flags: -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -DBUILD_FORTRAN=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=ON -DREGRESSION_BASELINE_PATH:PATH=$REGRESSION_BASELINE -DREGRESSION_SCRIPT_PATH:PATH=$REGRESSION_DIR -DREGRESSION_BASELINE_SHA:STRING=$REGRESSION_BASELINE_SHA -DCOMMIT_SHA=$COMMIT_SHA -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DLINK_WITH_PYTHON=ON -DPython_REQUIRED_VERSION:STRING=3.12.2 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
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 | ||
skip_regression: true |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
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_baseline_default : develop # this is the NREL/EnergyPlus branch to use as the baseline for regressions | ||
regression_baseline_develop : "" | ||
regression_baseline_master : "" | ||
notification_recipients: | ||
- myoldmopar | ||
aging_pull_requests_notification: true | ||
aging_pull_requests_numdays: 28 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
name: Mac Testing | ||
|
||
on: [push] | ||
|
||
env: | ||
FC: /usr/local/bin/gfortran-9 | ||
DO_REGRESSIONS: false | ||
INSTALL_DEPENDENCIES: true | ||
|
||
jobs: | ||
build: | ||
runs-on: macos-10.15 | ||
|
||
steps: | ||
- name: Checkout Branch | ||
uses: actions/checkout@v2 | ||
with: | ||
path: 'clone_branch' | ||
|
||
- name: Checkout Baseline | ||
if: ${{ env.DO_REGRESSIONS == 'true' }} | ||
uses: actions/checkout@v2 | ||
with: | ||
repository: 'NREL/EnergyPlus' | ||
ref: 'develop' | ||
path: 'clone_baseline' | ||
fetch-depth: '1' | ||
|
||
- name: Checkout Regressions | ||
if: ${{ env.DO_REGRESSIONS == 'true' }} | ||
uses: actions/checkout@v2 | ||
with: | ||
repository: 'NREL/EnergyPlusRegressionTool' | ||
ref: 'master' | ||
path: 'clone_regressions' | ||
fetch-depth: '1' | ||
|
||
- name: Set up Python 3.7 | ||
if: ${{ env.INSTALL_DEPENDENCIES == 'true' }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: 3.7 | ||
|
||
- name: Install Python dependencies | ||
if: ${{ env.INSTALL_DEPENDENCIES == 'true' && env.DO_REGRESSIONS == 'true'}} | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install beautifulsoup4 soupsieve boto | ||
- name: Create Baseline Build Directory | ||
if: ${{ env.DO_REGRESSIONS == 'true' }} | ||
run: cmake -E make_directory ${{runner.workspace}}/EnergyPlus/clone_baseline/build | ||
|
||
- name: Configure Baseline | ||
if: ${{ env.DO_REGRESSIONS == 'true' }} | ||
shell: bash | ||
working-directory: ${{runner.workspace}}/EnergyPlus/clone_baseline/build | ||
run: cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_FORTRAN=ON -DBUILD_TESTING:BOOL=ON -DCOMMIT_SHA=$COMMIT_SHA -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DLINK_WITH_PYTHON=ON $GITHUB_WORKSPACE/clone_baseline | ||
|
||
- name: Build Baseline | ||
if: ${{ env.DO_REGRESSIONS == 'true' }} | ||
working-directory: ${{runner.workspace}}/EnergyPlus/clone_baseline/build | ||
shell: bash | ||
run: cmake --build . -j 2 | ||
|
||
- name: Test Baseline | ||
if: ${{ env.DO_REGRESSIONS == 'true' }} | ||
working-directory: ${{runner.workspace}}/EnergyPlus/clone_baseline/build | ||
shell: bash | ||
run: ctest -R 1ZoneUncontrolled | ||
|
||
- name: Create Branch Build Directory | ||
run: cmake -E make_directory ${{runner.workspace}}/EnergyPlus/clone_branch/build | ||
|
||
- name: Configure Branch without Regressions | ||
if: ${{ env.DO_REGRESSIONS != 'true' }} | ||
shell: bash | ||
working-directory: ${{runner.workspace}}/EnergyPlus/clone_branch/build | ||
run: cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_FORTRAN=ON -DBUILD_TESTING:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DLINK_WITH_PYTHON=ON .. | ||
|
||
- name: Configure Branch with Regressions | ||
if: ${{ env.DO_REGRESSIONS == 'true' }} | ||
shell: bash | ||
working-directory: ${{runner.workspace}}/EnergyPlus/clone_branch/build | ||
run: cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_FORTRAN=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=ON -DREGRESSION_BASELINE_PATH:PATH=${{runner.workspace}}/clone_baseline/build -DREGRESSION_SCRIPT_PATH:PATH=${{runner.workspace}}/clone_regressions/build -DREGRESSION_BASELINE_SHA:STRING=UNNKOWN_SHA -DCOMMIT_SHA=${{github.sha}} -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DLINK_WITH_PYTHON=ON .. | ||
|
||
- name: Build Branch | ||
working-directory: ${{runner.workspace}}/EnergyPlus/clone_branch/build | ||
shell: bash | ||
run: cmake --build . -j 2 | ||
|
||
- name: Test Branch | ||
working-directory: ${{runner.workspace}}/EnergyPlus/clone_branch/build | ||
shell: bash | ||
run: ctest -j 2 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,211 @@ | ||
name: Releases | ||
|
||
on: | ||
push: | ||
tags: | ||
- '*' | ||
|
||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
BUILD_TYPE: Release | ||
|
||
jobs: | ||
release: | ||
runs-on: ${{ matrix.os }} | ||
continue-on-error: ${{ matrix.allow_failure }} | ||
strategy: | ||
# fail-fast: Default is true, switch to false to allow one platform to fail and still run others | ||
fail-fast: false | ||
matrix: | ||
build_name: [Windows_x64, Windows_x86, Ubuntu_18.04, Ubuntu_20.04, macOS_10.15] | ||
include: | ||
- build_name: Windows_x64 | ||
os: windows-2019 | ||
arch: x64 | ||
allow_failure: false | ||
CMAKE_GENERATOR_PLATFORM: x64 | ||
package-arch: x86_64 | ||
BINARY_EXT: exe | ||
COMPRESSED_EXT: zip | ||
QT_OS_NAME: windows | ||
- build_name: Windows_x86 | ||
os: windows-2019 | ||
arch: x86 | ||
allow_failure: false | ||
CMAKE_GENERATOR_PLATFORM: Win32 | ||
package-arch: i386 | ||
BINARY_EXT: exe | ||
COMPRESSED_EXT: zip | ||
QT_OS_NAME: windows | ||
- build_name: Ubuntu_18.04 | ||
os: ubuntu-18.04 | ||
arch: x64 | ||
allow_failure: false | ||
package-arch: x86_64 | ||
BINARY_EXT: run | ||
COMPRESSED_EXT: tar.gz | ||
SH_EXT: sh | ||
QT_OS_NAME: linux | ||
- build_name: Ubuntu_20.04 | ||
os: ubuntu-20.04 | ||
arch: x64 | ||
allow_failure: false | ||
package-arch: x86_64 | ||
BINARY_EXT: run | ||
COMPRESSED_EXT: tar.gz | ||
SH_EXT: sh | ||
QT_OS_NAME: linux | ||
- build_name: macOS_10.15 | ||
os: macos-10.15 | ||
arch: x64 | ||
allow_failure: false | ||
package-arch: x86_64 | ||
BINARY_EXT: dmg | ||
COMPRESSED_EXT: tar.gz | ||
SH_EXT: sh | ||
QT_OS_NAME: mac | ||
MACOSX_DEPLOYMENT_TARGET: 10.15 | ||
SDKROOT: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Set up Python 3.7 | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: 3.7 | ||
architecture: ${{ matrix.arch }} | ||
|
||
- name: Install Python dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install aqtinstall | ||
- name: Install System dependencies and LaTeX | ||
shell: bash | ||
run: | | ||
set -x | ||
if [ "$RUNNER_OS" == "Linux" ]; then | ||
echo "Using Apt to install dependencies" | ||
sudo apt update | ||
sudo apt install texlive texlive-xetex texlive-science libxkbcommon-x11-0 xorg-dev libgl1-mesa-dev | ||
elif [ "$RUNNER_OS" == "macOS" ]; then | ||
echo "Setting up MACOSX_DEPLOYMENT_TARGET and SDKROOT" | ||
echo MACOSX_DEPLOYMENT_TARGET=${{ matrix.MACOSX_DEPLOYMENT_TARGET }} >> $GITHUB_ENV | ||
echo SDKROOT=${{ matrix.SDKROOT }} >> $GITHUB_ENV | ||
# The MACOSX_DEPLOYMENT_TARGET environment variable sets the default value for the CMAKE_OSX_DEPLOYMENT_TARGET variable. | ||
# echo CMAKE_MACOSX_DEPLOYMENT_TARGET='-DCMAKE_OSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET' >> $GITHUB_ENV | ||
echo "Using brew to install mactex and adding it to PATH" | ||
brew cask install mactex | ||
echo "/Library/TeX/texbin" >> $GITHUB_PATH | ||
echo "Setting FC (fortran compiler)" | ||
echo FC=/usr/local/bin/gfortran-9 >> $GITHUB_ENV | ||
elif [ "$RUNNER_OS" == "Windows" ]; then | ||
echo "Setting CMAKE_GENERATOR options equivalent to ='-G \"Visual Studio 16 2019\" -A ${{ matrix.CMAKE_GENERATOR_PLATFORM }}'" | ||
echo CMAKE_GENERATOR='Visual Studio 16 2019' >> $GITHUB_ENV | ||
echo CMAKE_GENERATOR_PLATFORM=${{ matrix.CMAKE_GENERATOR_PLATFORM }} >> $GITHUB_ENV | ||
# echo FC="C:/msys64/mingw64/bin/x86_64-w64-mingw32-gfortran.exe" >> $GITHUB_ENV | ||
echo "Downloading MiKTeX CLI installer" | ||
# We download from a specific miror already | ||
curl -L -O https://ctan.math.illinois.edu/systems/win32/miktex/setup/windows-x64/miktexsetup-4.0-x64.zip | ||
unzip miktexsetup-4.0-x64.zip | ||
echo "Setting up the local package directory via download" | ||
./miktexsetup --verbose \ | ||
--local-package-repository=C:/ProgramData/MiKTeX-Repo \ | ||
--remote-package-repository="https://ctan.math.illinois.edu/systems/win32/miktex/tm/packages/" \ | ||
--package-set=basic \ | ||
download | ||
echo "Installing from the local package directory previously set up" | ||
./miktexsetup --verbose \ | ||
--local-package-repository=C:/ProgramData/MiKTeX-Repo \ | ||
--package-set=basic \ | ||
--shared \ | ||
install | ||
echo "Adding MiKTeX bin folder to PATH and to GITHUB_PATH" | ||
echo "C:/Program Files/MiKTeX/miktex/bin/x64/" >> $GITHUB_PATH | ||
export PATH="/c/Program Files/MiKTeX/miktex/bin/x64/:$PATH" | ||
echo "Configuring MiKTeX to install missing packages on the fly" | ||
initexmf --admin --verbose --set-config-value='[MPM]AutoInstall=1' | ||
echo "Configure default mirror for packages" | ||
mpm --admin --set-repository="https://ctan.math.illinois.edu/systems/win32/miktex/tm/packages/" | ||
# Avoid annoying warning: "xelatex: major issue: So far, you have not checked for updates as a MiKTeX user." | ||
mpm --find-updates | ||
mpm --admin --find-updates | ||
fi; | ||
#- name: Build Test Document (will install missing packages) | ||
#working-directory: ./doc/test | ||
#shell: bash | ||
#run: | | ||
#set -x | ||
#xelatex dependencies.tex | ||
|
||
- name: Install IFW | ||
shell: bash | ||
run: | | ||
set -x | ||
out_dir=${{ runner.workspace }}/Qt | ||
if [ "$RUNNER_OS" == "Windows" ]; then | ||
out_dir="C:/Qt" | ||
fi; | ||
aqt tool ${{ matrix.QT_OS_NAME }} tools_ifw 3.2.2 qt.tools.ifw.32 --outputdir="$out_dir" | ||
echo "$out_dir/Tools/QtInstallerFramework/3.2/bin" >> $GITHUB_PATH | ||
- name: Create Build Directory | ||
run: cmake -E make_directory ./build/ | ||
|
||
- name: Configure CMake | ||
working-directory: ./build | ||
shell: bash | ||
run: | | ||
set -x | ||
cmake -DLINK_WITH_PYTHON=ON -DBUILD_FORTRAN=ON -DBUILD_PACKAGE:BOOL=ON \ | ||
-DDOCUMENTATION_BUILD="BuildWithAll" -DTEX_INTERACTION="batchmode" \ | ||
../ | ||
- name: Build Package | ||
working-directory: ./build | ||
shell: bash | ||
run: cmake --build . --target package -j 2 --config $BUILD_TYPE | ||
|
||
- name: Upload Zip to release | ||
uses: svenstaro/upload-release-action@v2 | ||
with: | ||
repo_token: ${{ secrets.GITHUB_TOKEN }} | ||
file: build/EnergyPlus-*-${{ matrix.package-arch }}.${{ matrix.COMPRESSED_EXT }} | ||
tag: ${{ github.ref }} | ||
overwrite: true | ||
file_glob: true | ||
|
||
- name: Upload IFW to release | ||
uses: svenstaro/upload-release-action@v2 | ||
with: | ||
repo_token: ${{ secrets.GITHUB_TOKEN }} | ||
file: build/EnergyPlus-*-${{ matrix.package-arch }}.${{ matrix.BINARY_EXT }} | ||
tag: ${{ github.ref }} | ||
overwrite: true | ||
file_glob: true | ||
|
||
- name: Upload SH to release | ||
if: runner.os == 'Linux' | ||
uses: svenstaro/upload-release-action@v2 | ||
with: | ||
repo_token: ${{ secrets.GITHUB_TOKEN }} | ||
file: build/EnergyPlus-*-${{ matrix.package-arch }}.${{ matrix.SH_EXT }} | ||
tag: ${{ github.ref }} | ||
overwrite: true | ||
file_glob: true | ||
|
Oops, something went wrong.
0ad21c1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
develop (Myoldmopar) - x86_64-Linux-Ubuntu-22.04-gcc-11.4: OK (2893 of 2893 tests passed, 0 test warnings)
0ad21c1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
develop (Myoldmopar) - Win64-Windows-10-VisualStudio-16: OK (2871 of 2871 tests passed, 0 test warnings)
0ad21c1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
develop (Myoldmopar) - x86_64-Linux-Ubuntu-22.04-gcc-11.4-UnitTestsCoverage-Debug: OK (2077 of 2077 tests passed, 0 test warnings)
0ad21c1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
develop (Myoldmopar) - x86_64-Linux-Ubuntu-22.04-gcc-11.4-IntegrationCoverage-Debug: OK (797 of 797 tests passed, 0 test warnings)