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 @@
[](https://inventree.readthedocs.io/en/latest/?badge=latest)

[](https://app.netlify.com/sites/inventree/deploys)
-[](https://dev.azure.com/InvenTree/InvenTree%20test%20statistics/_build/latest?definitionId=3&branchName=testing)
[](https://bestpractices.coreinfrastructure.org/projects/7179)
[](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
+