diff --git a/playbooks/roles/aws_devstack/tasks/main.yml b/playbooks/roles/aws_devstack/tasks/main.yml index 91263ea4c45..5b8628f9c6a 100644 --- a/playbooks/roles/aws_devstack/tasks/main.yml +++ b/playbooks/roles/aws_devstack/tasks/main.yml @@ -37,7 +37,7 @@ cd edx-repos/devstack/ make dev.pull.large-and-slow make dev.up.lms - . /home/ubuntu/.profile && docker compose exec lms env TERM=xterm-256color bash -c 'make requirements && npm ci && paver update_assets && python manage.py lms migrate' + . /home/ubuntu/.profile && docker compose exec lms env TERM=xterm-256color bash -c 'make requirements && npm ci && npm run build && ./manage.py lms collectstatic --noinput && ./manage.py cms collectstatic && python manage.py lms migrate' async: 1800 poll: 10 become_user: ubuntu diff --git a/playbooks/roles/edxapp/defaults/main.yml b/playbooks/roles/edxapp/defaults/main.yml index 666132d4be3..de3f47a7756 100644 --- a/playbooks/roles/edxapp/defaults/main.yml +++ b/playbooks/roles/edxapp/defaults/main.yml @@ -487,9 +487,6 @@ EDXAPP_CMS_STATIC_URL_BASE: "{{ EDXAPP_STATIC_URL_BASE }}" # does not affect verified students EDXAPP_PAID_COURSE_REGISTRATION_CURRENCY: ['usd', '$'] -# Configure paver tasks in edx-platform to skip Python/Ruby/Node installation -EDXAPP_NO_PREREQ_INSTALL: 1 - # whether to setup the python codejail or not EDXAPP_PYTHON_SANDBOX: true # this next setting, if true, turns on actual sandbox enforcement. If not true, diff --git a/playbooks/roles/edxapp/tasks/main.yml b/playbooks/roles/edxapp/tasks/main.yml index a2ed29b126f..8e6d57440a6 100644 --- a/playbooks/roles/edxapp/tasks/main.yml +++ b/playbooks/roles/edxapp/tasks/main.yml @@ -49,15 +49,6 @@ - devstack - devstack:install -- name: add paver autocomplete to bashrc - lineinfile: - dest: /root/.bashrc - line: "source {{ edxapp_code_dir }}/scripts/paver_autocomplete.sh" - when: devstack is defined and devstack - tags: - - devstack - - devstack:install - - name: create edxapp log dir file: path: "{{ edxapp_log_dir }}" diff --git a/playbooks/roles/edxapp/tasks/service_variant_config.yml b/playbooks/roles/edxapp/tasks/service_variant_config.yml index 9bc6e411509..7ed54e904b6 100644 --- a/playbooks/roles/edxapp/tasks/service_variant_config.yml +++ b/playbooks/roles/edxapp/tasks/service_variant_config.yml @@ -312,8 +312,8 @@ - gather_static_assets - assets -# Gather assets using paver if possible -- name: "gather static assets with paver and pull translations" +# Build static assets if possible +- name: "gather static assets" command: "{{ COMMON_BIN_DIR }}/edxapp-update-assets" when: celery_worker is not defined and not devstack tags: diff --git a/playbooks/roles/edxapp/templates/edx/bin/edxapp-update-assets.j2 b/playbooks/roles/edxapp/templates/edx/bin/edxapp-update-assets.j2 index fe3dc8fc89d..e9d08881795 100644 --- a/playbooks/roles/edxapp/templates/edx/bin/edxapp-update-assets.j2 +++ b/playbooks/roles/edxapp/templates/edx/bin/edxapp-update-assets.j2 @@ -4,10 +4,11 @@ {% for override in edxapp_staticfiles_storage_overrides %} sudo -E -H -u {{ edxapp_user }} \ env "PATH=$PATH" "STATICFILES_STORAGE={{ override }}" \ - {{ edxapp_venv_bin }}/paver update_assets --debug-collect --settings=$EDX_PLATFORM_SETTINGS + {{ edxapp_venv_bin }}/npm run build && {{ edxapp_venv_bin }}/manage.py lms collectstatic --noinput --debug-collect --settings=$EDX_PLATFORM_SETTINGS && {{ edxapp_venv_bin }}/manage.py cms collectstatic --noinput --debug-collect --settings=$EDX_PLATFORM_SETTINGS {% endfor %} {% else %} sudo -E -H -u {{ edxapp_user }} \ env "PATH=$PATH" \ - {{ edxapp_venv_bin }}/paver update_assets --debug-collect --settings $EDX_PLATFORM_SETTINGS + {{ edxapp_venv_bin }}/npm run build && {{ edxapp_venv_bin }}/manage.py lms collectstatic --noinput --debug-collect --settings=$EDX_PLATFORM_SETTINGS && {{ edxapp_venv_bin }}/manage.py cms collectstatic --noinput --debug-collect --settings=$EDX_PLATFORM_SETTINGS {% endif %} + \ No newline at end of file diff --git a/util/jenkins/app-container-provisioner.sh b/util/jenkins/app-container-provisioner.sh index 1542b360d53..bcd686de93f 100644 --- a/util/jenkins/app-container-provisioner.sh +++ b/util/jenkins/app-container-provisioner.sh @@ -123,7 +123,7 @@ fi if [[ ${app_service_name} == 'lms' ]]; then # temporary hack, create npm-install.log file touch /edx/app/edxapp/edx-platform/test_root/log/npm-install.log - docker run --network=host --rm -u='root' -e NO_PREREQ_INSTALL="1" -e SKIP_WS_MIGRATIONS="1" -e LMS_CFG=/edx/etc/${app_service_name}.yml -e CMS_CFG=/edx/etc/cms.yml -e DJANGO_SETTINGS_MODULE=${app_service_name}.envs.docker-production -e SERVICE_VARIANT=${app_service_name} -e EDX_PLATFORM_SETTINGS=docker-production -v /edx/etc/${app_service_name}.yml:/edx/etc/${app_service_name}.yml -v /var/tmp/cms.yml:/edx/etc/cms.yml -v /edx/var/edx-themes:/edx/var/edx-themes -v /edx/var/${app_name}:/edx/var/${app_name} -v /edx/app/edxapp/edx-platform/test_root/log/npm-install.log:/edx/app/edxapp/edx-platform/test_root/log/npm-install.log -v /var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock ${app_repo}:latest paver update_assets --debug-collect --settings=docker-production + docker run --network=host --rm -u='root' -e NO_PREREQ_INSTALL="1" -e SKIP_WS_MIGRATIONS="1" -e LMS_CFG=/edx/etc/${app_service_name}.yml -e CMS_CFG=/edx/etc/cms.yml -e DJANGO_SETTINGS_MODULE=${app_service_name}.envs.docker-production -e SERVICE_VARIANT=${app_service_name} -e EDX_PLATFORM_SETTINGS=docker-production -e EDXAPP_STATIC_ROOT_ENV=/edx/var/edxapp/staticfiles -e STATIC_ROOT_LMS=/edx/var/edxapp/staticfiles -e STATIC_ROOT_CMS=/edx/var/edxapp/staticfiles/studio -v /edx/etc/${app_service_name}.yml:/edx/etc/${app_service_name}.yml -v /var/tmp/cms.yml:/edx/etc/cms.yml -v /edx/var/edx-themes:/edx/var/edx-themes -v /edx/var/${app_name}:/edx/var/${app_name} -v /edx/app/edxapp/edx-platform/test_root/log/npm-install.log:/edx/app/edxapp/edx-platform/test_root/log/npm-install.log -v /var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock ${app_repo}:latest npm run build && ./manage.py lms collectstatic --noinput --debug-collect --settings=docker-production && ./manage.py cms collectstatic --noinput --debug-collect --settings=docker-production fi # Generate docker-compose file for app service