diff --git a/.devops/test_stats.yml b/.devops/test_stats.yml deleted file mode 100644 index 5cf457b2e3..0000000000 --- a/.devops/test_stats.yml +++ /dev/null @@ -1,79 +0,0 @@ -trigger: - batch: true - branches: - include: - - master - - stable - - refs/tags/* - paths: - include: - - src/backend - -pool: - vmImage: ubuntu-latest -strategy: - matrix: - Python39: - PYTHON_VERSION: 3.12 - maxParallel: 3 - -steps: -- task: UsePythonVersion@0 - inputs: - versionSpec: '$(PYTHON_VERSION)' - architecture: 'x64' - -- task: PythonScript@0 - displayName: 'Export project path' - inputs: - scriptSource: 'inline' - script: | - """Search all subdirectories for `manage.py`.""" - from glob import iglob - from os import path - # Python >= 3.5 - manage_py = next(iglob(path.join('**', 'manage.py'), recursive=True), None) - if not manage_py: - raise SystemExit('Could not find a Django project') - project_location = path.dirname(path.abspath(manage_py)) - print('Found Django project in', project_location) - print('##vso[task.setvariable variable=projectRoot]{}'.format(project_location)) - -- script: | - python -m pip install --upgrade pip setuptools wheel uv - uv pip install --require-hashes -r src/backend/requirements.txt - uv pip install --require-hashes -r src/backend/requirements-dev.txt - sudo apt-get install poppler-utils - sudo apt-get install libpoppler-dev - uv pip install unittest-xml-reporting coverage invoke - displayName: 'Install prerequisites' - env: - UV_SYSTEM_PYTHON: 1 - -- script: | - pushd '$(projectRoot)' - invoke update --uv - coverage run manage.py test --testrunner xmlrunner.extra.djangotestrunner.XMLTestRunner --no-input - coverage xml -i - displayName: 'Run tests' - env: - INVENTREE_DB_ENGINE: sqlite3 - INVENTREE_DB_NAME: inventree - INVENTREE_MEDIA_ROOT: ./media - INVENTREE_STATIC_ROOT: ./static - INVENTREE_BACKUP_DIR: ./backup - INVENTREE_SITE_URL: http://localhost:8000 - INVENTREE_PLUGINS_ENABLED: true - UV_SYSTEM_PYTHON: 1 - INVENTREE_DEBUG: true - INVENTREE_LOG_LEVEL: INFO - -- task: PublishTestResults@2 - inputs: - testResultsFiles: "**/TEST-*.xml" - testRunTitle: 'Python $(PYTHON_VERSION)' - condition: succeededOrFailed() - -- task: PublishCodeCoverageResults@2 - inputs: - summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml' diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5fdb18c218..7b48b0db69 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,7 +23,6 @@ The InvenTree project is split into two main components: frontend and backend. T ``` InvenTree/ -├─ .devops/ # Files for Azure DevOps ├─ .github/ # Files for GitHub │ ├─ actions/ # Reused actions │ ├─ ISSUE_TEMPLATE/ # Templates for issues and pull requests diff --git a/README.md b/README.md index 7803cf8ec5..26afd2f362 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,6 @@ [![Documentation Status](https://readthedocs.org/projects/inventree/badge/?version=latest)](https://inventree.readthedocs.io/en/latest/?badge=latest) ![Docker Build](https://github.com/inventree/inventree/actions/workflows/docker.yaml/badge.svg) [![Netlify Status](https://api.netlify.com/api/v1/badges/9bbb2101-0a4d-41e7-ad56-b63fb6053094/deploy-status)](https://app.netlify.com/sites/inventree/deploys) -[![Performance Testing](https://dev.azure.com/InvenTree/InvenTree%20test%20statistics/_apis/build/status%2Fmatmair.InvenTree?branchName=testing)](https://dev.azure.com/InvenTree/InvenTree%20test%20statistics/_build/latest?definitionId=3&branchName=testing) [![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/7179/badge)](https://bestpractices.coreinfrastructure.org/projects/7179) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/inventree/InvenTree/badge)](https://securityscorecards.dev/viewer/?uri=github.com/inventree/InvenTree) @@ -202,6 +201,7 @@ Find a full list of used third-party libraries in the license information dialog Deploys by Netlify Translation by Crowdin
CodSpeed Badge + Flakiness Badge

diff --git a/docs/docs/project/sponsored_resources.md b/docs/docs/project/sponsored_resources.md index 0a733b0686..4c206bcc06 100644 --- a/docs/docs/project/sponsored_resources.md +++ b/docs/docs/project/sponsored_resources.md @@ -14,6 +14,8 @@ Individuals and companies can also support via [GitHub sponsors](https://github. - [Codecov](https://codecov.io) - Code coverage as a service, used to track the code coverage of the various components - [Netlify](https://www.netlify.com/) - Static site hosting provider, used to test deploy the frontend and website - [Depot](https://depot.dev/?utm_source=inventree) - Docker build accelerator, used to build the multi-arch images for the InvenTree docker image + - [CodSpeed](https://codspeed.io/) - Performance testing platform, used to track the performance of a few performance benchmarks +- [Flakiness](https://flakiness.io/) - Frontend test flakiness detection, used to track the flakiness of the various test harnesses ## Past Supporters diff --git a/docs/mlc_config.json b/docs/mlc_config.json index a3e538ca10..91d6692af8 100644 --- a/docs/mlc_config.json +++ b/docs/mlc_config.json @@ -31,9 +31,6 @@ }, { "pattern": "https://opensource.org/license/MIT" - }, - { - "pattern": "^https://dev.azure.com" } ] } diff --git a/src/frontend/src/tables/ColumnRenderers.tsx b/src/frontend/src/tables/ColumnRenderers.tsx index b2d4eb4f81..8d947bbe32 100644 --- a/src/frontend/src/tables/ColumnRenderers.tsx +++ b/src/frontend/src/tables/ColumnRenderers.tsx @@ -156,7 +156,7 @@ export function StockColumn(props: StockColumnProps): TableColumn { text = `# ${stock_item.serial}`; } - if (record.is_building) { + if (stock_item.is_building) { color = 'blue'; extra.push( {t`This stock item is in production`} ); - } else if (record.sales_order) { + } else if (stock_item.sales_order) { extra.push( {t`This stock item has been assigned to a sales order`} ); - } else if (record.customer) { + } else if (stock_item.customer) { extra.push( {t`This stock item has been assigned to a customer`} ); - } else if (record.belongs_to) { + } else if (stock_item.belongs_to) { extra.push( {t`This stock item is installed in another stock item`} ); - } else if (record.consumed_by) { + } else if (stock_item.consumed_by) { extra.push( {t`This stock item has been consumed by a build order`} ); - } else if (!record.in_stock) { + } else if (!stock_item.in_stock) { extra.push( {t`This stock item has expired`} ); - } else if (record.stale) { + } else if (stock_item.stale) { extra.push( {t`This stock item is stale`} ); } - if (record.in_stock) { + if (stock_item.in_stock) { if (allocated > 0) { if (allocated > quantity) { color = 'red'; @@ -267,7 +267,7 @@ export function StockColumn(props: StockColumnProps): TableColumn { } } - if (!record.in_stock) { + if (!stock_item.in_stock) { color = 'red'; } diff --git a/src/frontend/src/tables/TableHoverCard.tsx b/src/frontend/src/tables/TableHoverCard.tsx index 363af61133..913c6ced9b 100644 --- a/src/frontend/src/tables/TableHoverCard.tsx +++ b/src/frontend/src/tables/TableHoverCard.tsx @@ -68,7 +68,7 @@ export function TableHoverCard({ zIndex={zIndex} > - + {value}