Skip to content

Release next version #28

@spl

Description

@spl

Here is some background and a proposal on releasing the next version of https://docs.terminusdb.com/.

Our current latest release is in the v10.0 branch and appears at https://docs.terminusdb.com/v10.0/. Our upcoming work is in the next branch and currently appears at https://docs.terminusdb.com/next/.

We are not releasing a new major or minor version of TerminusDB, which is still at v10.0. We are only a releasing a new version of the documentation for v10.0. Therefore, we want to release the docs into a branch called v10.0.

As a matter of course, we have some technical debt remaining from our transition to the new docs site and the need to get some basic documentation posted quickly for beta testers. The branches v10.0 and next have unrelated histories, which means it is a bad idea to merge one into another. So, we're not going to do that.

In addition to launching the new version of the docs, I think it's a good time to transition our docs development to be on the main branch (which is the default branch according to GitHub). Right now, it's confusing to have work being done in both main and next.

So, here's my proposal for the launch. Everything is done by creating and deleting branches. We do not do any merges. Here are the high-level steps:

  1. Copy v10.0 to old-v10.0.
  2. Delete v10.0.
  3. Copy next to v10.0.
  4. Delete next.
  5. Copy main to old-main.
  6. Delete main.
  7. Copy v10.0 to main.
  8. After 1 month: delete old-v10.0, delete old-main.

Here is what I mean by the instructions:

  • Copy old to new:
    git checkout -b new old
    git push -u origin new
    
  • Delete old:
    git branch -D old
    git push -d origin old
    

Advantages to this approach:

  • No merging of unrelated histories
  • Individual steps are easy
  • Allows merging from main into v10.0 in the future, since their histories will be related
  • Keeping old-v10.0 and old-main around for 1 month allows us to revisit them if we find an issue with the new v10.0 or main

Disadvantages:

  • The remote branches v10.0 and main will no longer match what people have referenced in their local repositories. The easiest fix is probably to just do a fresh git clone of the repository. We just need to make sure nobody has any outstanding work to submit, otherwise it might be a bit painful to recover it.
  • We need to temporarily change the GitHub branch protections to allow deleting the remote branches.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions