Skip to content

Commit

Permalink
Release v2.5
Browse files Browse the repository at this point in the history
Release v2.5
  • Loading branch information
JieXiong9119 authored Sep 20, 2023
2 parents 132e22e + 595a130 commit 49b27ac
Show file tree
Hide file tree
Showing 66 changed files with 43,947 additions and 4,488 deletions.
67 changes: 67 additions & 0 deletions .github/workflows/CI_Labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# This is a basic workflow to help you get started with Actions

name: CI Labels

# Controls when the workflow will run
on:
pull_request:
types:
# default types (i.e. default for on: pull_request)
- opened
- synchronize
- reopened
# trigger on change of labels
- labeled
- unlabeled
branches:
- develop-v3
- develop-v2

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check PR Labels
uses: actions/github-script@v5
with:
script: |
const VALID_LABELS_MESSAGE = 'Success! PR has valid labels.'
const BREAKING_LABELS = ['Breaking Change', 'Non-breaking Change']
const labelNames = context.payload.pull_request.labels.map(label => label.name)
console.log(`INFO: Found PR labels: ${labelNames}`)
const assertExactlyOneOf = (choices) => {
const foundLabels = []
for (let choice of choices) {
if (labelNames.includes(choice)) {
foundLabels.push(choice)
}
}
if (foundLabels.length === 1) {
return true
}
else if (foundLabels.length === 0) {
throw `PR is missing one of the labels: ${choices}`
}
else {
throw `Expected PR to include exactly one label from ${choices}; Found ${foundLabels}`
}
}
if (labelNames.length === 1 && labelNames[0] === 'ignore') {
console.log(VALID_LABELS_MESSAGE)
return
}
if (labelNames.length === 1 && labelNames[0] === 'No Schema Changes') {
console.log(VALID_LABELS_MESSAGE)
return
}
assertExactlyOneOf(BREAKING_LABELS)
if (!labelNames.some(label => label.startsWith('Schema:'))) {
throw `PR is missing a scoping label, i.e., a label starting with "Schema: ..." or "Schema: No Changes"`
}
console.log(VALID_LABELS_MESSAGE)
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ geojson.xsd
.venv
*.egg-info
.ipynb_checkpoints
*.bak
*.ipynb
784 changes: 666 additions & 118 deletions BuildingSync.xsd

Large diffs are not rendered by default.

117 changes: 105 additions & 12 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,118 @@
# BuildingSync

## Version 2.5.0

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).

Date Range: 10/01/21 - 09/30/23

| Category | Count |
|----------------|-------|
| Schema: Controls | 0 |
| Schema: Documentation | 7 |
| Schema: General | 9 |
| Schema: Measures | 6 |
| Schema: Reports | 3 |
| Schema: Systems | 3 |
| Schema: Validation | 0 |
| Other | 13 |
| **Total** | 41 |

### Breaking Changes
- [#457](https://github.com/BuildingSync/schema/pull/457), Create Add DiscountRate.md (`Measures`)

### Non-breaking Changes
- [#485](https://github.com/BuildingSync/schema/pull/485), Update AuditorQualificationType (`General`)
- [#483](https://github.com/BuildingSync/schema/pull/483), Make migrations scripts (`No Changes`)
- [#481](https://github.com/BuildingSync/schema/pull/481), Add WCMs to existing categories (`Measures`)
- [#480](https://github.com/BuildingSync/schema/pull/480), Add WCM categories (`Measures`)
- [#478](https://github.com/BuildingSync/schema/pull/478), Add AuditCycles (`Reports`)
- [#477](https://github.com/BuildingSync/schema/pull/477), Add FacilityEvaluationAuditDefinition (`Reports`)
- [#476](https://github.com/BuildingSync/schema/pull/476), Add CondenserType (`Systems`)
- [#475](https://github.com/BuildingSync/schema/pull/475), Change PrincipalHVACSystemType (`General`, `Systems`)
- [#473](https://github.com/BuildingSync/schema/pull/473), Add PrincipalLightingSystemType (`General`)
- [#468](https://github.com/BuildingSync/schema/pull/468), Proposal to add measures for data center energy conservation improvements (`Measures`)
- [#467](https://github.com/BuildingSync/schema/pull/467), Proposal to add auditor certification types (`General`)
- [#464](https://github.com/BuildingSync/schema/pull/464), Building EQ Example XML (`General`)
- [#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`)
- [#462](https://github.com/BuildingSync/schema/pull/462), run update on Python notebook dependencies (`No Changes`)
- [#460](https://github.com/BuildingSync/schema/pull/460), Proposal: Add RCx Auditor Qualification Types (`General`)
- [#458](https://github.com/BuildingSync/schema/pull/458), Update Audit Template examples (`No Changes`)
- [#456](https://github.com/BuildingSync/schema/pull/456), Update dependency lock file (`No Changes`)
- [#454](https://github.com/BuildingSync/schema/pull/454), Create Add Emissions for MeasureSavingsAnalysis and AnnualSavingsByFu… (`General`)
- [#453](https://github.com/BuildingSync/schema/pull/453), Create Add Package-Measure Energy Savings Analyses.md (`Measures`)
- [#451](https://github.com/BuildingSync/schema/pull/451), Create Add Equipment ID.md (`Systems`)
- [#449](https://github.com/BuildingSync/schema/pull/449), Update notebook for validation against multiple use cases (`No Changes`)
- [#448](https://github.com/BuildingSync/schema/pull/448), Update notebooks quotes (`No Changes`)
- [#447](https://github.com/BuildingSync/schema/pull/447), Notebooks protobuildings (`Documentation`)
- [#445](https://github.com/BuildingSync/schema/pull/445), Small office prototype building level 2 audit notebook and example (`No Changes`)
- [#444](https://github.com/BuildingSync/schema/pull/444), add instructions on how to open notebook (`Documentation`)
- [#443](https://github.com/BuildingSync/schema/pull/443), Save notebooks as markdown (`No Changes`)
- [#441](https://github.com/BuildingSync/schema/pull/441), update example file and point to develop of bsyncpy (`Documentation`)
- [#439](https://github.com/BuildingSync/schema/pull/439), Schema: Update notebook (`Documentation`)
- [#436](https://github.com/BuildingSync/schema/pull/436), Schema modifications for CO2e (`Reports`)
- [#435](https://github.com/BuildingSync/schema/pull/435), Add example with sensor data in notebook directory (`Documentation`)
- [#433](https://github.com/BuildingSync/schema/pull/433), Update ASHRAE 211 Export example v2 (`Documentation`)
- [#424](https://github.com/BuildingSync/schema/pull/424), Add Implement hot aisle cold aisle design (`Measures`)
- [#421](https://github.com/BuildingSync/schema/pull/421), refactor: allow versions without PATCH included (`General`)
- [#419](https://github.com/BuildingSync/schema/pull/419), Docs/generic linking for develop v2 (`Documentation`)
- [#406](https://github.com/BuildingSync/schema/pull/406), chore: point gbxml schemaLocation to BSync's fork (`General`)

### Non-schema Changes
- [#426](https://github.com/BuildingSync/schema/pull/426), Update example version reference to 2.4 (`No Changes`)
- [#412](https://github.com/BuildingSync/schema/pull/412), Use PyPi version of BSyncPy and Update to BuildingSync 2.4
- [#403](https://github.com/BuildingSync/schema/pull/403), update pynb images and linked urls

### Issues

New Issues: 19 (#404, #405, #408, #411, #413, #414, #416, #420, #427, #428, #429, #450, #455, #465, #466, #469, #470, #471, #474)

Closed Issues: 22
- [#283]( https://github.com/BuildingSync/schema/issues/283 ), Deprecate: MORE in auc:eGRIDRegionCode enumeration (`bug`, `General`, `Breaking Change`)
- [#295]( https://github.com/BuildingSync/schema/issues/295 ), Generic Linking Documentation (`Documentation`, `priority-low`)
- [#314]( https://github.com/BuildingSync/schema/issues/314 ), [9/30] BuildingSync Version 3.0.0-Beta – Updated for modularization
- [#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
- [#362]( https://github.com/BuildingSync/schema/issues/362 ), CTS - BuildingSync versioning management (`CTS-Support`)
- [#393]( https://github.com/BuildingSync/schema/issues/393 ), Fix gbxml.org link to schema
- [#397]( https://github.com/BuildingSync/schema/issues/397 ), RFC: Repository -- Proposal for tracking schema changes
- [#404]( https://github.com/BuildingSync/schema/issues/404 ), Reach out to users abt new schemas.
- [#405]( https://github.com/BuildingSync/schema/issues/405 ), Docs: add documentation for PR labeling and CHANGELOGs
- [#408]( https://github.com/BuildingSync/schema/issues/408 ), Update examples to 2.4
- [#411]( https://github.com/BuildingSync/schema/issues/411 ), Update Jupyter Notebook with BSync Version 2.4
- [#413]( https://github.com/BuildingSync/schema/issues/413 ), Create gbxml schemaLocation patch releases
- [#414]( https://github.com/BuildingSync/schema/issues/414 ), Update schema version attribute to generically handle patch versions
- [#416]( https://github.com/BuildingSync/schema/issues/416 ), Update reference element (i.e. IDref) names
- [#420]( https://github.com/BuildingSync/schema/issues/420 ), Fix typo in `Implement hot aisle hold aisle design` (`bug`, `Measures`)
- [#427]( https://github.com/BuildingSync/schema/issues/427 ), Remove xmlns and nX:source in example files
- [#429]( https://github.com/BuildingSync/schema/issues/429 ), Move hastack example/proposal into a single MD file
- [#455]( https://github.com/BuildingSync/schema/issues/455 ), BuldingSync and HPXML
- [#466]( https://github.com/BuildingSync/schema/issues/466 ), [6/30/23] Adding to BuildingSync's Schema Milestone
- [#469]( https://github.com/BuildingSync/schema/issues/469 ), [5/19/23] Review UDFs and new AT elements
- [#470]( https://github.com/BuildingSync/schema/issues/470 ), [6/9/23] Add UDFs and new AT elements to schema
- [#471]( https://github.com/BuildingSync/schema/issues/471 ), [6/16/23] Add GHG to example notebook

All Open Issues: 20 (#151, #154, #167, #170, #183, #195, #198, #218, #260, #285, #287, #297, #320, #356, #370, #391, #465, #428, #450, #474)

## Version 2.4.0

BuildingSync Version 2.4.0 does not introduce any breaking changes.

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

| Category | Count |
|----------------|-------|
| Controls | 0 |
| Documentation | 8 |
| General | 6 |
| Measures | 0 |
| Reports | 3 |
| Systems | 2 |
| Validation | 0 |
| Other | 4 |
| Category | Count |
|----------------|-------|
| Controls | 0 |
| Documentation | 8 |
| General | 6 |
| Measures | 0 |
| Reports | 3 |
| Systems | 2 |
| Validation | 0 |
| Other | 4 |
| **Total** | 23 |

| Change Type | Count |
|----------------|-------|
| Change Type | Count |
|----------------|-------|
| Breaking Change | 0 |
| Non-breaking Change | 23 |

Expand Down
54 changes: 9 additions & 45 deletions docs/developer_resources.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,14 @@
# Developer Resources

## Git Naming Conventions

Commit messages should follow the format of


```bash
<type>[( optional scope )]: <description>

[optional body]
```

`type` must be one of the following:

- **docs**: Changes to the documentation (e.g. improving the annotation of an element, updating this file, etc)
- **feat**: Adds a new feature (e.g. adding a new element to the schema)
- **fix**: A bug fix (e.g. adding a missing closing tag, or moving a misplaced element)
- **proposal**: Adding or editing a proposal (e.g. creating a proposal for a new modeling concept for the schema)
- **refactor**: Changes that don't fix a bug or add a new feature (e.g. turning an element into a complexType for reuse)
- **style**: Changes that don't affect the meaning of code (e.g. whitespace)
- **test**: Adding or correcting tests

`scope` is optional for commit messages, and should indicate the general area of the application affected.

`description` is a short description of the changes in imperative present tense (such as “add function to _”, not “added function”)

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.

Pull Request titles should follow the format `[# optional issue number] <type>[( optional scope )]: <description>`, following the same conventions as commit messages.

Commit examples:

- `feat(schema): add MyElement to ParentElement`
- `proposal: add proposal for MyElement`
- `refactor: make SimpleElement restriction a regex test`

Branch examples:

- `1234-feat/typical-operating-hours`
- `refactor/terminal-unit-type`

Pull request examples:

- `#1234 feat(schema): add MyElement to ParentElement`
- `proposal: add proposal for MyElement`

## Deprecation Policy

Details of the deprecation policy are included in the BuildingSync XML schema file.

## Pull Requests
### Summary
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.

### Requirements
- PRs are our "source of truth" for important changes to the repo/schema
- 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.
- 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.
Loading

0 comments on commit 49b27ac

Please sign in to comment.