Skip to content

Commit a72ced2

Browse files
authored
Merge pull request #283 from building-envelope-data/release/v1.0.0
Release version v1.0.0
2 parents 36d5897 + 110aa5d commit a72ced2

File tree

149 files changed

+104916
-24128
lines changed

Some content is hidden

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

149 files changed

+104916
-24128
lines changed

.dockerignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,7 @@
33
*.md
44
Makefile
55
Dockerfile
6+
apis/*.schema.json
7+
npm-debug.log
8+
node_modules
69
tags
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Almost literally taken from
2+
# https://github.com/thomaseizinger/github-action-gitflow-release-workflow/blob/dev/.github/workflows/draft-new-release.yml
3+
4+
name: "Draft new release"
5+
6+
on:
7+
workflow_dispatch:
8+
inputs:
9+
version:
10+
description: 'The version you want to release following semantic versioning (for example, `v1.4.3`, see https://semver.org).'
11+
required: true
12+
13+
jobs:
14+
draft-new-release:
15+
name: "Draft new release"
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v2
19+
20+
- name: Create release branch
21+
run: git checkout -b release/${{ github.event.inputs.version }}
22+
23+
- name: Update changelog
24+
uses: thomaseizinger/keep-a-changelog-new-release@1.2.1
25+
with:
26+
version: ${{ github.event.inputs.version }}
27+
28+
# In order to make a commit, we need to initialize a user.
29+
# You may choose to write something less generic here if you want, it doesn't matter functionality wise.
30+
- name: Initialize mandatory git config
31+
run: |
32+
git config user.name "GitHub Actions"
33+
git config user.email noreply@github.com
34+
35+
- name: Commit changelog and manifest files
36+
id: make-commit
37+
run: |
38+
git add CHANGELOG.md
39+
git commit --message "Prepare release ${{ github.event.inputs.version }}"
40+
echo "::set-output name=commit::$(git rev-parse HEAD)"
41+
- name: Push new branch
42+
run: git push origin release/${{ github.event.inputs.version }}
43+
44+
- name: Create pull request
45+
uses: thomaseizinger/create-pull-request@1.0.0
46+
env:
47+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48+
with:
49+
head: release/${{ github.event.inputs.version }}
50+
base: main
51+
title: Release version ${{ github.event.inputs.version }}
52+
reviewers: ${{ github.actor }} # By default, we request a review from the person who triggered the workflow.
53+
# Write a nice message to the user.
54+
# We are claiming things here based on the `publish-new-release.yml` workflow.
55+
# You should obviously adopt it to say the truth depending on your release workflow :)
56+
body: |
57+
Hi @${{ github.actor }}!
58+
59+
This pull request was created in response to a manual trigger of the release workflow here: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}.
60+
I've updated the changelog and bumped the versions in the manifest files in this commit: ${{ steps.make-commit.outputs.commit }}.
61+
Merging this pull request will create a GitHub release and upload any assets that are created as part of the release build.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Almost literally taken from
2+
# https://github.com/thomaseizinger/github-action-gitflow-release-workflow/blob/dev/.github/workflows/publish-new-release.yml
3+
4+
name: "Publish new release"
5+
6+
on:
7+
pull_request:
8+
branches:
9+
- main
10+
types:
11+
- closed
12+
13+
jobs:
14+
release:
15+
name: Publish new release
16+
runs-on: ubuntu-latest
17+
if: github.event.pull_request.merged == true # only merged pull requests must trigger this job
18+
steps:
19+
- name: Extract version from branch name (for release branches)
20+
if: startsWith(github.event.pull_request.head.ref, 'release/')
21+
run: |
22+
BRANCH_NAME="${{ github.event.pull_request.head.ref }}"
23+
VERSION=${BRANCH_NAME#release/}
24+
echo "RELEASE_VERSION=$VERSION" >> $GITHUB_ENV
25+
- name: Extract version from branch name (for hotfix branches)
26+
if: startsWith(github.event.pull_request.head.ref, 'hotfix/')
27+
run: |
28+
BRANCH_NAME="${{ github.event.pull_request.head.ref }}"
29+
VERSION=${BRANCH_NAME#hotfix/}
30+
echo "RELEASE_VERSION=$VERSION" >> $GITHUB_ENV
31+
- name: Create Release
32+
uses: thomaseizinger/create-release@1.0.0
33+
env:
34+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
35+
with:
36+
target_commitish: ${{ github.event.pull_request.merge_commit_sha }}
37+
tag_name: ${{ env.RELEASE_VERSION }}
38+
name: ${{ env.RELEASE_VERSION }}
39+
draft: false
40+
prerelease: false
41+
42+
- name: Merge main into develop branch
43+
uses: thomaseizinger/create-pull-request@1.0.0
44+
env:
45+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
46+
with:
47+
head: main
48+
base: develop
49+
title: Merge main into develop branch
50+
body: |
51+
This pull request merges the main branch back into develop.
52+
This happens to ensure that the updates that happend on the release branch, in particular, CHANGELOG and manifest updates, are also present on the develop branch.
53+
# if needed, you can checkout the latest main here, build artifacts and publish / deploy them somewhere
54+
# the create-release action has an output `upload_url` output that you can use to upload assets

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1+
/apis/*.schema.json
2+
/npm-debug.log
3+
/node_modules
14
/tags

.graphql-schema-linterrc

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,10 @@
11
{
22
"rules": [
3-
//"arguments-have-descriptions",
4-
//"defined-types-are-used",
53
"deprecations-have-a-reason",
64
"descriptions-are-capitalized",
75
"enum-values-all-caps",
8-
//"enum-values-have-descriptions",
9-
//"enum-values-sorted-alphabetically",
106
"fields-are-camel-cased",
11-
//"fields-have-descriptions",
12-
//"input-object-fields-sorted-alphabetically",
137
"input-object-values-are-camel-cased",
14-
//"input-object-values-have-descriptions",
15-
"relay-connection-types-spec",
16-
//"relay-connection-arguments-spec",
17-
//"type-fields-sorted-alphabetically",
188
"types-are-capitalized",
19-
//"types-have-descriptions"
209
]
2110
}

.graphqlrc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
projects:
2+
database:
3+
schema: './apis/database.graphql'
4+
documents: './queries/database/**/*.graphql'
5+
metabase:
6+
schema: './apis/metabase.graphql'
7+
documents: './queries/metabase/**/*.graphql'

CHANGELOG.md

Lines changed: 72 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Changelog
2+
23
All notable changes to this project will be documented in this file.
34

45
The format is based on
@@ -7,7 +8,9 @@ and this project adheres to
78
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
89

910
## [Unreleased]
11+
1012
### Added
13+
1114
-
1215
-
1316
-
@@ -30,6 +33,7 @@ and this project adheres to
3033
-
3134

3235
### Changed
36+
3337
-
3438
-
3539
-
@@ -52,6 +56,7 @@ and this project adheres to
5256
-
5357

5458
### Deprecated
59+
5560
-
5661
-
5762
-
@@ -74,6 +79,7 @@ and this project adheres to
7479
-
7580

7681
### Removed
82+
7783
-
7884
-
7985
-
@@ -96,6 +102,7 @@ and this project adheres to
96102
-
97103

98104
### Fixed
105+
99106
-
100107
-
101108
-
@@ -118,6 +125,7 @@ and this project adheres to
118125
-
119126

120127
### Security
128+
121129
-
122130
-
123131
-
@@ -139,14 +147,75 @@ and this project adheres to
139147
-
140148
-
141149

142-
## [0.1.0] - 2020-08-31
150+
## [v1.0.0] - 2022-03-02
151+
152+
### Added
153+
154+
- Document previously undocumented database GraphQL schema [#101](https://github.com/building-envelope-data/api/pull/101)
155+
- Add more tooling for GraphQL schema, queries, and mutations [#104](https://github.com/building-envelope-data/api/pull/104)
156+
- Add query examples for `data`, `allData`, and `hasData` [#105](https://github.com/building-envelope-data/api/pull/105)
157+
- Add section to publication to be able to refer to just one part of a publication [#155](https://github.com/building-envelope-data/api/pull/155)
158+
- Add two examples of methods for daylighting and glare simulations [#179](https://github.com/building-envelope-data/api/pull/179)
159+
- Add version to JSON Schema `$id`s [#188](https://github.com/building-envelope-data/api/pull/188)
160+
- Add examples photovoltaicWithOptical [#207](https://github.com/building-envelope-data/api/pull/207), semitransparentBuildingIntegratedPhotovoltaicThermal [#209](https://github.com/building-envelope-data/api/pull/209), from ES-SDA [#213](https://github.com/building-envelope-data/api/pull/213) and dataFormatPdf [#226](https://github.com/building-envelope-data/api/pull/226)
161+
- Add the key `roughness` [#205](https://github.com/building-envelope-data/api/pull/205)
162+
- Add the position of coatings to components [#223](https://github.com/building-envelope-data/api/pull/223)
163+
- Add `currentVoltage` characteristics for modules [#224](https://github.com/building-envelope-data/api/pull/224)
164+
- Add release actions [#281](https://github.com/building-envelope-data/api/pull/281)
165+
166+
### Changed
167+
168+
- Improve propositions used in GraphQL queries to search for data [#102](https://github.com/building-envelope-data/api/pull/102)
169+
- Further align database GraphQL schema and JSON schema [#103](https://github.com/building-envelope-data/api/pull/103)
170+
- Flatten data HTTP resource trees to make them queryable with one query without having to know the trees depth [#108](https://github.com/building-envelope-data/api/pull/108)
171+
- Only use `additionalItems` for tuple validation and **not** for list validation, use `uniqueItems` for lists of enumerated items, use `const` for one-valued enums, and don't have special this-property-has-no-value values for optional properties [#110](https://github.com/building-envelope-data/api/pull/110)
172+
- Improve titles and descriptions of identifiers, name `uniqueId` of decentral identifiers `value`, and make identifiers be issued by databases instead of institutions [#107](https://github.com/building-envelope-data/api/pull/107)
173+
- Clean-up the stakeholder JSON schema, in particular, how stakeholders are referenced in specific roles [#111](https://github.com/building-envelope-data/api/pull/111)
174+
- Associate contact information and GnuPG keys with a person's and institution's affiliations [#112](https://github.com/building-envelope-data/api/pull/112)
175+
- Check and correct usages of `oneOf`, `anyOf`, and `allOf` [#113](https://github.com/building-envelope-data/api/pull/113)
176+
- Use specific instead of general and (almost) meaningless number definitions [#114](https://github.com/building-envelope-data/api/pull/114)
177+
- Improve titles and descriptions in the JSON Schema for optical data [#115](https://github.com/building-envelope-data/api/pull/115)
178+
- Improve documentation of approvals in the database GraphQL schema [#117](https://github.com/building-envelope-data/api/pull/117)
179+
- Clean-up Dockerfile, in particular, remove notes regarding Python [#121](https://github.com/building-envelope-data/api/pull/121)
180+
- Correct minor errors in database GraphQL API [#173](https://github.com/building-envelope-data/api/pull/173)
181+
- Name `dataId` `uuid`, remove `validity` from `*Data` and `DataApproval`, use parent identifier instead of child identifiers to describe tree structure, do not require response approvals to be created on the fly [#180](https://github.com/building-envelope-data/api/pull/180)
182+
- Update GraphqL schema of metabase to match the current deployed version [#280](https://github.com/building-envelope-data/api/pull/280)
183+
- Rename organization to `building-envelope-data` and API repository to `api` [#277](https://github.com/building-envelope-data/api/pull/277)
184+
- Use acronyms to identify standardizers [#154](https://github.com/building-envelope-data/api/pull/154)
185+
- Use JSON Schema Draft 2019-09 and upgrade tooling [#181](https://github.com/building-envelope-data/api/pull/181)
186+
- Restructure `numbersWithUncertainty` to make the data less verbose[#195](https://github.com/building-envelope-data/api/pull/195),[#216](https://github.com/building-envelope-data/api/pull/216)
187+
- Improve the structure of geometry.json [#205](https://github.com/building-envelope-data/api/pull/205)
188+
- Improve the structure of calorimetricData.json [#209](https://github.com/building-envelope-data/api/pull/209)]
189+
- Correct the requirements of `emergenceDirection`[#213](https://github.com/building-envelope-data/api/pull/213)
190+
- Offer detailed definition of calorimetric fluxes [#222](https://github.com/building-envelope-data/api/pull/222)
191+
- Add categories to `material`, `layer` and `unit` from EN 12216 [#223](https://github.com/building-envelope-data/api/pull/223) and from EN 13024-1, EN 14179, EN 1863, DIN 18008-5 [#224](https://github.com/building-envelope-data/api/pull/224)
192+
- Add more mirrored values to `apis` [#238](https://github.com/building-envelope-data/api/pull/238)
193+
- Add spectrum `ultraviolet` for integral values and improve the optical examples [#247](https://github.com/building-envelope-data/api/pull/247)
194+
- Change propositions for lists and make parameter `where` optional [#260](https://github.com/building-envelope-data/api/pull/260)
195+
196+
### Removed
197+
198+
- Remove intermediate representation of optical data [#152](https://github.com/building-envelope-data/api/pull/152)
199+
- Remove custom directions from optical data [#153](https://github.com/building-envelope-data/api/pull/153)
200+
- Remove `validity` everywhere except of `method` which can depend for example on a standard [#219](https://github.com/building-envelope-data/api/pull/219)
201+
202+
### Fixed
203+
204+
- Fix the three phase method test by using enumerated standardizers instead of identifiers [#192](https://github.com/building-envelope-data/api/pull/192)
205+
206+
## [v0.1.0] - 2020-08-31
207+
143208
First major-version-zero release
144209
[0.1.0](https://semver.org/#how-should-i-deal-with-revisions-in-the-0yz-initial-development-phase).
145210

146211
Note that according to
147212
[Semantic Versioning Specification, Item 4](https://semver.org/#spec-item-4),
213+
148214
> Major version zero (0.y.z) is for initial development. Anything MAY change at
149215
> any time. The public API SHOULD NOT be considered stable.
150216
151-
[Unreleased]: https://github.com/ise621/building-envelope-data/compare/v0.1.0...HEAD
152-
[0.1.0]: https://github.com/ise621/building-envelope-data/releases/tag/v0.1.0
217+
[Unreleased]: https://github.com/building-envelope-data/api/compare/v1.0.0...HEAD
218+
219+
[v1.0.0]: https://github.com/building-envelope-data/api/compare/v0.1.0...v1.0.0
220+
221+
[v0.1.0]: https://github.com/building-envelope-data/api/releases/tag/v0.1.0

CODE_OF_CONDUCT.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
- Using welcoming and inclusive language
18+
- Being respectful of differing viewpoints and experiences
19+
- Gracefully accepting constructive criticism
20+
- Focusing on what is best for the community
21+
- Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
- The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
- Trolling, insulting/derogatory comments, and personal or political attacks
28+
- Public or private harassment
29+
- Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
- Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at christoph.maurer@ise.fraunhofer.de. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
https://www.contributor-covenant.org/faq

0 commit comments

Comments
 (0)