dandi / dandi/dandi-infrastructure

Establish CHANGELOG and "releases"?

Open
#216 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
HCL
Stars
0
Forks
11
Avg merge
2d 20h
Merged PRs (30d)
2

Description

I know that it sounds odd but since `dandi-infrastructure` is used by derivative efforts (LINC and EMBER), those teams (and DANDI people in a few weeks after) would appreciate from having a conventional track of changes and description of rationale for them. Since `auto` is doing a decent job in populating CHANGELOG and linking to PRs etc, I would suggest us to

- adopt time based versioning like git-annex does where it would be

`{MAJOR}.{DATE}.{PATCH}`

- MAJOR - to increment only when backward compatibility gets "broken" as a service gets removed or alike
- DATE - the date for release
- PATCH - if needed on top of DATE

@jwodder -- can `auto` or something else implement such version minting based on labels?

- automate "releases" which would simply mint a new version from master and update CHANGELOG. Pretty much any PR, unless bundling multiple changes together, could have its own "release"
- PR titles should be descriptive enough to summarize the change, and extended description should provide some context for the change: "why and how"

Overall, it
- it should not add extra burden - labeling is easy
- produce summary CHANGELOG for folks to consult/navigate upon merges into their solutions
- allow downstream projects to reference specific state of deployment based on the release labels ("upgrade infrastructure setup from 1.20250101.0 to 3.20250217.0 of DANDI ...) instead of "sync to DANDI from our prior sync 2 months ago")

WDYT @waxlamp @satra et al?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the proposed CHANGELOG, release flow from master, and the referenced auto tooling, then check how labels and PR titles could support the versioning rules. Done means the project has an agreed release scheme, automated releases, and CHANGELOG updates that downstream teams can use to identify deployment states.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, github
Domain
documentation, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.