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

[GSoC'24] Consensus annotation #8434

Open
wants to merge 366 commits into
base: develop
Choose a base branch
from
Open

Conversation

zhiltsov-max
Copy link
Contributor

@zhiltsov-max zhiltsov-max commented Sep 11, 2024

Motivation and context

Depends on #8283, #8401

Closes #7973

Merge plan:

  • Implement consensus task creation (API and UI)
  • Implement consensus job merging and settings (API and UI)
  • Implement simple analytics for merge conflicts
  • Implement review mode and manual merging

How has this been tested?

Checklist

  • I submit my changes into the develop branch
  • I have created a changelog fragment
  • I have updated the documentation accordingly
  • I have added tests to cover my changes
  • I have linked related issues (see GitHub docs)
  • I have increased versions of npm packages if it is necessary
    (cvat-canvas,
    cvat-core,
    cvat-data and
    cvat-ui)

License

  • I submit my code changes under the same MIT License that covers the project.
    Feel free to contact the maintainers if that's a concern.

Summary by CodeRabbit

  • New Features

    • Introduced a new analytics page for consensus reporting.
    • Added support for merging consensus jobs directly from the job actions menu.
    • Implemented a dedicated component for displaying assignee reports and consensus conflicts.
    • Enhanced task management with new consensus-related settings and properties.
  • Bug Fixes

    • Improved error handling and state management for consensus job operations.
  • Documentation

    • Updated documentation to reflect changes in consensus job handling and analytics features.
  • Style

    • Added new styles for improved layout and presentation of consensus-related components.
  • Tests

    • Expanded test coverage for new consensus functionalities and components.

Viditagarwal7479 and others added 30 commits July 18, 2024 19:04
Copy link

sonarqubecloud bot commented Oct 2, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
5.7% Duplication on New Code (required ≤ 3%)
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint

Viditagarwal7479 and others added 12 commits December 24, 2024 17:27
#7973 

Adding test cases for consensus features 

### Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply.
If an item isn't applicable for some reason, then ~~explicitly
strikethrough~~ the whole
line. If you don't do that, GitHub will show incorrect progress for the
pull request.
If you're unsure about any of these, don't hesitate to ask. We're here
to help! -->
~- [ ] I submit my changes into the `develop` branch~
~- [ ] I have created a changelog fragment <!-- see top comment in
CHANGELOG.md -->~
~- [ ] I have updated the documentation accordingly~
- [x] I have added tests to cover my changes
- [x] I have linked related issues (see [GitHub docs](

https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword))
~- [ ] I have increased versions of npm packages if it is necessary

([cvat-canvas](https://github.com/cvat-ai/cvat/tree/develop/cvat-canvas#versioning),

[cvat-core](https://github.com/cvat-ai/cvat/tree/develop/cvat-core#versioning),

[cvat-data](https://github.com/cvat-ai/cvat/tree/develop/cvat-data#versioning)
and

[cvat-ui](https://github.com/cvat-ai/cvat/tree/develop/cvat-ui#versioning))~

### License

- [x] I submit _my code changes_ under the same [MIT License](
https://github.com/cvat-ai/cvat/blob/develop/LICENSE) that covers the
project.
  Feel free to contact the maintainers if that's a concern.

---------

Co-authored-by: Dmitrii Lavrukhin <dmitrii.lavrukhin@cvat.ai>
Co-authored-by: Rodrigo Agundez <rragundez@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Boris Sekachev <boris.sekachev@yandex.ru>
Co-authored-by: Kirill Lakhov <kirill.9992@gmail.com>
Co-authored-by: smit <90560950+smit9924@users.noreply.github.com>
Co-authored-by: Roman Donchenko <roman@cvat.ai>
Co-authored-by: cvat-bot[bot] <147643061+cvat-bot[bot]@users.noreply.github.com>
Co-authored-by: Andrey Zhavoronkov <andrey@cvat.ai>
Co-authored-by: Maxim Zhiltsov <zhiltsov.max35@gmail.com>
Co-authored-by: Maria Khrustaleva <maria@cvat.ai>
@Viditagarwal7479
Copy link
Contributor

Hello @zhiltsov-max ,
Are you able to build this locally?
Since, I am getting the following error while trying to build this locally.

docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d --build
216.5 gcc: internal compiler error: Illegal instruction signal terminated program as
216.5 Please submit a full bug report,
216.5 with preprocessed source if appropriate.
216.5 See <file:///usr/share/doc/gcc-11/README.Bugs> for instructions.
216.5 make: *** [ffbuild/common.mak:59: libavformat/isom.o] Error 4
[+] Running 0/1 Waiting for unfinished jobs....
 ⠧ Service cvat_server  Building                                                                                                                                                                                                  221.7s 
failed to solve: process "/bin/sh -c curl -sL https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz --output - |     tar -zx --strip-components=1 &&     ./configure --disable-nonfree --disable-gpl --enable-libopenh264         --enable-shared --disable-static --disable-doc --disable-programs --prefix=\"${PREFIX}\" &&     make -j5 && make install && make clean" did not complete successfully: exit code: 2

@zhiltsov-max
Copy link
Contributor Author

zhiltsov-max commented Dec 26, 2024

@Viditagarwal7479, yes, it compiles and runs without problems on my machine. The error looks like it can be something specific to your CPU or platform. Please try to launch outside of the containers or maybe change GCC version for the build.

@zhiltsov-max
Copy link
Contributor Author

Added merge plan in the description.

@Viditagarwal7479
Copy link
Contributor

@Viditagarwal7479, yes, it compiles and runs without problems on my machine. The error looks like it can be something specific to your CPU or platform. Please try to launch outside of the containers or maybe change GCC version for the build.

Thank You, removing ffmpeg and ffmpeg4 installed by brew and the related enviornment variables solved this issue.

@Viditagarwal7479
Copy link
Contributor

Added merge plan in the description.

Aren't this 2 already implemented?
[ ] Implement consensus task creation (API and UI)
[ ] Implement consensus job merging and settings (API and UI)

What more params are you looking for related to the merge conflicts?
[ ] Implement simple analytics for merge conflicts

@Viditagarwal7479
Copy link
Contributor

#8895 in this PR I have updated the schema.yml because of which CI / build (pull request) build is failing and updated this branch with develop

Update `gsoc/consensus-feature` with `develop` and update `schema.yml`
Copy link

sonarqubecloud bot commented Jan 3, 2025

Quality Gate Failed Quality Gate failed

Failed conditions
5.3% Duplication on New Code (required ≤ 3%)
D Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

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.

[GSoC'24] Quality Control: Consensus
3 participants