forked from openedx-unsupported/configuration
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revert "Paver deprecation - attempt #?" (#140)
Encountered Ansible error: ``` TASK [edxapp : gather static assets] ******************************************* fatal: [10.4.11.14]: FAILED! => { "changed": true, "cmd": [ "/edx/bin/edxapp-update-assets" ], "delta": "0:00:00.010667", "end": "2024-12-18 14:56:48.466539", "rc": 126, "start": "2024-12-18 14:56:48.455872" } STDERR: env: ‘/edx/app/edxapp/venvs/edxapp/bin’: Permission denied ```
- Loading branch information
Showing
13 changed files
with
180 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
25 changes: 3 additions & 22 deletions
25
playbooks/roles/edxapp/templates/edx/bin/edxapp-update-assets.j2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,13 @@ | ||
{% include "edxapp_common.j2" %} | ||
|
||
export WEBPACK_CONFIG_PATH=webpack.prod.config.js | ||
export STATIC_ROOT_LMS=/edx/var/edxapp/staticfiles | ||
export STATIC_ROOT_CMS=/edx/var/edxapp/staticfiles/studio | ||
# This is necessary to properly build webworkers, which depends on this value being a dictionary. | ||
export JS_ENV_EXTRA_CONFIG={} | ||
|
||
|
||
# We need to make a call to a management command before running webpack because proctoring runs a webpack | ||
# webworker that only gets built if the proctoring djangoapp writes out a `workers.json`: | ||
# https://github.com/openedx/edx-proctoring/blob/73c7f55e2be91324fa07fec6e6ac0a667fdd8412/edx_proctoring/apps.py#L4 | ||
{% if edxapp_staticfiles_storage_overrides %} | ||
{% for override in edxapp_staticfiles_storage_overrides %} | ||
export STATICFILES_STORAGE={{ override | quote }} | ||
sudo -E -H -u {{ edxapp_user }} \ | ||
env "PATH=$PATH" \ | ||
{{ edxapp_venv_bin }} python manage.py lms --settings=$EDX_PLATFORM_SETTINGS print_setting STATIC_ROOT WEBPACK_CONFIG_PATH \ | ||
&& npm run webpack \ | ||
&& npm run compile-sass -- --theme-dir /edx/var/edx-themes/edx-themes/edx-platform --theme-dir /edx/app/edxapp/edx-platform/themes \ | ||
&& {{ edxapp_venv_bin }}/python manage.py lms collectstatic --noinput --settings=$EDX_PLATFORM_SETTINGS \ | ||
&& {{ edxapp_venv_bin }}/python manage.py cms collectstatic --noinput --settings=$EDX_PLATFORM_SETTINGS | ||
env "PATH=$PATH" "STATICFILES_STORAGE={{ override }}" \ | ||
{{ edxapp_venv_bin }}/paver update_assets --debug-collect --settings=$EDX_PLATFORM_SETTINGS | ||
{% endfor %} | ||
{% else %} | ||
sudo -E -H -u {{ edxapp_user }} \ | ||
env "PATH=$PATH" \ | ||
{{ edxapp_venv_bin }} python manage.py lms --settings=$EDX_PLATFORM_SETTINGS print_setting STATIC_ROOT WEBPACK_CONFIG_PATH \ | ||
&& npm run webpack \ | ||
&& npm run compile-sass -- --theme-dir /edx/var/edx-themes/edx-themes/edx-platform --theme-dir /edx/app/edxapp/edx-platform/themes \ | ||
&& {{ edxapp_venv_bin }}/python manage.py lms collectstatic --noinput --settings=$EDX_PLATFORM_SETTINGS \ | ||
&& {{ edxapp_venv_bin }}/python manage.py cms collectstatic --noinput --settings=$EDX_PLATFORM_SETTINGS | ||
{{ edxapp_venv_bin }}/paver update_assets --debug-collect --settings $EDX_PLATFORM_SETTINGS | ||
{% endif %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
--- | ||
# | ||
# edX Configuration | ||
# | ||
# github: https://github.com/openedx/configuration | ||
# wiki: https://openedx.atlassian.net/wiki/display/OpenOPS | ||
# code style: https://openedx.atlassian.net/wiki/display/OpenOPS/Ansible+Code+Conventions | ||
# license: https://github.com/openedx/configuration/blob/master/LICENSE.TXT | ||
# | ||
## | ||
# Defaults for role test_build_server | ||
# | ||
|
||
# | ||
# vars are namespace with the module name. | ||
# | ||
test_build_server_user: jenkins | ||
test_build_server_repo_path: /home/jenkins | ||
TEST_EDX_PLATFORM_VERSION: master |
56 changes: 56 additions & 0 deletions
56
playbooks/roles/test_build_server/files/test-development-environment.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
#!/usr/bin/env bash | ||
set -e | ||
################################################################################ | ||
# This executes a small subset of the edx-platform tests. It is intended as | ||
# a means of testing newly provisioned AMIs for our jenkins workers. | ||
# | ||
# The two main things that happen here: | ||
# 1. The setup from edx-platform/scripts/all-tests.sh, the script that is | ||
# run by the jenkins workers to kick off tests. | ||
# 2. The paver command for tests, coverage and quality reports are run. | ||
# For the tests, it runs only a small number of test cases for each | ||
# test suite. | ||
############################################################################### | ||
|
||
# Doing this rather than copying the file into the scripts folder so that | ||
# this file doesn't get cleaned out by the 'git clean' in all-tests.sh. | ||
cd edx-platform-clone | ||
|
||
# This will run all of the setup it usually runs, but none of the | ||
# tests because TEST_SUITE isn't defined. | ||
export PYTHON_VERSION=3.8 | ||
source scripts/jenkins-common.sh | ||
|
||
case "$1" in | ||
"unit") | ||
|
||
# Now we can run a subset of the tests via paver. | ||
# Run some of the common/lib unit tests | ||
paver test_lib -t common/lib/xmodule/xmodule/tests/test_stringify.py | ||
|
||
# Generate some coverage reports | ||
# Since `TEST_SUITE` is not set, change the coverage file written by the | ||
# previous test to a generic one. | ||
cp reports/common_lib_xmodule.coverage reports/.coverage | ||
paver coverage | ||
|
||
# Run some of the djangoapp unit tests | ||
paver test_system -t lms/djangoapps/courseware/tests/tests.py | ||
paver test_system -t cms/djangoapps/course_creators/tests/test_views.py | ||
;; | ||
|
||
"js") | ||
|
||
# Run some of the javascript unit tests | ||
paver test_js_run -s lms-coffee | ||
;; | ||
|
||
"quality") | ||
# Generate quality reports | ||
paver run_quality | ||
;; | ||
|
||
*) | ||
echo "args required" | ||
exit 1 | ||
esac |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
--- | ||
# | ||
# edX Configuration | ||
# | ||
# github: https://github.com/openedx/configuration | ||
# wiki: https://openedx.atlassian.net/wiki/display/OpenOPS | ||
# code style: https://openedx.atlassian.net/wiki/display/OpenOPS/Ansible+Code+Conventions | ||
# license: https://github.com/openedx/configuration/blob/master/LICENSE.TXT | ||
# | ||
## | ||
# Role includes for role test_build_server | ||
# | ||
# Example: | ||
# | ||
# dependencies: | ||
# - { | ||
# role: my_role | ||
# my_role_var0: "foo" | ||
# my_role_var1: "bar" | ||
# } | ||
|
||
#### INTENTIONALLY LEFT BLANK #### | ||
|
||
# Since this is a test role, it should not install anything extra onto the | ||
# target machine, thus altering the system under test. Be careful when | ||
# adding dependencies. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
--- | ||
# | ||
# edX Configuration | ||
# | ||
# github: https://github.com/openedx/configuration | ||
# wiki: https://openedx.atlassian.net/wiki/display/OpenOPS | ||
# code style: https://openedx.atlassian.net/wiki/display/OpenOPS/Ansible+Code+Conventions | ||
# license: https://github.com/openedx/configuration/blob/master/LICENSE.TXT | ||
# | ||
# | ||
# | ||
# Tasks for role test_build_server | ||
# | ||
# Overview: | ||
# | ||
# | ||
# Dependencies: | ||
# | ||
# | ||
# Example play: | ||
# | ||
|
||
- name: Create clone of edx-platform | ||
git: | ||
repo: "https://github.com/openedx/edx-platform.git" | ||
dest: "{{ test_build_server_repo_path }}/edx-platform-clone" | ||
version: "{{ TEST_EDX_PLATFORM_VERSION }}" | ||
become_user: "{{ test_build_server_user }}" | ||
|
||
- name: get xargs limit | ||
shell: "xargs --show-limits" | ||
|
||
- name: Copy test-development-environment.sh to somewhere the jenkins user can access it | ||
copy: | ||
src: test-development-environment.sh | ||
dest: "{{ test_build_server_repo_path }}" | ||
mode: 0755 | ||
|
||
- name: Validate build environment | ||
shell: "bash test-development-environment.sh {{ item }}" | ||
args: | ||
chdir: "{{ test_build_server_repo_path }}/" | ||
environment: | ||
PYTHON_VERSION: "3.8" | ||
become_user: "{{ test_build_server_user }}" | ||
with_items: | ||
- "unit" | ||
- "js" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.