Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions news/release_schemas.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
**Added:**

* Added release_list schemas in `schemas.json`.

**Changed:**

* <news item>

**Deprecated:**

* <news item>

**Removed:**

* <news item>

**Fixed:**

* <news item>

**Security:**

* <news item>
43 changes: 43 additions & 0 deletions src/regolith/exemplars.json
Original file line number Diff line number Diff line change
Expand Up @@ -2169,6 +2169,49 @@
"year": 2020
}
],
"releaseReports": [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this collection should be called software

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But I see that in schemas.json there is a collection called software created by last year for this. Maybe we should base on that to further develop the release and release_type?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I forgot about that... We Should use that as a start

{
"_id": "sbillinge",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would expect the id to reflect the name of the software

"date": "17/07/2025",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dates are in iso standard. Also, what date is this?, when the package was first created? in which case creation_date or something like that.

"releases": [
{
"package_name": "regolith",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be at the top level, not in the release.

"description": "A Group Content Management System",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

top level

"url": "https://github.com/regro/regolith",
"release_updates": [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not needed

{
"version_number": "0.9.1",
"updated_capacities": ["Rearrange Regolith package to new Billingegroup package standards",
"change name and then fix tests for function that formats awards and honors"],
"release_url": "https://github.com/regro/regolith/releases/tag/0.9.1",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe keep this if we can use it get the release info. In which case, don't save the other information here, for example the changelog.

Maybe have a release_type that can be major, minor, patch. This will allow us to chosse what levels of release we want to list in some situation.

"release_date": "21/07/2024",
"author": ["Simon Billinge", "Rundong Hua"],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not needed in the release, but at the top level we may need authors and have it take the ids

"author_id": ["sbillinge", "stevenhua0320"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not needed

},
{
"version_number": "0.8.1",
"updated_capacities": "Fix bug in builder",
"release_date": "11/13/2023",
"author": "Simon Billinge",
"author_id": "sbillinge"
}]
},
{
"package_name": "diffpy.xpdfsuite",
"description": "The suite of algorithms and software for diffpy programs.",
"release_updates": [
{
"version_number": "0.2.0",
"updated_capacities": "scikit-pakcage everything in the suite to new BillingeGroup standard.",
"release_date": "20/10/2025",
"author": ["Simon Billinge", "Zhiming Xu", "Rundong Hua"],
"author_id": ["sbillinge", "zmx27", "stevenhua0320"]
}
]
}
]
}
],
"students": {
"_id": "Human A. Person",
"aka": ["H. A. Person"],
Expand Down
103 changes: 103 additions & 0 deletions src/regolith/schemas.json
Original file line number Diff line number Diff line change
Expand Up @@ -2924,6 +2924,109 @@
"anyof_type": ["string", "integer"]
}
},
"releaseReports": {
"_description": {
"description": "This is a collection of information that will be be used to build a release report. This should probably be private."
},
"_id": {"description": "the ID", "required": true, "type": "string"},

"date": {
"description": "date the list was edited",
"required": false,
"anyof_type": ["date", "string"]
},
"day": {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

day/month/year are probably not needed. these are replaced more recently by date. They are still needed if only a partial date is know, butI think every release will have a well defined date.

"description": "The day the list was edited",
"required": false,
"type": "integer"
},
"month": {
"description": "The month the list was edited",
"required": false,
"anyof_type": ["integer", "string"]
},
"year": {
"description": "The day the list was edited",
"required": false,
"type": "integer"
},
"released_package": {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shall we call this "releases"?

"description": "The list of software releases.",
"required": true,
"type": "list",
"schema": {
"type": "dict",
"schema": {
"package_name": {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isn't the package already known from the top level?

"description": "the name of the package.",
"required":true,
"type": "string"
},
"description": {
"description": "the description of what is the software doing.",
"required": true,
"type": "string"
},
"url": {
"description": "the url of the released software if it is public.",
"required": false,
"type": "string"
},
"release_updates": {
"description": "updated/added capacities for each time of release.",
"required": true,
"type": "list",
"schema": {
"type": "dict",
"schema": {
"version_number": {
"description": "The version number of the package.",
"required": true,
"type": "string"
},
"updated_capacities": {
"description": "the description of the updated capacity of the package.",
"required": true,
"type": "string"
},
"release_url": {
"description": "the released url of the package in specific version.",
"required": false,
"type": "string"
},
"release_year": {
"description": "the year of the version released.",
"required": true,
"type": "integer"
},
"release_month": {
"description": "the month of the version released.",
"required": true,
"anyof_type": ["integer", "string"]
},
"release_day": {
"description": "the day of the version released.",
"required": true,
"type": "integer"
},
"author": {
"description": "the author(s) who contribued to the version release.",
"required": true,
"anyof_type": ["list", "string"]
},
"author_id": {
"description": "the id of the author who contributed to the version release.",
"required": false,
"anyof_type": ["list", "string"]
}
}

}
}
}
}
}
},
"software": {
"_description": {"description": "Information about software, such as active, grants, etc."},
"_id": {
Expand Down
Loading