From 3a1ec87d52aff9870115086f5bb5cfa1f9d8d9b9 Mon Sep 17 00:00:00 2001 From: Teodora Sechkova Date: Mon, 23 Nov 2020 19:05:27 +0200 Subject: [PATCH 1/3] ADR0003: where to develop TUF 1.0.0 Document the outcome of #1126 to develop TUF 1.0.0 in a subdirectory of the current TUF implementation. Signed-off-by: Teodora Sechkova --- docs/adr/0003-where-to-develop-TUF-1-0-0.md | 46 +++++++++++++++++++++ docs/adr/index.md | 1 + 2 files changed, 47 insertions(+) create mode 100644 docs/adr/0003-where-to-develop-TUF-1-0-0.md diff --git a/docs/adr/0003-where-to-develop-TUF-1-0-0.md b/docs/adr/0003-where-to-develop-TUF-1-0-0.md new file mode 100644 index 0000000000..a11901cd5c --- /dev/null +++ b/docs/adr/0003-where-to-develop-TUF-1-0-0.md @@ -0,0 +1,46 @@ +# Develop TUF 1.0.0 in a subdirectory of the current TUF implementation + +* Status: accepted +* Date: 2020-11-23 + +Technical Story: https://github.com/theupdateframework/tuf/issues/1126 + +## Context and Problem Statement + +The plan is to implement a refactored TUF (1.0.0) alongside the current +code base, in order to not disrupt existing usage and keep providing +a Python 2.7 client. + +We need to decide on the best place to do this development. + +## Decision Drivers + +* Developing the new code piecemeal +* Continuing to make releases in the interim +* Avoiding maintenance overhead + +## Considered Options + +Develop TUF 1.0.0: + +* In its own repository +* In a separate development branch of the current TUF implementation +* In the default branch, archiving the current implementation +* In a subdirectory of the current TUF implementation + +## Decision Outcome + +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. + +### Negative Consequences + +* In progress development in the default branch causes messiness + in plain sight. + +## Links + +* [Discussion of Python version support in TUF 1.0.0](https://github.com/theupdateframework/tuf/issues/1125) +* [Discussion of deprecation policy for the pre-1.0, Python 2.7 supporting, code](https://github.com/theupdateframework/tuf/issues/1127) diff --git a/docs/adr/index.md b/docs/adr/index.md index 60cda8388c..424f13ea50 100644 --- a/docs/adr/index.md +++ b/docs/adr/index.md @@ -7,6 +7,7 @@ This log lists the architectural decisions for tuf. - [ADR-0000](0000-use-markdown-architectural-decision-records.md) - Use Markdown Architectural Decision Records - [ADR-0001](0001-python-version-3-6-plus.md) - Default to Python 3.6 or newer for new development - [ADR-0002](0002-pre-1-0-deprecation-strategy.md) - Deprecation strategy +- [ADR-0003](0003-where-to-develop-TUF-1-0-0.md) - Develop TUF 1.0.0 in a subdirectory of the current TUF implementation From 1e24977677a94f9ce626f0a67bb94333d253d311 Mon Sep 17 00:00:00 2001 From: Teodora Sechkova Date: Fri, 27 Nov 2020 11:57:04 +0200 Subject: [PATCH 2/3] ADR003: describe transition to stand-alone TUF 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 --- docs/adr/0003-where-to-develop-TUF-1-0-0.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/adr/0003-where-to-develop-TUF-1-0-0.md b/docs/adr/0003-where-to-develop-TUF-1-0-0.md index a11901cd5c..a86e427351 100644 --- a/docs/adr/0003-where-to-develop-TUF-1-0-0.md +++ b/docs/adr/0003-where-to-develop-TUF-1-0-0.md @@ -35,6 +35,18 @@ implementation", because we want to add the new TUF code gradually while keep maintaining the current implementation given limited maintenance resources. +Once development of the new version is complete, we will transition +from TUF 1.0.0 in a subdirectory to stand-alone TUF 1.0.0 by the following +procedure: + +* 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 + ### Negative Consequences * In progress development in the default branch causes messiness From 3370005e7dddcabe191c5a57305370371c0480f4 Mon Sep 17 00:00:00 2001 From: Teodora Sechkova Date: Fri, 27 Nov 2020 11:58:59 +0200 Subject: [PATCH 3/3] ADR003: Add pros and cons of the options 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 --- docs/adr/0003-where-to-develop-TUF-1-0-0.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/adr/0003-where-to-develop-TUF-1-0-0.md b/docs/adr/0003-where-to-develop-TUF-1-0-0.md index a86e427351..7320a0e020 100644 --- a/docs/adr/0003-where-to-develop-TUF-1-0-0.md +++ b/docs/adr/0003-where-to-develop-TUF-1-0-0.md @@ -47,6 +47,13 @@ procedure: * git rm tuf/\*.py * tag 1.0.0 +## Pros and Cons of the Options + +Developing TUF 1.0.0 in a subdirectory of the current TUF +implementation 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. + ### Negative Consequences * In progress development in the default branch causes messiness