Skip to content

Commit 30085c6

Browse files
authored
Merge pull request #524 from BuildingSync/develop-v2
Release v2.7
2 parents 293cc0a + 5b67147 commit 30085c6

176 files changed

Lines changed: 6687 additions & 4723 deletions

File tree

Some content is hidden

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

.github/CONTRIBUTING.md

Lines changed: 84 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -2,105 +2,109 @@
22

33
To contribute additions/changes:
44

5-
* Fork this repo
6-
* Create a new branch `git checkout -b my-changes`
7-
* Commit your changes
8-
* Create a pull request
9-
* Agree to the BuildingSync Contribution Policy below
5+
- Fork this repo
6+
- Create a new branch `git checkout -b my-changes`
7+
- Commit your changes
8+
- Create a pull request
9+
- Agree to the BuildingSync Contribution Policy below
1010

1111
# BuildingSync® Contribution Policy
12-
*Version 1.0*
1312

13+
_Version 1.0_
1414

15-
The BuildingSync® team welcomes your contribution to the project. You can contribute to BuildingSync
16-
project in several ways: by using the software, reporting issues, contributing documentation, or
15+
The BuildingSync® team welcomes your contribution to the project. You can contribute to BuildingSync
16+
project in several ways: by using the software, reporting issues, contributing documentation, or
1717
contributing code back to the project. The GitHub [Contributing to Open Source](https://opensource.guide/how-to-contribute/)
18-
guide provides a good overview. If you contribute code, you agree that your contribution may be
18+
guide provides a good overview. If you contribute code, you agree that your contribution may be
1919
incorporated into BuildingSync and made available under the BuildingSync license.
2020

2121
The contribution process for BuildingSync is composed of three steps:
2222

23-
1. **Send consent email**
24-
25-
In order for us to distribute your code as part of BuildingSync under the BuildingSync
26-
[license](https://github.com/BuildingSync/schema/blob/develop/LICENSE.md), we’ll need
27-
your consent. An email acknowledging understanding of these terms and agreeing to them is
28-
all that will be asked of any contributor. Send an email to the BuildingSync project manager (see
29-
below for the address) including the following text and a list of co-contributors (if any):
30-
31-
*I agree to contribute to BuildingSync. I agree to the following terms and conditions for my
32-
contributions: First, I agree that I am licensing the copyright to my contributions under
33-
the terms of the current BuildingSync license. Second, I hereby grant to Alliance for Sustainable
34-
Energy, LLC, to any successor manager and distributor of BuildingSync appointed by the U.S.
35-
Department of Energy, and to all recipients of a version of BuildingSync that includes my
36-
contributions, a non-exclusive, worldwide, royalty-free, irrevocable patent license under
37-
any patent claims owned by me, or owned by my employer and known to me, that are or will be,
38-
necessarily infringed upon by my contributions alone, or by combination of my contributions
39-
with the version of BuildingSync to which they are contributed, to make, have made, use, offer to
40-
sell, sell, import, and otherwise transfer any version of BuildingSync that includes my
41-
contributions, in source code and object code form. Third, I represent and warrant that I
42-
am authorized to make the contributions and grant the foregoing license(s). Additionally,
43-
if, to my knowledge, my employer has rights to intellectual property that covers my
44-
contributions, I represent and warrant that I have received permission to make these
45-
contributions and grant the foregoing license(s) on behalf of my employer.*
46-
47-
Once we have your consent on file, you’ll only need to redo it if conditions change (e.g. a
48-
change of employer).
49-
50-
51-
2. **Scope agreement and timeline commitment**
52-
53-
If your contribution is small (e.g. a bug fix), simply submit your contribution via GitHub.
54-
If you find a bug, first make sure it is not an already known issue, then report it in the GitHub
55-
[issue tracker](https://github.com/BuildingSync/schema/issues) for this repository. If your
56-
contribution is larger (e.g. a new feature or new functionality/capability), we’ll need to evaluate
57-
your proposed contribution first. To do that, we need a written description of why you wish to
58-
contribute to BuildingSync, a detailed description of the project that you are proposing, the
59-
precise functionalities that you plan to implement as part of the project, and a timeframe for
60-
implementation (see [here][buildingsync-proposal] for the template contribution proposal document). After
61-
we review your materials, we will schedule a meeting or conference call to discuss your
62-
information in more detail. We may ask you to revise your materials and make changes to it,
63-
which we will re-review. Before you do any work we must reach prior agreement and written
64-
approval on project areas, scope, timeframe, expected contents, and functionalities to be
65-
addressed.
23+
1. **Send consent email**
24+
25+
In order for us to distribute your code as part of BuildingSync under the BuildingSync
26+
27+
[license](https://github.com/BuildingSync/schema/blob/develop/LICENSE.md), we’ll need
28+
your consent. An email acknowledging understanding of these terms and agreeing to them is
29+
all that will be asked of any contributor. Send an email to the BuildingSync project manager (see
30+
below for the address) including the following text and a list of co-contributors (if any):
31+
32+
*I agree to contribute to BuildingSync. I agree to the following terms and conditions for my
33+
34+
contributions: First, I agree that I am licensing the copyright to my contributions under
35+
the terms of the current BuildingSync license. Second, I hereby grant to Alliance for Sustainable
36+
Energy, LLC, to any successor manager and distributor of BuildingSync appointed by the U.S.
37+
Department of Energy, and to all recipients of a version of BuildingSync that includes my
38+
contributions, a non-exclusive, worldwide, royalty-free, irrevocable patent license under
39+
any patent claims owned by me, or owned by my employer and known to me, that are or will be,
40+
necessarily infringed upon by my contributions alone, or by combination of my contributions
41+
with the version of BuildingSync to which they are contributed, to make, have made, use, offer to
42+
sell, sell, import, and otherwise transfer any version of BuildingSync that includes my
43+
contributions, in source code and object code form. Third, I represent and warrant that I
44+
am authorized to make the contributions and grant the foregoing license(s). Additionally,
45+
if, to my knowledge, my employer has rights to intellectual property that covers my
46+
contributions, I represent and warrant that I have received permission to make these
47+
contributions and grant the foregoing license(s) on behalf of my employer.\*
48+
49+
Once we have your consent on file, you’ll only need to redo it if conditions change (e.g. a
50+
51+
change of employer).
52+
53+
2. **Scope agreement and timeline commitment**
54+
55+
If your contribution is small (e.g. a bug fix), simply submit your contribution via GitHub.
56+
57+
If you find a bug, first make sure it is not an already known issue, then report it in the GitHub
58+
[issue tracker](https://github.com/BuildingSync/schema/issues) for this repository. If your
59+
contribution is larger (e.g. a new feature or new functionality/capability), we’ll need to evaluate
60+
your proposed contribution first. To do that, we need a written description of why you wish to
61+
contribute to BuildingSync, a detailed description of the project that you are proposing, the
62+
precise functionalities that you plan to implement as part of the project, and a timeframe for
63+
implementation (see [here][buildingsync-proposal] for the template contribution proposal document). After
64+
we review your materials, we will schedule a meeting or conference call to discuss your
65+
information in more detail. We may ask you to revise your materials and make changes to it,
66+
which we will re-review. Before you do any work we must reach prior agreement and written
67+
approval on project areas, scope, timeframe, expected contents, and functionalities to be
68+
addressed.
6669

6770
3. **Technical contribution process**
6871

69-
We want BuildingSync to adhere to our established quality standards. As such, we ask that you follow
70-
the information below. Smaller, non-code contributions may not require as much review as code contributions,
71-
but all contributions will be reviewed. Code contributions will initially be in a source
72-
control branch, and then will be merged into the official BuildingSync repository after review and
73-
approval. Any bugs, either discovered by you, us, or any users will be tracked in our issue
74-
tracker. We request you that you take full responsibility for correcting bugs. Be aware
75-
that, unless notified otherwise, the correction of bugs takes precedence over the
76-
submission or creation of new code.
77-
72+
We want BuildingSync to adhere to our established quality standards. As such, we ask that you follow
73+
74+
the information below. Smaller, non-code contributions may not require as much review as code contributions,
75+
but all contributions will be reviewed. Code contributions will initially be in a source
76+
control branch, and then will be merged into the official BuildingSync repository after review and
77+
approval. Any bugs, either discovered by you, us, or any users will be tracked in our issue
78+
tracker. We request you that you take full responsibility for correcting bugs. Be aware
79+
that, unless notified otherwise, the correction of bugs takes precedence over the
80+
submission or creation of new code.
81+
7882
**Timeline** - We require that you align your contributions with the BuildingSync release schedule.
7983
BuildingSync is currently released publicly two times a year (approximately on the last workday of
80-
May and November). There are cutoff dates after which new contributions are not accepted for the
84+
May and November). There are cutoff dates after which new contributions are not accepted for the
8185
upcoming release (approximately two weeks before release date).
8286

83-
**Code Reviews** - You will be working and testing your code in a source control branch. When a
84-
piece of functionality is complete, tested and working, let us know and we will review your code.
85-
If the functionality that you contributed is complex, we will ask you for a written design document
86-
as well. We want your code to follow coding standards, be clear, readable and maintainable, and of
87-
course it should do what it is supposed to do. We will look for errors, style issues, comments (or
88-
lack thereof), and any other issues in your code. We will inform you of our comments and we expect
89-
you to make the recommended changes. New re-reviews may be expected until the code complies with
87+
**Code Reviews** - You will be working and testing your code in a source control branch. When a
88+
piece of functionality is complete, tested and working, let us know and we will review your code.
89+
If the functionality that you contributed is complex, we will ask you for a written design document
90+
as well. We want your code to follow coding standards, be clear, readable and maintainable, and of
91+
course it should do what it is supposed to do. We will look for errors, style issues, comments (or
92+
lack thereof), and any other issues in your code. We will inform you of our comments and we expect
93+
you to make the recommended changes. New re-reviews may be expected until the code complies with
9094
our required processes.
9195

92-
**Unit Tests** - We ask that you supply unit tests along with the code that you have written, if applicable. A
93-
unit test is a program that exercises your code in isolation to verify that it does what it is
94-
supposed to do. Your unit tests are very important to us. First, they give an indication that your
95-
code works according to its intended functionality. Second, we execute your unit tests
96+
**Unit Tests** - We ask that you supply unit tests along with the code that you have written, if applicable. A
97+
unit test is a program that exercises your code in isolation to verify that it does what it is
98+
supposed to do. Your unit tests are very important to us. First, they give an indication that your
99+
code works according to its intended functionality. Second, we execute your unit tests
96100
automatically along with our unit tests to verify that the overall BuildingSync code continues to work.
97101

98-
**Code Coverage** - We require that your unit tests provide an adequate coverage of the source code
99-
you are submitting. You will need to design your unit tests in a way that all critical parts of
102+
**Code Coverage** - We require that your unit tests provide an adequate coverage of the source code
103+
you are submitting. You will need to design your unit tests in a way that all critical parts of
100104
the code (at least) are tested and verified.
101105

102-
**Documentation** - Proper documentation is crucial for our users, without it users will not know
103-
how to use your contribution. We require that you create user documentation so that end users know
106+
**Documentation** - Proper documentation is crucial for our users, without it users will not know
107+
how to use your contribution. We require that you create user documentation so that end users know
104108
how to use your new functionality.
105109

106110
For further questions or information:
@@ -109,15 +113,14 @@ For further questions or information:
109113
&nbsp;&nbsp;&nbsp;&nbsp;BuildingSync Project Management<br/>
110114
&nbsp;&nbsp;&nbsp;&nbsp;luigi.gentile.polese@nrel.gov<br/>
111115
&nbsp;&nbsp;&nbsp;&nbsp;303.275.4362<br/>
112-
113-
BuildingSync is funded by the U.S. Department of Energy’s (DOE) Building Technologies Office (BTO), and
116+
117+
BuildingSync is funded by the U.S. Department of Energy’s (DOE) Building Technologies Office (BTO), and
114118
managed by the National Renewable Energy Laboratory (NREL).
115119

116120
BuildingSync is developed in collaboration with NREL, LBNL, and private firms.
117121

118122
**Documents**
119-
120-
[BuildingSync_Contribution_Proposal_v1.0_2017-04-10.doc][buildingsync-proposal]
121123

124+
[BuildingSync_Contribution_Proposal_v1.0_2017-04-10.doc][buildingsync-proposal]
122125

123126
[buildingsync-proposal]: https://github.com/BuildingSync/schema/raw/develop/.github/BuildingSync_Contribution_Proposal_v1.0_2017-04-10.doc
Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,25 @@
11
---
22
name: Bug report
33
about: Create a report to help improve BuildingSync
4-
title: ''
5-
labels: ''
6-
assignees: ''
7-
4+
title: ""
5+
labels: ""
6+
assignees: ""
87
---
98

109
<!--Fill in the following information detailing the issue. Make sure to not disclose protected data (e.g. passwords). Screenshots and XML snippets are helpful.-->
1110

1211
**Describe the bug or data model issue**
12+
1313
<!--A clear and concise description of what the bug is.-->
1414

1515
**Expected Behavior**
16+
1617
<!--A clear and concise description of what you expected to happen.-->
1718

1819
**Actual Behavior**
20+
1921
<!--What actually happened.-->
2022

2123
**Additional Context**
24+
2225
<!--Add any other context about the problem here-->
Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
---
22
name: Feature request
33
about: Suggest an idea or improvement for BuildingSync
4-
title: ''
4+
title: ""
55
labels: Feature
6-
assignees: ''
7-
6+
assignees: ""
87
---
98

109
**Is your feature request related to a problem? Please describe.**
10+
1111
<!--A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]-->
1212

1313
**Describe the solution you'd like**
14+
1415
<!--A clear and concise description of what you want to happen.-->
1516

1617
**Describe alternatives you've considered**
18+
1719
<!--A clear and concise description of any alternative solutions or features you've considered.-->
1820

1921
**Additional context**
22+
2023
<!--Add any other context or screenshots about the feature request here.-->

.github/dependabot.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "pip"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"
7+
groups:
8+
dev-deps:
9+
dependency-type: "development"
10+
prod-deps:
11+
dependency-type: "production"
12+
open-pull-requests-limit: 5
13+
commit-message:
14+
prefix: "deps"
15+
labels:
16+
- "dependencies"
17+
- "ignore"
18+
- "Schema: No Changes"
19+
- "Non-breaking Change"
20+
- package-ecosystem: "github-actions"
21+
directory: "/"
22+
schedule:
23+
interval: "weekly"
24+
groups:
25+
actions-deps:
26+
patterns:
27+
- "*"
28+
open-pull-requests-limit: 5
29+
commit-message:
30+
prefix: "ci"
31+
labels:
32+
- "dependencies"
33+
- "ignore"
34+
- "Schema: No Changes"
35+
- "Non-breaking Change"
36+
- package-ecosystem: "bundler"
37+
directory: "/"
38+
schedule:
39+
interval: "weekly"
40+
groups:
41+
ruby-deps:
42+
patterns:
43+
- "*"
44+
open-pull-requests-limit: 5
45+
commit-message:
46+
prefix: "deps"
47+
labels:
48+
- "dependencies"
49+
- "ignore"
50+
- "Schema: No Changes"
51+
- "Non-breaking Change"

.github/workflows/CI_Labels.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,23 @@ jobs:
2222
runs-on: ubuntu-latest
2323
steps:
2424
- name: Check PR Labels
25-
uses: actions/github-script@v5
25+
uses: actions/github-script@v8
2626
with:
2727
script: |
2828
const VALID_LABELS_MESSAGE = 'Success! PR has valid labels.'
2929
const BREAKING_LABELS = ['Breaking Change', 'Non-breaking Change']
30-
30+
3131
const labelNames = context.payload.pull_request.labels.map(label => label.name)
3232
console.log(`INFO: Found PR labels: ${labelNames}`)
33-
33+
3434
const assertExactlyOneOf = (choices) => {
3535
const foundLabels = []
3636
for (let choice of choices) {
3737
if (labelNames.includes(choice)) {
3838
foundLabels.push(choice)
3939
}
4040
}
41-
41+
4242
if (foundLabels.length === 1) {
4343
return true
4444
}
@@ -49,7 +49,7 @@ jobs:
4949
throw `Expected PR to include exactly one label from ${choices}; Found ${foundLabels}`
5050
}
5151
}
52-
52+
5353
if (labelNames.length === 1 && labelNames[0] === 'ignore') {
5454
console.log(VALID_LABELS_MESSAGE)
5555
return
@@ -59,7 +59,7 @@ jobs:
5959
console.log(VALID_LABELS_MESSAGE)
6060
return
6161
}
62-
62+
6363
assertExactlyOneOf(BREAKING_LABELS)
6464
if (!labelNames.some(label => label.startsWith('Schema:'))) {
6565
throw `PR is missing a scoping label, i.e., a label starting with "Schema: ..." or "Schema: No Changes"`

0 commit comments

Comments
 (0)