Usually when I do releases, I have:
- cilium/ directory checked out with my dev code
- cilium-1.18/ checked out for upcoming 1.18 releases (as a worktree from cilium/)
- cilium-1.17/ directory checked out for v1.17
- cilium-1.* directories for prior releases
- cilium-charts/ directory for https://github.com/cilium/charts
- cilium-release/ directory for https://github.com/cilium/release
When I want to prepare say a prerelease, I get through to the tagging step in an issue like #317, and my workflow is to go into the cilium-1.18 directory to then pull, check out and tag the relevant commits. But the release tool currently goes into ../cilium to check out / change things. Sometimes I am in the middle of making some other change so it could fail. Or the release steps are working in the background and I expect to be able to work with my dev checkout of Cilium. At minimum I may just have a branch that I am preparing during the release time, and I'm surprised to find out that the wrong branch is checked out when I come back to work on the branch or submit it. This behavior is unexpected.
Probably an ideal solution to this problem from my perspective would be that when you first set up the release tool, you point it to the original source tree, then it creates a worktree under some canonical location and the tool only modifies the tool's copy of the Cilium tree. Bonus points for making extra worktrees per target minor version so that it's possible to concurrently prepare three stable releases without conflicts.
Usually when I do releases, I have:
When I want to prepare say a prerelease, I get through to the tagging step in an issue like #317, and my workflow is to go into the
cilium-1.18directory to then pull, check out and tag the relevant commits. But the release tool currently goes into../ciliumto check out / change things. Sometimes I am in the middle of making some other change so it could fail. Or the release steps are working in the background and I expect to be able to work with my dev checkout of Cilium. At minimum I may just have a branch that I am preparing during the release time, and I'm surprised to find out that the wrong branch is checked out when I come back to work on the branch or submit it. This behavior is unexpected.Probably an ideal solution to this problem from my perspective would be that when you first set up the
releasetool, you point it to the original source tree, then it creates a worktree under some canonical location and the tool only modifies the tool's copy of the Cilium tree. Bonus points for making extra worktrees per target minor version so that it's possible to concurrently prepare three stable releases without conflicts.