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

Release v2.5.2 #6570

Merged
merged 50 commits into from
Jul 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
4b179be
Updated CHANGELOG.md, bump version (#6426)
azhavoro Jul 5, 2023
c31fbeb
Code coverage fixes (#6420)
yasakova-anastasia Jul 10, 2023
44382be
Fix overly broad exception conversion in `LambdaFunction.invoke` (#6394)
SpecLad Jul 10, 2023
c15a855
Bump tough-cookie from 4.1.2 to 4.1.3 (#6445)
dependabot[bot] Jul 11, 2023
a63f0f1
Bump stylelint from 13.13.1 to 15.10.1 (#6444)
dependabot[bot] Jul 11, 2023
1e18713
Allow attribute default/permitted values to be blank (#6454)
SpecLad Jul 12, 2023
03975ea
Supported multi-line input, fixed issue in aam with losing selection …
bsekachev Jul 12, 2023
31b5e25
Keep model input data unchanged in SDK (#6455)
zhiltsov-max Jul 12, 2023
0c8a46e
Honey Pot fixes (#6456)
zhiltsov-max Jul 12, 2023
573d57c
Bump semver from 6.3.0 to 6.3.1 in /tests (#6452)
dependabot[bot] Jul 13, 2023
0715ec0
Bump semver from 5.7.1 to 5.7.2 (#6453)
dependabot[bot] Jul 13, 2023
99a6cf9
Bump Hadolint version (#6478)
SpecLad Jul 14, 2023
1531f86
Update codeowners (#6489)
Jul 17, 2023
bf3e31d
Add error message (#6500)
Jul 18, 2023
60b925a
Fixed: 3d job can not be opened in validation mode (#6507)
bsekachev Jul 18, 2023
9fc6b00
No helm tests on edit (#6495)
Jul 18, 2023
bc5036f
Create cvat_sdk.datasets, a framework-agnostic version of cvat_sdk.py…
SpecLad Jul 18, 2023
783c414
Close av contaner after use (#6501)
azhavoro Jul 19, 2023
19fefc5
Fixed calculating statistics in case with removed frames (#6493)
bsekachev Jul 19, 2023
8de7722
Fixed using initial frame from query parameter (#6506)
bsekachev Jul 19, 2023
f861aef
Fixed default value for an attribute (RAW editor), refactored labels …
bsekachev Jul 19, 2023
1ef561a
Fixed SAM plugin (403 code for workers in organizations) (#6514)
bsekachev Jul 19, 2023
c230395
Fix job minutes in dates (#6519)
zhiltsov-max Jul 20, 2023
54d2ef3
Update develop (release 2.5.1) (#6521)
azhavoro Jul 20, 2023
98adeb8
Bump word-wrap from 1.2.3 to 1.2.4 (#6518)
dependabot[bot] Jul 20, 2023
e379444
Fix validation in `AttributeSerializer` (#6447)
SpecLad Jul 20, 2023
123a86c
Fixed hash for shapes, tags and skeletons (#6517)
bsekachev Jul 20, 2023
791604a
Minor CI improvements (#6527)
azhavoro Jul 20, 2023
1da005c
Added default value test, refactored tests (#6529)
bsekachev Jul 20, 2023
fea0dae
Adjusted plugin registration way (#6533)
bsekachev Jul 21, 2023
ded24ad
Added e2e test to check export hash (#6532)
bsekachev Jul 21, 2023
be81d28
automatic annotation documentation updated (#6409)
mdacoca Jul 21, 2023
9659f82
Extend cleaning for downloaded file names (#6492)
zhiltsov-max Jul 21, 2023
1bc7767
generate_image_file: don't hardcode the file format (#6538)
SpecLad Jul 23, 2023
2896bec
Accelerated React rendering of objects list for tracks (#6544)
bsekachev Jul 24, 2023
6e5ac4b
Fix keyframe removing (#6494)
Jul 24, 2023
d72e954
Fix BrowsableAPIRenderer for server viewset (#6553)
azhavoro Jul 24, 2023
a79052f
Project/Task/Job Analytics (#6371)
klakhov Jul 25, 2023
2bb87cf
multiple fixes to make helm work (#6137)
Keramblock Jul 25, 2023
5a69e67
Fixed cards on project page, updated stylelint & css loader packages …
bsekachev Jul 25, 2023
3e84570
Stop creating linter report files in CI (#6560)
SpecLad Jul 27, 2023
442641f
honeypots documentation updated (#6559)
mdacoca Jul 27, 2023
162f1c7
release notes update
mdacoca Jul 27, 2023
7195f51
line length change
mdacoca Jul 27, 2023
8ee3111
Update CHANGELOG.md
azhavoro Jul 27, 2023
6f07d30
Update CHANGELOG.md
azhavoro Jul 27, 2023
b49afd1
Merge pull request #6569 from opencv/ma/release-notes
azhavoro Jul 27, 2023
d976460
Bump version to 2.5.2
azhavoro Jul 27, 2023
9808140
Merge remote-tracking branch 'origin/master' into release-2.5.2
azhavoro Jul 27, 2023
9ce45be
Get rid of resize observer
bsekachev Jul 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@
/components/ @azhavoro

# Component: Tests
/tests/ @yasakova-anastasia
/tests/ @kirill-sizov

# Component: Serverless functions
/serverless/ @yasakova-anastasia
/serverless/ @kirill-sizov

# Infrastructure
Dockerfile* @azhavoro
Expand Down
8 changes: 7 additions & 1 deletion .github/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,11 @@ codecov:
require_ci_to_pass: yes
notify:
wait_for_ci: yes
after_n_builds: 16

coverage:
status:
patch: false
project:
default:
target: auto
threshold: 5%
10 changes: 1 addition & 9 deletions .github/workflows/bandit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,11 @@ jobs:
. .env/bin/activate
pip install -U pip wheel setuptools
pip install bandit
mkdir -p bandit_report

echo "Bandit version: "$(bandit --version | head -1)
echo "The files will be checked: "$(echo $CHANGED_FILES)
bandit -a file --ini .bandit -f html -o ./bandit_report/bandit_checks.html $CHANGED_FILES
bandit -a file --ini .bandit $CHANGED_FILES
deactivate
else
echo "No files with the \"py\" extension found"
fi

- name: Upload artifacts
if: failure()
uses: actions/upload-artifact@v3.1.1
with:
name: bandit_report
path: bandit_report
11 changes: 2 additions & 9 deletions .github/workflows/black.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ jobs:
cvat-cli/**/*.py
tests/python/**/*.py
cvat/apps/quality_control/**/*.py
cvat/apps/analytics_report/**/*.py
dir_names: true

- name: Run checks
Expand All @@ -32,23 +33,15 @@ jobs:
. .env/bin/activate
pip install -U pip wheel setuptools
pip install $(egrep "black.*" ./cvat-cli/requirements/development.txt)
mkdir -p black_report

echo "Black version: "$(black --version)
echo "The dirs will be checked: $UPDATED_DIRS"
EXIT_CODE=0
for DIR in $UPDATED_DIRS; do
black --check --diff $DIR >> ./black_report/black_checks.txt || EXIT_CODE=$(($? | $EXIT_CODE)) || true
black --check --diff $DIR || EXIT_CODE=$(($? | $EXIT_CODE)) || true
done
deactivate
exit $EXIT_CODE
else
echo "No files with the \"py\" extension found"
fi

- name: Upload artifacts
if: failure()
uses: actions/upload-artifact@v3.1.1
with:
name: black_report
path: black_report
11 changes: 1 addition & 10 deletions .github/workflows/eslint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,8 @@ jobs:
run: |
yarn install --frozen-lockfile
(cd tests && yarn install --frozen-lockfile)
yarn add eslint-detailed-reporter -D -W

- name: Run checks
run: |
echo "ESLint version: "$(yarn run -s eslint --version)
mkdir -p eslint_report
yarn run eslint . -f node_modules/eslint-detailed-reporter/lib/detailed.js -o ./eslint_report/eslint_checks.html

- name: Upload artifacts
if: failure()
uses: actions/upload-artifact@v3.1.1
with:
name: eslint_report
path: eslint_report
yarn run eslint .
32 changes: 5 additions & 27 deletions .github/workflows/full.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,19 +52,12 @@ jobs:
- name: CVAT server. Build and push
uses: docker/build-push-action@v3
with:
build-args: |
"COVERAGE_PROCESS_START=.coveragerc"
cache-from: type=local,src=/tmp/cvat_cache_server
context: .
file: Dockerfile
tags: cvat/server
outputs: type=docker,dest=/tmp/cvat_server/image.tar

- name: Instrumentation of the code then rebuilding the CVAT UI
run: |
yarn --frozen-lockfile
yarn run coverage

- name: CVAT UI. Build and push
uses: docker/build-push-action@v3
with:
Expand Down Expand Up @@ -161,8 +154,6 @@ jobs:

- name: Running REST API and SDK tests
id: run_tests
env:
COVERAGE_PROCESS_START: ".coveragerc"
run: |
pip3 install -r cvat-sdk/gen/requirements.txt
./cvat-sdk/gen/generate.sh
Expand All @@ -171,12 +162,7 @@ jobs:
pip3 install -e ./cvat-sdk
pip3 install -e ./cvat-cli

pytest tests/python/ --cov --cov-report xml

- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
pytest tests/python/

- name: Creating a log file from cvat containers
if: failure() && steps.run_tests.conclusion == 'failure'
Expand Down Expand Up @@ -236,15 +222,10 @@ jobs:
while [[ $(curl -s -o /dev/null -w "%{http_code}" localhost:8181/health?bundles) != "200" && max_tries -gt 0 ]]; do (( max_tries-- )); sleep 5; done

docker compose -f docker-compose.yml -f docker-compose.dev.yml -f docker-compose.ci.yml run cvat_ci /bin/bash \
-c 'coverage run -a manage.py test cvat/apps && coverage json && mv coverage.json ${CONTAINER_COVERAGE_DATA_DIR}'
-c 'python manage.py test cvat/apps -v 2'

docker compose -f docker-compose.yml -f docker-compose.dev.yml -f docker-compose.ci.yml run cvat_ci /bin/bash \
-c 'yarn --frozen-lockfile --ignore-scripts && yarn workspace cvat-core run test && mv cvat-core/reports/coverage/coverage-final.json ${CONTAINER_COVERAGE_DATA_DIR}'

- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
-c 'yarn --frozen-lockfile --ignore-scripts && yarn workspace cvat-core run test'

- name: Creating a log file from cvat containers
if: failure()
Expand Down Expand Up @@ -340,19 +321,16 @@ jobs:
npx cypress run \
--headed \
--browser chrome \
--env coverage=false \
--config-file cypress_canvas3d.config.js \
--spec 'cypress/e2e/${{ matrix.specs }}/**/*.js,cypress/e2e/remove_users_tasks_projects_organizations.js'
else
npx cypress run \
--browser chrome \
--env coverage=false \
--spec 'cypress/e2e/${{ matrix.specs }}/**/*.js,cypress/e2e/remove_users_tasks_projects_organizations.js'
fi

- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}

- name: Creating a log file from "cvat" container logs
if: failure()
run: |
Expand Down
22 changes: 2 additions & 20 deletions .github/workflows/hadolint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- name: Run checks
env:
HADOLINT: "${{ github.workspace }}/hadolint"
HADOLINT_VER: "2.1.0"
HADOLINT_VER: "2.12.0"
VERIFICATION_LEVEL: "error"
run: |
CHANGED_FILES="${{steps.files.outputs.all_changed_files}}"
Expand All @@ -23,26 +23,8 @@ jobs:
curl -sL -o $HADOLINT "https://github.com/hadolint/hadolint/releases/download/v$HADOLINT_VER/hadolint-Linux-x86_64" && chmod 700 $HADOLINT
echo "HadoLint version: "$($HADOLINT --version)
echo "The files will be checked: "$(echo $CHANGED_FILES)
mkdir -p hadolint_report

$HADOLINT --no-fail --format json $CHANGED_FILES > ./hadolint_report/hadolint_report.json
GET_VERIFICATION_LEVEL=$(cat ./hadolint_report/hadolint_report.json | jq -r '.[] | .level')
for LINE in $GET_VERIFICATION_LEVEL; do
if [[ $LINE =~ $VERIFICATION_LEVEL ]]; then
pip install json2html
python ./tests/json_to_html.py ./hadolint_report/hadolint_report.json
exit 1
else
exit 0
fi
done
$HADOLINT -t $VERIFICATION_LEVEL $CHANGED_FILES
else
echo "No files with the \"Dockerfile*\" name found"
fi

- name: Upload artifacts
if: failure()
uses: actions/upload-artifact@v3.1.1
with:
name: hadolint_report
path: hadolint_report
6 changes: 3 additions & 3 deletions .github/workflows/helm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
- 'master'
- 'develop'
pull_request:
types: [edited, ready_for_review, opened, synchronize, reopened]
types: [ready_for_review, opened, synchronize, reopened]
paths-ignore:
- 'site/**'
- '**/*.md'
Expand Down Expand Up @@ -44,11 +44,11 @@ jobs:

- name: Deploy to minikube
run: |
printf " service:\n externalIPs:\n - $(minikube ip)\n" >> tests/values.test.yaml
printf " service:\n externalIPs:\n - $(minikube ip)\n" >> helm-chart/test.values.yaml
cd helm-chart
helm dependency update
cd ..
helm upgrade -n default release-${{ github.run_id }}-${{ github.run_attempt }} -i --create-namespace helm-chart -f helm-chart/values.yaml -f tests/values.test.yaml
helm upgrade -n default release-${{ github.run_id }}-${{ github.run_attempt }} -i --create-namespace helm-chart -f helm-chart/values.yaml -f helm-chart/cvat.values.yaml -f helm-chart/test.values.yaml

- name: Update test config
run: |
Expand Down
11 changes: 2 additions & 9 deletions .github/workflows/isort.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ jobs:
cvat-cli/**/*.py
tests/python/**/*.py
cvat/apps/quality_control/**/*.py
cvat/apps/analytics_report/**/*.py
dir_names: true

- name: Run checks
Expand All @@ -29,23 +30,15 @@ jobs:
. .env/bin/activate
pip install -U pip wheel setuptools
pip install $(egrep "isort.*" ./cvat-cli/requirements/development.txt)
mkdir -p isort_report

echo "isort version: $(isort --version-number)"
echo "The dirs will be checked: $UPDATED_DIRS"
EXIT_CODE=0
for DIR in $UPDATED_DIRS; do
isort --check $DIR >> ./isort_report/isort_checks.txt || EXIT_CODE=$(($? | $EXIT_CODE)) || true
isort --check $DIR || EXIT_CODE=$(($? | $EXIT_CODE)) || true
done
deactivate
exit $EXIT_CODE
else
echo "No files with the \"py\" extension found"
fi

- name: Upload artifacts
if: failure()
uses: actions/upload-artifact@v3.1.1
with:
name: isort_report
path: isort_report
46 changes: 35 additions & 11 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -167,12 +167,14 @@ jobs:
env:
COVERAGE_PROCESS_START: ".coveragerc"
run: |
pytest tests/python/ --cov --cov-report xml
pytest tests/python/ --cov --cov-report=json
- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
- name: Uploading code coverage results as an artifact
uses: actions/upload-artifact@v3.1.1
with:
token: ${{ secrets.CODECOV_TOKEN }}
name: coverage_results
path: |
coverage*.json
- name: Creating a log file from cvat containers
if: failure() && steps.run_tests.conclusion == 'failure'
Expand Down Expand Up @@ -230,15 +232,18 @@ jobs:
while [[ $(curl -s -o /dev/null -w "%{http_code}" localhost:8181/health?bundles) != "200" && max_tries -gt 0 ]]; do (( max_tries-- )); sleep 5; done
docker compose -f docker-compose.yml -f docker-compose.dev.yml -f docker-compose.ci.yml run cvat_ci /bin/bash \
-c 'coverage run -a manage.py test cvat/apps && coverage json && mv coverage.json ${CONTAINER_COVERAGE_DATA_DIR}'
-c 'coverage run -a manage.py test cvat/apps && coverage json && mv coverage.json ${CONTAINER_COVERAGE_DATA_DIR}/unit_tests_coverage.json'
docker compose -f docker-compose.yml -f docker-compose.dev.yml -f docker-compose.ci.yml run cvat_ci /bin/bash \
-c 'yarn --frozen-lockfile --ignore-scripts && yarn workspace cvat-core run test && mv cvat-core/reports/coverage/coverage-final.json ${CONTAINER_COVERAGE_DATA_DIR}'
- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
- name: Uploading code coverage results as an artifact
uses: actions/upload-artifact@v3.1.1
with:
token: ${{ secrets.CODECOV_TOKEN }}
name: coverage_results
path: |
${{ github.workspace }}/coverage-final.json
${{ github.workspace }}/unit_tests_coverage.json
- name: Creating a log file from cvat containers
if: failure()
Expand Down Expand Up @@ -339,11 +344,14 @@ jobs:
--browser chrome \
--spec 'cypress/e2e/${{ matrix.specs }}/**/*.js,cypress/e2e/remove_users_tasks_projects_organizations.js'
fi
mv coverage/coverage-final.json coverage/${{ matrix.specs }}_coverage.json
- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
- name: Uploading code coverage results as an artifact
uses: actions/upload-artifact@v3.1.1
with:
token: ${{ secrets.CODECOV_TOKEN }}
name: coverage_results
path: |
tests/coverage/${{ matrix.specs }}_coverage.json
- name: Creating a log file from "cvat" container logs
if: failure()
Expand Down Expand Up @@ -463,3 +471,19 @@ jobs:
docker tag cvat/ui:latest "${UI_IMAGE_REPO}:dev"
docker push "${UI_IMAGE_REPO}:dev"
codecov:
runs-on: ubuntu-latest
needs: [unit_testing, e2e_testing, rest_api_testing]
steps:
- uses: actions/checkout@v3

- name: Downloading coverage results
uses: actions/download-artifact@v3
with:
name: coverage_results

- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
13 changes: 1 addition & 12 deletions .github/workflows/pylint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,13 @@ jobs:
python3 -m venv .env
. .env/bin/activate
pip install -U pip wheel setuptools
pip install pylint-json2html
pip install $(egrep "pylint.*==.*" ./cvat/requirements/development.txt)
pip install $(egrep "django==.*" ./cvat/requirements/base.txt)
mkdir -p pylint_report

echo "Pylint version: "$(pylint --version | head -1)
echo "The files will be checked: "$(echo $CHANGED_FILES)
pylint $CHANGED_FILES --output-format=json > ./pylint_report/pylint_checks.json || EXIT_CODE=$(echo $?) || true
pylint-json2html -o ./pylint_report/pylint_checks.html ./pylint_report/pylint_checks.json
pylint $CHANGED_FILES
deactivate
exit $EXIT_CODE
else
echo "No files with the \"py\" extension found"
fi

- name: Upload artifacts
if: failure()
uses: actions/upload-artifact@v3.1.1
with:
name: pylint_report
path: pylint_report
Loading
Loading