Skip to content

Commit

Permalink
Merge pull request #10714 from NREL/revert-10683-MacBuildsOnGHA
Browse files Browse the repository at this point in the history
Revert "Completely Rebuild our CI System"
  • Loading branch information
Myoldmopar committed Sep 4, 2024
2 parents 83098d3 + 6801f26 commit 0ad21c1
Show file tree
Hide file tree
Showing 44 changed files with 1,268 additions and 1,571 deletions.
34 changes: 34 additions & 0 deletions .decent_ci-Linux.yaml
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
3 changes: 3 additions & 0 deletions .decent_ci-MacOS.yaml
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
6 changes: 6 additions & 0 deletions .decent_ci-Windows.yaml
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
12 changes: 12 additions & 0 deletions .decent_ci.yaml
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
95 changes: 95 additions & 0 deletions .github/disabled-workflows/mac_test.yml
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
211 changes: 211 additions & 0 deletions .github/disabled-workflows/release.yml
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

Loading

4 comments on commit 0ad21c1

@nrel-bot-2
Copy link

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)

Build Badge Test Badge

@nrel-bot
Copy link

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)

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.

develop (Myoldmopar) - x86_64-Linux-Ubuntu-22.04-gcc-11.4-UnitTestsCoverage-Debug: OK (2077 of 2077 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

@nrel-bot-2b
Copy link

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)

Build Badge Test Badge Coverage Badge

Please sign in to comment.