Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changelog with categories, affected platforms and internationalization #55

Closed
f-porter opened this issue Apr 28, 2020 · 0 comments · Fixed by #59
Closed

Changelog with categories, affected platforms and internationalization #55

f-porter opened this issue Apr 28, 2020 · 0 comments · Fixed by #59
Assignees
Labels
enhancement New feature or request

Comments

@f-porter
Copy link
Contributor

f-porter commented Apr 28, 2020

Description

The changelog of a release shall be structured into the following categories:

  • Features (added)
  • Bug fixes (fixed)
  • Breaking changes (breaking)
  • Deprecated components (deprecated)

Furthermore the changes shall be markable for an architecture, operating system and specific platforms (combinations of architecture and operating system) that are affected by these.
E.g.:

  • any machine running Linux (linux/any)
  • any machine running Windows (windows/any)
  • Raspberry Pi 2/3 running Linux (linux/rpi)
  • x64 PC running Windows (windows/x64)
  • x86 PC running any OS (any/x86)
  • any machine running any OS (platform element is not present)

In addition to that it shall be possible to add internationalization (i18n) to the changelog.

Additional Tasks:

  • The new changelog structure has to be a property of the ProductInformation
  • The term Changelog has to be renamed to Release Notes

Implementation proposal

This shall be realized by using structured (.json) files that contain an object similar to this one:

{
  "changes": {
    "de": [
      {
        "platforms": [
          "windows/any",
          "linux/rpi"
        ],
        "added": [],
        "fixed": [],
        "breaking": [],
        "deprecated": []
      },
      { // missing "platforms" element means any machine running any OS
        "added": [],
        "fixed": [],
        "breaking": [],
        "deprecated": []
      }
    ],
    "en": [
      {
        "platforms": [
          "windows/any",
          "linux/rpi"
        ],
        "added": [],
        "fixed": [],
        "breaking": [],
        "deprecated": []
      },
      { // missing "platforms" element means any machine running any OS
        "added": [],
        "fixed": [],
        "breaking": [],
        "deprecated": []
      },
    ],
    "...": [
      {
        "...": "..."
      }
    ]
  }
}
@f-porter f-porter added the enhancement New feature or request label Apr 28, 2020
@f-porter f-porter changed the title Feature: Changelog with categories, affected platforms and internationalization Changelog with categories, affected platforms and internationalization Apr 28, 2020
@tiwalter tiwalter added this to the Release Server v0.2 milestone May 6, 2020
tiwalter added a commit that referenced this issue May 17, 2020
- Add the ReleaseNotesModel
- Implement a release note parser (Json to ReleaseNotesModel)
- Implement an extension method that converts the release notes dictionary to a proper response dictionary
- Add test release notes
- Use the ReleaseNotesModel in the ReleaseInformationModel & ProductInformationModel
- Implement retrieving the release notes with the ProductInformation
tiwalter added a commit that referenced this issue May 17, 2020
- releaseNotes.txt is now releaseNotes.json
- fill the releaseNotes.json with valid input
tiwalter added a commit that referenced this issue May 17, 2020
tiwalter added a commit that referenced this issue May 17, 2020
- The tests will check the handling of the ReleaseNotesModel
tiwalter added a commit that referenced this issue May 17, 2020
tiwalter added a commit that referenced this issue May 17, 2020
tiwalter added a commit that referenced this issue May 17, 2020
@tiwalter tiwalter linked a pull request May 17, 2020 that will close this issue
tiwalter added a commit that referenced this issue May 17, 2020
- The method is now generic
- The check handles now JsonSerializationExceptions
- Add a new test that checks the structure of the release notes
- Add test data
tiwalter added a commit that referenced this issue May 17, 2020
- Added a TODO for a further investigation, why the exception message in the Travis-CI build system is different to the local system.
tiwalter added a commit that referenced this issue May 31, 2020
…ture/changelog-with-categories'

- Resolve merge conflicts
- Use a StreamReader for the release note validation
- Adjust unit tests
tiwalter added a commit that referenced this issue May 31, 2020
tiwalter added a commit that referenced this issue May 31, 2020
tiwalter added a commit that referenced this issue May 31, 2020
- Remove the DeploymentMetaInfoMapper incl. unit tests
- Rename properties of the ProductInformation
- Use the generic json deserializer
- Rename the PlatformsResponse to PlatformsList
- Remove the PlatformsMapper incl. unit tests
- Eliminate the ProductInformationResponses incl mapper & unit tests
- Eliminate the ReleaseInformationResponse incl. mapper & unit tests
- Separate the ChangeSet class
- Eliminate the ZipArchiveMapper
- Implement a ProductVersionConverter
tiwalter added a commit that referenced this issue May 31, 2020
- The FsReleaseArtifactService & FsReleaseArtifactRepository are now handling ProductVersions instead of strings
- Remove obsolete mappers
- Adjust unit tests
- Adjust swagger examples
- Adjust the controller
tiwalter added a commit that referenced this issue Jun 1, 2020
tiwalter added a commit that referenced this issue Jun 1, 2020
- Write a TestUtils function CreateTestZipFile()
- Delete the test ZIP files and create them programmatically in the unit tests
tiwalter added a commit that referenced this issue Jun 2, 2020
… & new unit tests added

- Make FromJsonFile() static
- Write unit tests that check the failing deserialization of DeploymentMetaInfo
tiwalter added a commit that referenced this issue Jun 2, 2020
…ture/changelog-with-categories'

- Resolve merge conflicts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants