Skip to content

Commit

Permalink
Enhance: Extract dependencies from pip.yml to requirements.txt for De…
Browse files Browse the repository at this point in the history
…pendabot compatibility
  • Loading branch information
aadi-joshi committed Nov 28, 2024
1 parent 55507bc commit 9f03131
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 247 deletions.
9 changes: 9 additions & 0 deletions dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
version: 2
updates:
- package-ecosystem: "pip"
directory: "./tasks" # Path where requirements.txt is located; adjust if it's in a subdirectory
schedule:
interval: "daily" # Change this to "weekly" or "monthly" if needed
open-pull-requests-limit: 5 # Optional: limit the number of open PRs from Dependabot
commit-message:
prefix: "fix" # Prefix for commit messages created by Dependabot
17 changes: 17 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
attrs
channels_redis~=4.2.0
django-celery-email
django-cors-headers~=4.4.0
django-pipeline~=3.1.0
django-redis~=5.4.0
MySQL-python
psycopg2
raven
service_identity
uwsgi
django~=4.0 # Replace with {{ openwisp2_django_version }}
openwisp2_controller # Install the latest version by default
openwisp2_network_topology # Install the latest version by default
openwisp2_firmware_upgrader # Install the latest version by default
openwisp2_monitoring # Install the latest version by default
openwisp2_radius # Install the latest version by default
251 changes: 4 additions & 247 deletions tasks/pip.yml
Original file line number Diff line number Diff line change
@@ -1,248 +1,5 @@
---
# pip.yml
# Specifies project dependencies and references requirements.txt

- name: Update pip & related tools
pip:
name:
- pip
- setuptools
- wheel
- attrs
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
retries: 5
delay: 10
register: result
until: result is success

- name: Remove jsonfield2
pip:
name:
- jsonfield2
state: absent
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
retries: 2
delay: 5
register: result
until: result is success
notify: Reload application

- name: Install openwisp2 controller and its dependencies
pip:
name:
- "{{ openwisp2_controller_version }}"
- service_identity
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
environment:
LC_CTYPE: "en_US.UTF-8"
notify: Reload application
retries: 5
delay: 10
register: result
until: result is success
tags:
- molecule-idempotence-notest

- name: Install channels_redis~=4.2.0
pip:
name:
- channels_redis~=4.2.0
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
retries: 1
delay: 10
register: result
until: result is success

- name: Install django-redis
pip:
name: "django-redis~=5.4.0"
state: present
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
notify: Reload application
retries: 5
delay: 10
register: result
until: result is success

- name: Install openwisp2 network topology and its dependencies
when: openwisp2_network_topology
pip:
name: "{{ openwisp2_network_topology_version }}"
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
notify: Reload application
retries: 5
delay: 10
register: result
until: result is success
tags:
- molecule-idempotence-notest

- name: Install openwisp firmware upgrader and its dependencies
when: openwisp2_firmware_upgrader
pip:
name: "{{ openwisp2_firmware_upgrader_version }}"
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
notify: Reload application
retries: 5
delay: 10
register: result
until: result is success
tags:
- molecule-idempotence-notest

- name: Install openwisp monitoring and its dependencies
when: openwisp2_monitoring
pip:
name: "{{ openwisp2_monitoring_version }}"
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
notify: Reload application
retries: 5
delay: 10
register: result
until: result is success
tags:
- molecule-idempotence-notest

- name: Install openwisp2_radius and its dependencies
when: openwisp2_radius
pip:
name: "{{ openwisp2_radius_version }}"
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
notify: Reload application
retries: 5
delay: 10
register: result
until: result is success
tags:
- molecule-idempotence-notest

- name: Install django-cors-headers
when: openwisp2_django_cors.get('enabled')
pip:
name: "django-cors-headers~=4.4.0"
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
retries: 5
delay: 10
register: result
until: result is success
notify: Reload application

- name: Install extra python packages
pip:
name: "{{ openwisp2_extra_python_packages }}"
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
retries: 5
delay: 10
register: result
until: result is success
notify: Reload application
tags: [extra_pip]

- name: Install static minification dependencies
pip:
name:
- django-pipeline~=3.1.0
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
retries: 5
delay: 10
register: result
until: result is success
notify: Reload application

- name: Install uwsgi
pip:
name: uwsgi
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
retries: 5
delay: 10
register: result
until: result is success
notify: Reload application

- name: Install psycopg2
when: openwisp2_database.engine in ["django.db.backends.postgresql", "django.contrib.gis.db.backends.postgis"]
pip:
name: psycopg2
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
retries: 5
delay: 10
register: result
until: result is success
notify: Reload application

- name: Install MySQL-python
when: openwisp2_database.engine in ["django.db.backends.mysql", "django.contrib.gis.db.backends.mysql"]
pip:
name: MySQL-python
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
retries: 5
delay: 10
register: result
until: result is success
notify: Reload application

- name: Install raven (sentry client)
when: openwisp2_sentry.get('dsn')
pip:
name: raven
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
retries: 5
delay: 10
register: result
until: result is success
notify: Reload application

- name: Install django-celery-email
pip:
name: django-celery-email
state: latest
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
when: openwisp2_email_backend == "djcelery_email.backends.CeleryEmailBackend"
retries: 5
delay: 10
register: result
until: result is success
notify: Reload application

- name: Install django
pip:
name: "{{ openwisp2_django_version }}"
state: present
virtualenv: "{{ virtualenv_path }}"
virtualenv_python: "{{ openwisp2_python }}"
retries: 5
delay: 10
register: result
until: result is success
notify: Reload application
tags:
- molecule-idempotence-notest
dependencies:
- "-r ../requirements.txt"

0 comments on commit 9f03131

Please sign in to comment.