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

JSON output for extensibility #21

Closed
chlunde opened this issue Jan 13, 2021 · 7 comments
Closed

JSON output for extensibility #21

chlunde opened this issue Jan 13, 2021 · 7 comments
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. sig/release Categorizes an issue or PR as relevant to SIG Release.

Comments

@chlunde
Copy link
Contributor

chlunde commented Jan 13, 2021

What would you like to be added:

I would like support for JSON output for exensibility. I think the output should include at least:

The matches (w/ byte offsets) of each version found in different files

This would allow another program to easily change the version tag and run CI or create a PR to bump it (kind of like dependabot). This must be the offsets where the version should be stored, in a consistent with regards to prefixes like "v" and quotes. An alternative to the byte offset would be to have a mode to run this program in to set the version of a named component in the inventory and referenced files.

A more complete set of possible "next version"

It's difficult to say exactly what versions should be included. There are multiple different candidates for upgrading, depending on strategies, so perhaps all versions newer than the current release would be a good idea. For downgrades, I don't think this tool would be used, but more likely a git revert or a hand picked version.
A more compact option would be to include:

  • The next patch version (cur + 0.0.1) - if any
  • The latest patch version (cur +0.0.(max)) - if any
  • The next minor release (cur + 0.1.(max)) - if any
  • The latest minor release (cur + 0.(max).(max)) - if any
  • The latest major release (cur + (max).(max).(max)) - if any
    Given that we will not have any system for dependencies across components, known buggy versions etc., these are the versions I think I would most likely consider.
Links to changelogs

For humans to review

The timestamp of each release

This could be helpful for deciding if a version is likely unmaintained (time for upgrade to next minor/major) when on the latest patch level.

Why is this needed:

I think this will open up for more automation, like dependabot or CI jobs which fail when using stale patch versions, and also CLI tools to manually run to upgrade components. Some of these features probably should be considered directly in this tool, depending on the scope of the project.

@chlunde chlunde added kind/feature Categorizes issue or PR as related to a new feature. sig/release Categorizes an issue or PR as relevant to SIG Release. labels Jan 13, 2021
@saschagrunert
Copy link
Member

Hey @chlunde, thank you for the request! 🙏

This seems a valuable addition to me. Are you planning to provide the enhancement by yourself?

@ykakarap
Copy link
Contributor

ykakarap commented Mar 1, 2021

I logged a a broader issue to support different output formats at #30
I will work on adding this feature.

/assign

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 30, 2021
@saschagrunert
Copy link
Member

/remove-lifecycle stale

@ykakarap do you have any update on this one?

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 31, 2021
@ykakarap
Copy link
Contributor

@saschagrunert this issue is already addressed in this PR #31

This issue can be closed.

@saschagrunert
Copy link
Member

Yep, thank you!

/close

@k8s-ci-robot
Copy link
Contributor

@saschagrunert: Closing this issue.

In response to this:

Yep, thank you!

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. sig/release Categorizes an issue or PR as relevant to SIG Release.
Projects
None yet
Development

No branches or pull requests

5 participants