Skip to content

Commit

Permalink
Merge pull request #700 from NREL/latest-os-hpxml
Browse files Browse the repository at this point in the history
Latest OS-HPXML, ANSI 301-2022
  • Loading branch information
shorowit authored May 29, 2024
2 parents 2e6739b + 6991435 commit f648321
Show file tree
Hide file tree
Showing 1,011 changed files with 269,511 additions and 192,991 deletions.
6 changes: 3 additions & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ PR Author: Check these when they're done. Not all may apply. ~~strikethrough~~ a
PR Reviewer: Verify each has been completed.

- [ ] OS-HPXML git subtree has been pulled
- [ ] 301/ES rulesets and unit tests have been updated
- [ ] 301validator.xml has been updated (reference EPvalidator.xml)
- [ ] Workflow tests have been updated
- [ ] Sample files have been added/updated (`openstudio tasks.rb update_hpxmls`)
- [ ] Tests have been added/updated (e.g., `rulesets\tests` and/or `workflow/tests/*_test.rb`)
- [ ] Documentation has been updated
- [ ] Changelog has been updated
- [ ] `openstudio tasks.rb update_measures` has been run
- [ ] No unexpected regression test changes on CI
- [ ] No unexpected changes to simulation results on CI
161 changes: 76 additions & 85 deletions .github/workflows/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ jobs:
run-ruleset-tests:
runs-on: ubuntu-latest
container:
image: docker://nrel/openstudio:3.7.0
image: docker://nrel/openstudio:3.8.0
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}

Expand All @@ -38,7 +38,7 @@ jobs:
bundle exec rake test_rulesets
- name: Store code coverage
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: coverage
name: coverage
Expand All @@ -54,17 +54,17 @@ jobs:
for RST_FILE in docs/source/*.rst; do NUM_REFS=$(grep -F -o "[#]_" $RST_FILE | wc -l); NUM_FOOTNOTES=$(grep -F -o ".. [#]" $RST_FILE | wc -l); if [ $NUM_REFS != $NUM_FOOTNOTES ]; then echo "ERROR: Number of footnote references doesn't match number of footnotes in $RST_FILE." && exit 1; fi done
- name: Save Docs
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: documentation
path: docs/_build/html/

run-sample-files1-tests:
runs-on: ubuntu-latest
container:
image: docker://nrel/openstudio:3.7.0
image: docker://nrel/openstudio:3.8.0
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}

Expand All @@ -77,17 +77,17 @@ jobs:
bundle exec rake test_sample_files1
- name: Store results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: workflow/tests/test_results
name: test_results_sample_files1

run-sample-files2-tests:
runs-on: ubuntu-latest
container:
image: docker://nrel/openstudio:3.7.0
image: docker://nrel/openstudio:3.8.0
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}

Expand All @@ -100,17 +100,17 @@ jobs:
bundle exec rake test_sample_files2
- name: Store results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: workflow/tests/test_results
name: test_results_sample_files2

run-real-home-tests:
runs-on: ubuntu-latest
container:
image: docker://nrel/openstudio:3.7.0
image: docker://nrel/openstudio:3.8.0
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}

Expand All @@ -123,17 +123,17 @@ jobs:
bundle exec rake test_real_homes
- name: Store results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: workflow/tests/test_results
name: test_results_real_homes

run-other-tests:
runs-on: ubuntu-latest
container:
image: docker://nrel/openstudio:3.7.0
image: docker://nrel/openstudio:3.8.0
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}

Expand All @@ -146,85 +146,98 @@ jobs:
bundle exec rake test_other
- name: Store results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: workflow/tests/test_results
name: test_results_other

run-windows-tests:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
- name: Install software and run test
shell: pwsh
run: |
$env:OS_VERSION="3.7.0"
$env:OS_SHA="d5269793f1"
$env:OS_VERSION="3.8.0"
$env:OS_SHA="f953b6fcaf"
Invoke-WebRequest -OutFile Windows.tar.gz -URI "https://github.com/NREL/OpenStudio/releases/download/v${env:OS_VERSION}/OpenStudio-${env:OS_VERSION}+${env:OS_SHA}-Windows.tar.gz"
tar -xzf Windows.tar.gz
& .\OpenStudio-${env:OS_VERSION}+${env:OS_SHA}-Windows\bin\openstudio.exe workflow\energy_rating_index.rb -x workflow\sample_files\base.xml --hourly ALL --add-component-loads
& .\OpenStudio-${env:OS_VERSION}+${env:OS_SHA}-Windows\bin\openstudio.exe workflow\energy_rating_index.rb -x workflow\sample_files\base.xml --daily ALL --add-component-loads --diagnostic-output
merge-results:
runs-on: ubuntu-latest
needs: [run-sample-files1-tests, run-sample-files2-tests, run-real-home-tests, run-other-tests]
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}

- name: Download all results
uses: actions/download-artifact@v4
with:
path: test_results
pattern: test_results_*
merge-multiple: true

- name: Delete artifacts
uses: geekyeggo/delete-artifact@v5
with:
name: test_results_*

- name: Merge results
run: |
mkdir workflow/tests/test_results
cp -r test_results/*.csv workflow/tests/test_results
cd workflow/tests
pip install pandas
python ../../hpxml-measures/workflow/tests/merge.py test_results/sample_files1.csv test_results/sample_files2.csv test_results/sample_files.csv
rm test_results/sample_files1.csv
rm test_results/sample_files2.csv
- name: Store results
uses: actions/upload-artifact@v4
with:
path: workflow/tests/test_results
name: test_results

compare-results:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
needs: [run-sample-files1-tests, run-sample-files2-tests, run-real-home-tests, run-other-tests]
needs: merge-results
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.base.sha }}

- name: Store base results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: workflow/tests/base_results
name: base_results

- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Download base results
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
path: |
base_results
path: base_results
name: base_results

- name: Download Sample Files 1 feature results
uses: actions/download-artifact@v3
- name: Download feature results
uses: actions/download-artifact@v4
with:
path: |
results
name: test_results_sample_files1

- name: Download Sample Files 2 feature results
uses: actions/download-artifact@v3
with:
path: |
results
name: test_results_sample_files2

- name: Download Real Home feature results
uses: actions/download-artifact@v3
with:
path: |
results
name: test_results_real_homes

- name: Download Other feature results
uses: actions/download-artifact@v3
with:
path: |
results
name: test_results_other
path: test_results
name: test_results

- name: Compare results
run: |
cp -r base_results/*.csv workflow/tests/base_results
mkdir workflow/tests/results
cp -r results/*.csv workflow/tests/results
mkdir workflow/tests/test_results
cp -r test_results/*.csv workflow/tests/test_results
pip install numpy
pip install pandas
Expand All @@ -235,53 +248,31 @@ jobs:
python hpxml-measures/workflow/tests/compare.py -a visualize
- name: Store comparisons
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: workflow/tests/comparisons
name: comparisons

update-results:
runs-on: ubuntu-latest
needs: [run-sample-files1-tests, run-sample-files2-tests, run-real-home-tests, run-other-tests]
needs: merge-results
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}

- name: Download Sample Files 1 feature results
uses: actions/download-artifact@v3
- name: Download feature results
uses: actions/download-artifact@v4
with:
path: |
results
name: test_results_sample_files1

- name: Download Sample Files 2 feature results
uses: actions/download-artifact@v3
with:
path: |
results
name: test_results_sample_files2

- name: Download Real Home feature results
uses: actions/download-artifact@v3
with:
path: |
results
name: test_results_real_homes

- name: Download Other feature results
uses: actions/download-artifact@v3
with:
path: |
results
name: test_results_other
path: test_results
name: test_results

- name: Commit latest results
shell: bash
run: |
branch_name="${{ github.head_ref }}"
git pull origin $branch_name
cp -r results/*.csv workflow/tests/base_results
cp -r test_results/*.csv workflow/tests/base_results
git add workflow/tests/base_results
git status
if [[ $(git diff --cached --exit-code) ]]; then
Expand Down
Loading

0 comments on commit f648321

Please sign in to comment.