Define, Implement Pull Request Management Workflow (SZ-62)
rk@tigase.net opened 1 month ago

Description

The Pull Request creation flow is partially implemented and does not yet support the full intended lifecycle (validation, comparison, review readiness).

Impact

Users may be unable to complete PR creation in all scenarios.

Workaround

PRs should be treated as experimental in this release.

Planned Fix

Completion of PR workflow targeted for post-1.7, after branch and issue stabilization.

  • rk@tigase.net changed state to 'In Progress' 1 month ago
    Previous Value Current Value
    Open
    In Progress
  • rk@tigase.net commented 2 weeks ago
    rksuma@Ramakrishnans-MacBook-Pro sztab % git status
    On branch wolnosc
    Your branch is up to date with 'origin/wolnosc'.
    
    All conflicts fixed but you are still merging.
      (use "git commit" to conclude merge)
    
    Changes to be committed:
    	modified:   backend/pom.xml
    	modified:   backend/src/main/java/com/sztab/controller/ProjectController.java
    	modified:   backend/src/main/java/com/sztab/controller/PullRequestController.java
    	modified:   backend/src/main/java/com/sztab/dto/UserDto.java
    	new file:   backend/src/main/java/com/sztab/dto/pr/CommentCreateDto.java
    	new file:   backend/src/main/java/com/sztab/dto/pr/CommentDto.java
    	new file:   backend/src/main/java/com/sztab/dto/pr/CommentThreadDto.java
    	renamed:    backend/src/main/java/com/sztab/dto/PullRequestCreateDto.java -> backend/src/main/java/com/sztab/dto/pr/PullRequestCreateDto.java
    	new file:   backend/src/main/java/com/sztab/dto/pr/PullRequestDetailDto.java
    	renamed:    backend/src/main/java/com/sztab/dto/PullRequestDto.java -> backend/src/main/java/com/sztab/dto/pr/PullRequestDto.java
    	new file:   backend/src/main/java/com/sztab/dto/pr/PullRequestPreviewRequest.java
    	new file:   backend/src/main/java/com/sztab/dto/pr/PullRequestPreviewResponse.java
    	renamed:    backend/src/main/java/com/sztab/dto/PullRequestUpdateDto.java -> backend/src/main/java/com/sztab/dto/pr/PullRequestUpdateDto.java
    	new file:   backend/src/main/java/com/sztab/dto/pr/package-info.java
    	new file:   backend/src/main/java/com/sztab/dto/project/git/ProjectGitContext.java
    	modified:   backend/src/main/java/com/sztab/exception/handlers/GlobalExceptionHandler.java
    	modified:   backend/src/main/java/com/sztab/model/Comment.java
    	new file:   backend/src/main/java/com/sztab/model/CommentThread.java
    	modified:   backend/src/main/java/com/sztab/model/Project.java
    	modified:   backend/src/main/java/com/sztab/model/PullRequest.java
    	modified:   backend/src/main/java/com/sztab/model/Review.java
    	new file:   backend/src/main/java/com/sztab/model/enums/DiffSide.java
    	new file:   backend/src/main/java/com/sztab/model/enums/PullRequestApprovalCriterion.java
    	modified:   backend/src/main/java/com/sztab/model/enums/PullRequestStatus.java
    	modified:   backend/src/main/java/com/sztab/repository/BranchRepository.java
    	new file:   backend/src/main/java/com/sztab/repository/CommentRepository.java
    	new file:   backend/src/main/java/com/sztab/repository/CommentThreadRepository.java
    	modified:   backend/src/main/java/com/sztab/repository/ProjectRepository.java
    	modified:   backend/src/main/java/com/sztab/security/config/SessionAuthSecurityConfig.java
    	new file:   backend/src/main/java/com/sztab/security/util/SecurityUtils.java
    	modified:   backend/src/main/java/com/sztab/service/BranchService.java
    	modified:   backend/src/main/java/com/sztab/service/ProjectService.java
    	modified:   backend/src/main/java/com/sztab/service/PullRequestService.java
    	new file:   backend/src/main/java/com/sztab/service/component/generator/key/PullRequestKeyGenerator.java
    	new file:   backend/src/main/java/com/sztab/service/component/generator/key/SequencePullRequestKeyGenerator.java
    	modified:   backend/src/main/java/com/sztab/service/impl/BranchServiceImpl.java
    	modified:   backend/src/main/java/com/sztab/service/impl/GitMetadataServiceImpl.java
    	modified:   backend/src/main/java/com/sztab/service/impl/ProjectServiceImpl.java
    	modified:   backend/src/main/java/com/sztab/service/impl/PullRequestServiceImpl.java
    	new file:   backend/src/main/java/com/sztab/sztabina/client/GitIntrospectionClient.java
    	new file:   backend/src/main/java/com/sztab/sztabina/client/GitManipulationClient.java
    	deleted:    backend/src/main/java/com/sztab/sztabina/client/SztabinaClient.java
    	new file:   backend/src/main/java/com/sztab/sztabina/client/dto/BranchListResponse.java
    	modified:   backend/src/main/java/com/sztab/sztabina/client/dto/CommitCompareResponse.java
    	modified:   backend/src/main/java/com/sztab/sztabina/client/dto/CommitInfoDto.java
    	new file:   backend/src/main/java/com/sztab/sztabina/client/dto/CompareCommitsByUrlRequest.java
    	new file:   backend/src/main/java/com/sztab/sztabina/client/dto/CompareCommitsRequest.java
    	new file:   backend/src/main/java/com/sztab/sztabina/client/dto/DiffResponse.java
    	new file:   backend/src/main/java/com/sztab/sztabina/client/dto/MergeResponse.java
    	new file:   backend/src/main/java/com/sztab/sztabina/client/dto/MergeStatus.java
    	new file:   backend/src/main/java/com/sztab/sztabina/client/dto/git/GitCredentials.java
    	new file:   backend/src/main/java/com/sztab/sztabina/client/impl/SztabinaClient.java
    	modified:   backend/src/main/java/com/sztab/sztabina/controller/SztabinaController.java
    	deleted:    backend/src/main/resources/application-basic-auth.yml
    	modified:   backend/src/main/resources/application-dev.yml
    	deleted:    backend/src/main/resources/application-docker.yml
    	modified:   backend/src/main/resources/application.yml
    	renamed:    backend/src/main/resources/schema.sql -> backend/src/main/resources/db/migration/V11__add_issue_key_sequence.sql
    	new file:   backend/src/main/resources/db/migration/V15__add_pr_key_sequence.sql
    	new file:   backend/src/main/resources/db/migration/V19__add_comment_threads.sql
    	new file:   backend/src/main/resources/db/migration/V21__add_pr_approval_criterion.sql
    	new file:   backend/src/main/resources/db/migration/V22__constrain_one_reviewer_one_decision.sql
    	modified:   backend/src/test/java/com/sztab/controller/ProjectControllerTest.java
    	modified:   backend/src/test/java/com/sztab/controller/PullRequestControllerTest.java
    	modified:   backend/src/test/java/com/sztab/dto/PullRequestDtoTest.java
    	modified:   backend/src/test/java/com/sztab/regression/PullRequestRegressionTest.java
    	modified:   backend/src/test/java/com/sztab/service/ProjectServiceImplTest.java
    	new file:   backend/src/test/java/com/sztab/service/PullRequestServiceImplCreateCommentTest.java
    	new file:   backend/src/test/java/com/sztab/service/PullRequestServiceImplDeleteCommentTest.java
    	modified:   backend/src/test/java/com/sztab/service/PullRequestServiceImplTest.java
    	new file:   backend/src/test/java/com/sztab/service/PullRequestServiceImplUpdateCommentTest.java
    	new file:   backend/src/test/java/com/sztab/sztabina/client/SztabinaClientListBranchesTest.java
    	modified:   backend/src/test/java/com/sztab/sztabina/client/SztabinaClientTest.java
    	modified:   frontend/src/App.tsx
    	modified:   frontend/src/api/pr.ts
    	modified:   frontend/src/components/branch/BranchList.tsx
    	modified:   frontend/src/components/branch/BranchListItem.tsx
    	new file:   frontend/src/components/common/SuccessToast.tsx
    	modified:   frontend/src/components/pr/ConversationPanel.tsx
    	modified:   frontend/src/components/pr/DiffViewer.tsx
    	new file:   frontend/src/components/pr/MergeCheckmark.tsx
    	modified:   frontend/src/components/pr/PrList.tsx
    	new file:   frontend/src/components/pr/PrReadinessBanner.tsx
    	modified:   frontend/src/components/pr/ReviewPanel.tsx
    	modified:   frontend/src/components/pr/branch/BranchRibbon.tsx
    	modified:   frontend/src/hooks/usePr.ts
    	new file:   frontend/src/pages/pr/CreatePrPage.tsx
    	modified:   frontend/src/pages/pr/PrDetailPage.tsx
    	modified:   frontend/src/pages/projects/BranchesPage.tsx
    	modified:   frontend/src/types/pr.ts
    	modified:   frontend/src/types/pr.viewmodel.ts
    	modified:   frontend/tailwind.config.js
    	modified:   query-cli/dependency-reduced-pom.xml
    	new file:   smokeTests/pom.xml
    	new file:   smokeTests/sztabina-client/pom.xml
    	new file:   smokeTests/sztabina-client/src/main/java/com/sztab/sztabina/client/SztabinaClientSmoke.java
    	new file:   smokeTests/sztabina-core/pom.xml
    	new file:   smokeTests/sztabina-core/src/main/java/com/sztab/sztabina/core/SztabinaCoreSmoke.java
    	new file:   sztabina/cmd/dto/dto.go
    	modified:   sztabina/cmd/sztabina/main.go
    	modified:   sztabina/docker/Dockerfile
    	modified:   sztabina/exec/engine.go
    	modified:   sztabina/git/inspector.go
    	modified:   sztabina/git/inspector_local.go
    	modified:   sztabina/go.mod
    	modified:   sztabina/go.sum
    	renamed:    sztabina/http/git_handler.go -> sztabina/handlers/git_handler.go
    	modified:   sztabina/models/branch.go
    	modified:   sztabina/models/commit.go
    	modified:   sztabina/models/commit_list_options.go
    	modified:   sztabina/models/repository.go
    	modified:   sztabina/service/gitservice.go
    	new file:   sztabina/service/service_test.go
    	modified:   sztabina/util/utils.go
    
    rksuma@Ramakrishnans-MacBook-Pro sztab % git commit
    [wolnosc 2237502] Merge branch 'feature/commit-discovery-pr-creation' into wolnosc
    rksuma@Ramakrishnans-MacBook-Pro sztab % git status
    On branch wolnosc
    Your branch is ahead of 'origin/wolnosc' by 16 commits.
      (use "git push" to publish your local commits)
    
    nothing to commit, working tree clean
    rksuma@Ramakrishnans-MacBook-Pro sztab % git push origin wolnosc
    Enumerating objects: 22, done.
    Counting objects: 100% (22/22), done.
    Delta compression using up to 12 threads
    Compressing objects: 100% (7/7), done.
    Writing objects: 100% (8/8), 664 bytes | 664.00 KiB/s, done.
    Total 8 (delta 4), reused 0 (delta 0), pack-reused 0 (from 0)
    To https://tigase.dev/sztab.git
       b5209da..2237502  wolnosc -> wolnosc
    rksuma@Ramakrishnans-MacBook-Pro sztab % git branch -d feature/commit-discovery-pr-creation
    Deleted branch feature/commit-discovery-pr-creation (was d7267fd).
    rksuma@Ramakrishnans-MacBook-Pro sztab % 
    
    
  • rk@tigase.net changed state to 'Closed' 2 weeks ago
    Previous Value Current Value
    In Progress
    Closed
issue 1 of 1
Type
New Feature
Priority
Normal
Assignee
Version
1.9
Sprints
n/a
Customer
n/a
Issue Votes (0)
Watchers (3)
Reference
SZ-62
Please wait...
Page is in error, reload to recover