Skip to content

Commit 49b27ac

Browse files
authored
Release v2.5
Release v2.5
2 parents 132e22e + 595a130 commit 49b27ac

File tree

66 files changed

+43947
-4488
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+43947
-4488
lines changed

.github/workflows/CI_Labels.yml

+67
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# This is a basic workflow to help you get started with Actions
2+
3+
name: CI Labels
4+
5+
# Controls when the workflow will run
6+
on:
7+
pull_request:
8+
types:
9+
# default types (i.e. default for on: pull_request)
10+
- opened
11+
- synchronize
12+
- reopened
13+
# trigger on change of labels
14+
- labeled
15+
- unlabeled
16+
branches:
17+
- develop-v3
18+
- develop-v2
19+
20+
jobs:
21+
build:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- name: Check PR Labels
25+
uses: actions/github-script@v5
26+
with:
27+
script: |
28+
const VALID_LABELS_MESSAGE = 'Success! PR has valid labels.'
29+
const BREAKING_LABELS = ['Breaking Change', 'Non-breaking Change']
30+
31+
const labelNames = context.payload.pull_request.labels.map(label => label.name)
32+
console.log(`INFO: Found PR labels: ${labelNames}`)
33+
34+
const assertExactlyOneOf = (choices) => {
35+
const foundLabels = []
36+
for (let choice of choices) {
37+
if (labelNames.includes(choice)) {
38+
foundLabels.push(choice)
39+
}
40+
}
41+
42+
if (foundLabels.length === 1) {
43+
return true
44+
}
45+
else if (foundLabels.length === 0) {
46+
throw `PR is missing one of the labels: ${choices}`
47+
}
48+
else {
49+
throw `Expected PR to include exactly one label from ${choices}; Found ${foundLabels}`
50+
}
51+
}
52+
53+
if (labelNames.length === 1 && labelNames[0] === 'ignore') {
54+
console.log(VALID_LABELS_MESSAGE)
55+
return
56+
}
57+
58+
if (labelNames.length === 1 && labelNames[0] === 'No Schema Changes') {
59+
console.log(VALID_LABELS_MESSAGE)
60+
return
61+
}
62+
63+
assertExactlyOneOf(BREAKING_LABELS)
64+
if (!labelNames.some(label => label.startsWith('Schema:'))) {
65+
throw `PR is missing a scoping label, i.e., a label starting with "Schema: ..." or "Schema: No Changes"`
66+
}
67+
console.log(VALID_LABELS_MESSAGE)

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,5 @@ geojson.xsd
1313
.venv
1414
*.egg-info
1515
.ipynb_checkpoints
16+
*.bak
17+
*.ipynb

BuildingSync.xsd

+666-118
Large diffs are not rendered by default.

CHANGELOG.md

+105-12
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,118 @@
11
# BuildingSync
22

3+
## Version 2.5.0
4+
5+
BuildingSync Version 2.5.0 adds new elements for Water Conservation Measures (WCMs) and emission-related fields (Greenhouse Gas Emission). Version 2.5.0 adds examples of interactive Jupyter Notebooks to illustrate the process of creating BuildingSync XML reports from building data, where the synthetic data was generated based on DOE prototype buildings (small office and primary school).
6+
7+
Date Range: 10/01/21 - 09/30/23
8+
9+
| Category | Count |
10+
|----------------|-------|
11+
| Schema: Controls | 0 |
12+
| Schema: Documentation | 7 |
13+
| Schema: General | 9 |
14+
| Schema: Measures | 6 |
15+
| Schema: Reports | 3 |
16+
| Schema: Systems | 3 |
17+
| Schema: Validation | 0 |
18+
| Other | 13 |
19+
| **Total** | 41 |
20+
21+
### Breaking Changes
22+
- [#457](https://github.com/BuildingSync/schema/pull/457), Create Add DiscountRate.md (`Measures`)
23+
24+
### Non-breaking Changes
25+
- [#485](https://github.com/BuildingSync/schema/pull/485), Update AuditorQualificationType (`General`)
26+
- [#483](https://github.com/BuildingSync/schema/pull/483), Make migrations scripts (`No Changes`)
27+
- [#481](https://github.com/BuildingSync/schema/pull/481), Add WCMs to existing categories (`Measures`)
28+
- [#480](https://github.com/BuildingSync/schema/pull/480), Add WCM categories (`Measures`)
29+
- [#478](https://github.com/BuildingSync/schema/pull/478), Add AuditCycles (`Reports`)
30+
- [#477](https://github.com/BuildingSync/schema/pull/477), Add FacilityEvaluationAuditDefinition (`Reports`)
31+
- [#476](https://github.com/BuildingSync/schema/pull/476), Add CondenserType (`Systems`)
32+
- [#475](https://github.com/BuildingSync/schema/pull/475), Change PrincipalHVACSystemType (`General`, `Systems`)
33+
- [#473](https://github.com/BuildingSync/schema/pull/473), Add PrincipalLightingSystemType (`General`)
34+
- [#468](https://github.com/BuildingSync/schema/pull/468), Proposal to add measures for data center energy conservation improvements (`Measures`)
35+
- [#467](https://github.com/BuildingSync/schema/pull/467), Proposal to add auditor certification types (`General`)
36+
- [#464](https://github.com/BuildingSync/schema/pull/464), Building EQ Example XML (`General`)
37+
- [#463](https://github.com/BuildingSync/schema/pull/463), build(deps): bump markdown-it-py from 2.1.0 to 2.2.0 in /docs/notebooks (`No Changes`)
38+
- [#462](https://github.com/BuildingSync/schema/pull/462), run update on Python notebook dependencies (`No Changes`)
39+
- [#460](https://github.com/BuildingSync/schema/pull/460), Proposal: Add RCx Auditor Qualification Types (`General`)
40+
- [#458](https://github.com/BuildingSync/schema/pull/458), Update Audit Template examples (`No Changes`)
41+
- [#456](https://github.com/BuildingSync/schema/pull/456), Update dependency lock file (`No Changes`)
42+
- [#454](https://github.com/BuildingSync/schema/pull/454), Create Add Emissions for MeasureSavingsAnalysis and AnnualSavingsByFu… (`General`)
43+
- [#453](https://github.com/BuildingSync/schema/pull/453), Create Add Package-Measure Energy Savings Analyses.md (`Measures`)
44+
- [#451](https://github.com/BuildingSync/schema/pull/451), Create Add Equipment ID.md (`Systems`)
45+
- [#449](https://github.com/BuildingSync/schema/pull/449), Update notebook for validation against multiple use cases (`No Changes`)
46+
- [#448](https://github.com/BuildingSync/schema/pull/448), Update notebooks quotes (`No Changes`)
47+
- [#447](https://github.com/BuildingSync/schema/pull/447), Notebooks protobuildings (`Documentation`)
48+
- [#445](https://github.com/BuildingSync/schema/pull/445), Small office prototype building level 2 audit notebook and example (`No Changes`)
49+
- [#444](https://github.com/BuildingSync/schema/pull/444), add instructions on how to open notebook (`Documentation`)
50+
- [#443](https://github.com/BuildingSync/schema/pull/443), Save notebooks as markdown (`No Changes`)
51+
- [#441](https://github.com/BuildingSync/schema/pull/441), update example file and point to develop of bsyncpy (`Documentation`)
52+
- [#439](https://github.com/BuildingSync/schema/pull/439), Schema: Update notebook (`Documentation`)
53+
- [#436](https://github.com/BuildingSync/schema/pull/436), Schema modifications for CO2e (`Reports`)
54+
- [#435](https://github.com/BuildingSync/schema/pull/435), Add example with sensor data in notebook directory (`Documentation`)
55+
- [#433](https://github.com/BuildingSync/schema/pull/433), Update ASHRAE 211 Export example v2 (`Documentation`)
56+
- [#424](https://github.com/BuildingSync/schema/pull/424), Add Implement hot aisle cold aisle design (`Measures`)
57+
- [#421](https://github.com/BuildingSync/schema/pull/421), refactor: allow versions without PATCH included (`General`)
58+
- [#419](https://github.com/BuildingSync/schema/pull/419), Docs/generic linking for develop v2 (`Documentation`)
59+
- [#406](https://github.com/BuildingSync/schema/pull/406), chore: point gbxml schemaLocation to BSync's fork (`General`)
60+
61+
### Non-schema Changes
62+
- [#426](https://github.com/BuildingSync/schema/pull/426), Update example version reference to 2.4 (`No Changes`)
63+
- [#412](https://github.com/BuildingSync/schema/pull/412), Use PyPi version of BSyncPy and Update to BuildingSync 2.4
64+
- [#403](https://github.com/BuildingSync/schema/pull/403), update pynb images and linked urls
65+
66+
### Issues
67+
68+
New Issues: 19 (#404, #405, #408, #411, #413, #414, #416, #420, #427, #428, #429, #450, #455, #465, #466, #469, #470, #471, #474)
69+
70+
Closed Issues: 22
71+
- [#283]( https://github.com/BuildingSync/schema/issues/283 ), Deprecate: MORE in auc:eGRIDRegionCode enumeration (`bug`, `General`, `Breaking Change`)
72+
- [#295]( https://github.com/BuildingSync/schema/issues/295 ), Generic Linking Documentation (`Documentation`, `priority-low`)
73+
- [#314]( https://github.com/BuildingSync/schema/issues/314 ), [9/30] BuildingSync Version 3.0.0-Beta – Updated for modularization
74+
- [#316]( https://github.com/BuildingSync/schema/issues/316 ), Addition of water conservation measures and associated fields to support EISA-432 project tracking and compliance #88
75+
- [#362]( https://github.com/BuildingSync/schema/issues/362 ), CTS - BuildingSync versioning management (`CTS-Support`)
76+
- [#393]( https://github.com/BuildingSync/schema/issues/393 ), Fix gbxml.org link to schema
77+
- [#397]( https://github.com/BuildingSync/schema/issues/397 ), RFC: Repository -- Proposal for tracking schema changes
78+
- [#404]( https://github.com/BuildingSync/schema/issues/404 ), Reach out to users abt new schemas.
79+
- [#405]( https://github.com/BuildingSync/schema/issues/405 ), Docs: add documentation for PR labeling and CHANGELOGs
80+
- [#408]( https://github.com/BuildingSync/schema/issues/408 ), Update examples to 2.4
81+
- [#411]( https://github.com/BuildingSync/schema/issues/411 ), Update Jupyter Notebook with BSync Version 2.4
82+
- [#413]( https://github.com/BuildingSync/schema/issues/413 ), Create gbxml schemaLocation patch releases
83+
- [#414]( https://github.com/BuildingSync/schema/issues/414 ), Update schema version attribute to generically handle patch versions
84+
- [#416]( https://github.com/BuildingSync/schema/issues/416 ), Update reference element (i.e. IDref) names
85+
- [#420]( https://github.com/BuildingSync/schema/issues/420 ), Fix typo in `Implement hot aisle hold aisle design` (`bug`, `Measures`)
86+
- [#427]( https://github.com/BuildingSync/schema/issues/427 ), Remove xmlns and nX:source in example files
87+
- [#429]( https://github.com/BuildingSync/schema/issues/429 ), Move hastack example/proposal into a single MD file
88+
- [#455]( https://github.com/BuildingSync/schema/issues/455 ), BuldingSync and HPXML
89+
- [#466]( https://github.com/BuildingSync/schema/issues/466 ), [6/30/23] Adding to BuildingSync's Schema Milestone
90+
- [#469]( https://github.com/BuildingSync/schema/issues/469 ), [5/19/23] Review UDFs and new AT elements
91+
- [#470]( https://github.com/BuildingSync/schema/issues/470 ), [6/9/23] Add UDFs and new AT elements to schema
92+
- [#471]( https://github.com/BuildingSync/schema/issues/471 ), [6/16/23] Add GHG to example notebook
93+
94+
All Open Issues: 20 (#151, #154, #167, #170, #183, #195, #198, #218, #260, #285, #287, #297, #320, #356, #370, #391, #465, #428, #450, #474)
95+
396
## Version 2.4.0
497

598
BuildingSync Version 2.4.0 does not introduce any breaking changes.
699

7100
Date Range: 03/11/21 - 9/30/21
8101

9-
| Category | Count |
10-
|----------------|-------|
11-
| Controls | 0 |
12-
| Documentation | 8 |
13-
| General | 6 |
14-
| Measures | 0 |
15-
| Reports | 3 |
16-
| Systems | 2 |
17-
| Validation | 0 |
18-
| Other | 4 |
102+
| Category | Count |
103+
|----------------|-------|
104+
| Controls | 0 |
105+
| Documentation | 8 |
106+
| General | 6 |
107+
| Measures | 0 |
108+
| Reports | 3 |
109+
| Systems | 2 |
110+
| Validation | 0 |
111+
| Other | 4 |
19112
| **Total** | 23 |
20113

21-
| Change Type | Count |
22-
|----------------|-------|
114+
| Change Type | Count |
115+
|----------------|-------|
23116
| Breaking Change | 0 |
24117
| Non-breaking Change | 23 |
25118

docs/developer_resources.md

+9-45
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,14 @@
11
# Developer Resources
22

3-
## Git Naming Conventions
4-
5-
Commit messages should follow the format of
6-
7-
8-
```bash
9-
<type>[( optional scope )]: <description>
10-
11-
[optional body]
12-
```
13-
14-
`type` must be one of the following:
15-
16-
- **docs**: Changes to the documentation (e.g. improving the annotation of an element, updating this file, etc)
17-
- **feat**: Adds a new feature (e.g. adding a new element to the schema)
18-
- **fix**: A bug fix (e.g. adding a missing closing tag, or moving a misplaced element)
19-
- **proposal**: Adding or editing a proposal (e.g. creating a proposal for a new modeling concept for the schema)
20-
- **refactor**: Changes that don't fix a bug or add a new feature (e.g. turning an element into a complexType for reuse)
21-
- **style**: Changes that don't affect the meaning of code (e.g. whitespace)
22-
- **test**: Adding or correcting tests
23-
24-
`scope` is optional for commit messages, and should indicate the general area of the application affected.
25-
26-
`description` is a short description of the changes in imperative present tense (such as “add function to _”, not “added function”)
27-
28-
Branches should be named as `[optional issue number -]<type>/<scope>`, where `scope` is the general scope affected, or if creating a feature branch, a shortened name of the feature being added. If `scope` is more than one word, it should be separated by dashes.
29-
30-
Pull Request titles should follow the format `[# optional issue number] <type>[( optional scope )]: <description>`, following the same conventions as commit messages.
31-
32-
Commit examples:
33-
34-
- `feat(schema): add MyElement to ParentElement`
35-
- `proposal: add proposal for MyElement`
36-
- `refactor: make SimpleElement restriction a regex test`
37-
38-
Branch examples:
39-
40-
- `1234-feat/typical-operating-hours`
41-
- `refactor/terminal-unit-type`
42-
43-
Pull request examples:
44-
45-
- `#1234 feat(schema): add MyElement to ParentElement`
46-
- `proposal: add proposal for MyElement`
47-
483
## Deprecation Policy
494

505
Details of the deprecation policy are included in the BuildingSync XML schema file.
6+
7+
## Pull Requests
8+
### Summary
9+
BuildingSync uses Pull Requests (PRs) to track and report changes to users when creating releases. Specifically, we document changes to the schema/repo by using labels on PRs, thus we require developers to add labels to all PRs. Our CI will validate labels.
10+
11+
### Requirements
12+
- PRs are our "source of truth" for important changes to the repo/schema
13+
- We encourage separate PRs for each "logical"/"discrete" change to the schema (especially if the changes are impactful/non-trivial to users). For example, removing an element from the schema should be separate from adding a choice to an unrelated element.
14+
- The labels for the PR indicate the implications of the changes. Our CI system will validate your labels. See [CI Labels](../.github/workflows/CI_Labels.yml) for more info.

0 commit comments

Comments
 (0)