openedx-unsupported / configuration

A collection of edx configuration scripts and utilities that edx.org uses to deploy openedx.
GNU Affero General Public License v3.0
823 stars 969 forks source link

fix: Remove broken Atlas task #7118

Closed timmc-edx closed 9 months ago

timmc-edx commented 9 months ago

pull_translations now appears to be failing with a more mysterious error:

rmdir: failed to remove 'common/static/common/css': No such file or directory

This should be suppressed by the || true, unless this isn't coming from node_prereqs_installation in pavelib... reverting for now to unblock pipeline.

Configuration Pull Request

Make sure that the following steps are done before merging:

timmc-edx commented 9 months ago

More info: This reverts #7116 and #7117 and the relevant output in GoCD was:

&1|21:10:41.455 atlas pull  translations/edx-platform/conf/locale:conf/locale
&1|21:10:41.455 Pulling translation files
&1|21:10:41.455  - directory: translations/edx-platform/conf/locale:conf/locale
&1|21:10:41.455  - repository: openedx/openedx-translations
&1|21:10:41.455  - revision: main
&1|21:10:41.455  - filter: Not Specified
&1|21:10:41.455  - expand-glob: Not Specified
&1|21:10:41.455 Creating a temporary Git repository to pull translations into "./translations_TEMP"...
&1|21:10:41.455 Done.
&1|21:10:41.455 Setting git sparse-checkout rules...
&1|21:10:41.455 Done.
&1|21:10:41.455 Pulling translation files from the repository...
&1|21:10:41.455 Your branch is up to date with 'origin/main'.
&1|21:10:41.455 Done.
&1|21:10:41.455 Copying translations from "./translations_TEMP/translations/edx-platform/conf/locale" to "./conf/locale"...
&1|21:10:41.455 Done.
&1|21:10:41.455 Removing temporary directory...
&1|21:10:41.455 Done.
&1|21:10:41.455 
&1|21:10:41.455 Translations pulled successfully!
&1|21:10:41.455 i18n_tool generate
&1|21:10:41.455 INFO:i18n.generate:Merging django.po locale ar
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale ar
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale ca
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale ca
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale de_DE
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale de_DE
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale el
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale el
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale es_419
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale es_419
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale eu_ES
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale eu_ES
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale fa_IR
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale fa_IR
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale fr
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale fr
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale he
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale he
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale hi
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale hi
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale id
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale id
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale it_IT
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale it_IT
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale ja_JP
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale ja_JP
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale ka
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale ka
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale ko_KR
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale ko_KR
&1|21:10:41.456 INFO:i18n.generate:Merging django.po locale lt_LT
&1|21:10:41.456 INFO:i18n.generate:Merging djangojs.po locale lt_LT
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale lv
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale lv
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale mn
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale mn
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale pl
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale pl
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale pt_BR
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale pt_BR
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale pt_PT
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale pt_PT
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale ru
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale ru
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale sk
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale sk
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale sw_KE
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale sw_KE
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale th
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale th
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale tr_TR
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale tr_TR
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale uk
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale uk
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale vi
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale vi
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale zh_CN
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale zh_CN
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale zh_TW
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale zh_TW
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale eo
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale eo
&1|21:10:41.457 INFO:i18n.generate:Merging django.po locale rtl
&1|21:10:41.457 INFO:i18n.generate:Merging djangojs.po locale rtl
&1|21:10:41.458 INFO:i18n.generate:Merging django.po locale en
&1|21:10:41.458 INFO:i18n.generate:Merging djangojs.po locale en
&1|21:10:41.458 INFO:i18n.execute:Executing in . ...
&1|21:10:41.458 INFO:i18n.execute:django-admin compilemessages -v0
&1|21:10:41.458 INFO:i18n.generate:Copying mapped locale /edx/app/edxapp/edx-platform/conf/locale/zh_CN/LC_MESSAGES to /edx/app/edxapp/edx-platform/conf/locale/zh_HANS/LC_MESSAGES
&1|21:10:41.458 paver i18n_compilejs
&1|21:10:41.458 ---> pavelib.i18n.i18n_compilejs
&1|21:10:41.458 ---> pavelib.prereqs.install_prereqs
&1|21:10:41.458 ---> pavelib.prereqs.install_node_prereqs
&1|21:10:41.458 rm -rf common/static/common/js/vendor/ common/static/common/css/vendor/
&1|21:10:41.458 rmdir common/static/common/css || true
&1|21:10:41.458 
&1|21:10:41.458 
&1|21:10:41.458 Captured Task Output:
&1|21:10:41.458 ---------------------
&1|21:10:41.458 
&1|21:10:41.458 ---> pavelib.i18n.i18n_compilejs
&1|21:10:41.458 ---> pavelib.prereqs.install_prereqs
&1|21:10:41.458 ---> pavelib.prereqs.install_node_prereqs
&1|21:10:41.458 rm -rf common/static/common/js/vendor/ common/static/common/css/vendor/
&1|21:10:41.458 rmdir common/static/common/css || true
&1|21:10:41.458 Traceback (most recent call last):
&1|21:10:41.458   File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/paver/tasks.py", line 201, in _run_task
&1|21:10:41.458     return do_task()
&1|21:10:41.458   File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/paver/tasks.py", line 197, in do_task
&1|21:10:41.458     task()
&1|21:10:41.458   File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/paver/tasks.py", line 333, in __call__
&1|21:10:41.458     retval = environment._run_task(self.name, self.needs, self.func)
&1|21:10:41.458   File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/paver/tasks.py", line 219, in _run_task
&1|21:10:41.458     return do_task()
&1|21:10:41.458   File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/paver/tasks.py", line 198, in do_task
&1|21:10:41.458     return func(**kw)
&1|21:10:41.458   File "/edx/app/edxapp/edx-platform/pavelib/utils/timer.py", line 40, in timed
&1|21:10:41.458     return wrapped(*args, **kwargs)
&1|21:10:41.459   File "/edx/app/edxapp/edx-platform/pavelib/prereqs.py", line 348, in install_prereqs
&1|21:10:41.459     install_node_prereqs()
&1|21:10:41.459   File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/paver/tasks.py", line 333, in __call__
&1|21:10:41.459     retval = environment._run_task(self.name, self.needs, self.func)
&1|21:10:41.459   File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/paver/tasks.py", line 219, in _run_task
&1|21:10:41.459     return do_task()
&1|21:10:41.459   File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/paver/tasks.py", line 198, in do_task
&1|21:10:41.459     return func(**kw)
&1|21:10:41.459   File "/edx/app/edxapp/edx-platform/pavelib/utils/timer.py", line 40, in timed
&1|21:10:41.459     return wrapped(*args, **kwargs)
&1|21:10:41.459   File "/edx/app/edxapp/edx-platform/pavelib/prereqs.py", line 197, in install_node_prereqs
&1|21:10:41.459     prereq_cache("Node prereqs", ["package.json", "package-lock.json"], node_prereqs_installation)
&1|21:10:41.459   File "/edx/app/edxapp/edx-platform/pavelib/prereqs.py", line 112, in prereq_cache
&1|21:10:41.459     install_func()
&1|21:10:41.459   File "/edx/app/edxapp/edx-platform/pavelib/prereqs.py", line 165, in node_prereqs_installation
&1|21:10:41.459     raise Exception(f"npm install failed: See {npm_log_file_path}")
&1|21:10:41.459 Exception: npm install failed: See /edx/app/edxapp/edx-platform/test_root/log/npm-install.log

It appears that the Atlas-specific branch of pull_translations ran successfully but the npm install in the paver i18n_compilejs part of the recipe failed. I think the rmdir error log I saw earlier is a red herring -- that's line 147, but the exception is from line 165, which is from an npm ci call.