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

ADR0003: where to develop TUF 1.0.0 #1220

Merged
merged 3 commits into from
Nov 27, 2020

Conversation

sechkova
Copy link
Contributor

Fixes #1126

Description of the changes being introduced by the pull request:

Document the outcome of #1126: develop TUF 1.0.0 in a subdirectory of the current TUF implementation.

Please verify and check that the pull request fulfills the following
requirements
:

  • The code follows the Code Style Guidelines
  • Tests have been added for the bug fix or new feature
  • Docs have been added for the bug fix or new feature

Copy link
Member

@lukpueh lukpueh left a comment

Choose a reason for hiding this comment

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

Thanks for the PR, @sechkova. I have one minor nit (see inline) but other than that it looks solid.

Chosen option: "Develop TUF 1.0.0 in a subdirectory of the current TUF
implementation", because we want to add the new TUF code gradually
while keep maintaining the current implementation given limited
maintenance resources.
Copy link
Member

Choose a reason for hiding this comment

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

Minor nit: Should we somehow underline that this option seems to have the least maintenance overhead compared to option 1 and 2, while allowing us to continue making releases with the old code unlike option 3?

@lukpueh
Copy link
Member

lukpueh commented Nov 25, 2020

Not sure if this should be part of AD0003, or should have been part of ADR0002, or neither, but we also need to decide how to transition from TUF 1.0.0 in a subdirectory to stand-alone TUF 1.0.0. Im fine if we cross that bridge when we get there (e.g. with the help of git filter-branch-sorcery). cc @joshuagl

@trishankatdatadog
Copy link
Member

I'm ok with developing in a separate dir in the current default branch, as long as we're not committed to legacy code. Should we clarify this in the ADR, if we all agree?

@joshuagl
Copy link
Member

joshuagl commented Nov 25, 2020

Not sure if this should be part of AD0003, or should have been part of ADR0002, or neither, but we also need to decide how to transition from TUF 1.0.0 in a subdirectory to stand-alone TUF 1.0.0. Im fine if we cross that bridge when we get there (e.g. with the help of git filter-branch-sorcery). cc @joshuagl

The way I've been imaginging it, filter-branch wizardry would not be required. In my mind we'd have something like:

  • flesh out tuf/api/*
  • implement tuf/client/new-updater.py
  • implement tuf/repository/*
  • <iterate> 💻
  • git mv tuf/client/new-updater.py tuf/client/updater.py
  • git rm tuf/*.py
  • tag 1.0.0

Copy link
Member

@joshuagl joshuagl left a comment

Choose a reason for hiding this comment

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

Thanks for writing this up @sechkova !

@joshuagl
Copy link
Member

I'm ok with developing in a separate dir in the current default branch, as long as we're not committed to legacy code. Should we clarify this in the ADR, if we all agree?

I believe we all agree. I think it's implicit in ADR 0002 that we are not committed to legacy code?

@joshuagl
Copy link
Member

Per #1203 (review) and the discussion in #1127 we still need to document:

a deprecation/API stability strategy for releases after the refactor

Perhaps we can ensure we are not committed to maintaining legacy code with that document?

@lukpueh
Copy link
Member

lukpueh commented Nov 26, 2020

The way I've been imaginging it, filter-branch wizardry would not be required. In my mind we'd have something like:

  • flesh out tuf/api/*
  • implement tuf/client/new-updater.py
  • implement tuf/repository/*
  • 💻
  • git mv tuf/client/new-updater.py tuf/client/updater.py
  • git rm tuf/*.py
  • tag 1.0.0

Sounds like a good plan and a good fit for an addendum to ADR0003?

@joshuagl
Copy link
Member

The way I've been imaginging it, filter-branch wizardry would not be required. In my mind we'd have something like:

  • flesh out tuf/api/*
  • implement tuf/client/new-updater.py
  • implement tuf/repository/*
  • 💻
  • git mv tuf/client/new-updater.py tuf/client/updater.py
  • git rm tuf/*.py
  • tag 1.0.0

Sounds like a good plan and a good fit for an addendum to ADR0003?

Agreed. Would you mind outlining the above in ADR0003 @sechkova ?

@sechkova
Copy link
Contributor Author

Updated with your suggestions.

@lukpueh
Copy link
Member

lukpueh commented Nov 27, 2020

Updated with your suggestions.

Thanks! Could you please also resolve the conflict in docs/adr/index.md?

Document the outcome of theupdateframework#1126 to develop TUF 1.0.0
in a subdirectory of the current TUF implementation.

Signed-off-by: Teodora Sechkova <[email protected]>
Describe the steps for transitioning from TUF 1.0.0
in a subdirectory to stand-alone TUF 1.0.0

Signed-off-by: Teodora Sechkova <[email protected]>
Describe pros of developing TUF 1.0.0 in a subdirectory
of the current implementation against the rest of the options.

Signed-off-by: Teodora Sechkova <[email protected]>
@sechkova
Copy link
Contributor Author

Updated with your suggestions.

Thanks! Could you please also resolve the conflict in docs/adr/index.md?

oops .. I forgot .. here it is

@lukpueh
Copy link
Member

lukpueh commented Nov 27, 2020

picobello!

@lukpueh lukpueh merged commit 901496d into theupdateframework:develop Nov 27, 2020
@sechkova sechkova deleted the adr0003 branch November 27, 2020 11:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Decide where to develop TUF 1.0.0
4 participants