CI: Add i18n verification step (#69384)
* Add i18n verification step * Add check for extracted translations * Run extract * Add newline for pseudo * Format JSON output with prettier * Print file diff * Actually run make drone * Only deo git diff on locales * Update error message * Verify that step fails on dynamic phrases * Verify that it passes when fixed * Verify that dynamic phrase fails, for real this time * Extract error messages * Change echo * Fix string format * Try double escaping * Escape for Drone substitution * Update character escape * Remove dynamic phrase * Verify multiple keys * Remove double keys * Readd en locale because of reasons * Undo changes * Format lint_frontend.star * Update error message * Update .drone.yml * Add quotes for echo * Verify fail to extract * Fix diff stat command * Reset footer changes
This commit is contained in:
@@ -775,11 +775,34 @@ def lint_frontend_step():
|
||||
"commands": [
|
||||
"yarn run prettier:check",
|
||||
"yarn run lint",
|
||||
"yarn run i18n:compile", # TODO: right place for this?
|
||||
"yarn run typecheck",
|
||||
],
|
||||
}
|
||||
|
||||
def verify_i18n_step():
|
||||
extract_error_message = "\nExtraction failed. Make sure that you have no dynamic translation phrases, such as 't(\\`preferences.theme.\\$${themeID}\\`, themeName)' and that no translation key is used twice. Search the output for '[warning]' to find the offending file."
|
||||
uncommited_error_message = "\nTranslation extraction has not been committed. Please run 'yarn i18n:extract', commit the changes and push again."
|
||||
return {
|
||||
"name": "verify-i18n",
|
||||
"image": build_image,
|
||||
"depends_on": [
|
||||
"yarn-install",
|
||||
],
|
||||
"commands": [
|
||||
"yarn run i18n:extract || (echo \"{}\" && false)".format(extract_error_message),
|
||||
# Verify that translation extraction has been committed
|
||||
'''
|
||||
file_diff=$(git diff --dirstat public/locales)
|
||||
if [ -n "$file_diff" ]; then
|
||||
echo $file_diff
|
||||
echo "{}"
|
||||
exit 1
|
||||
fi
|
||||
'''.format(uncommited_error_message),
|
||||
"yarn run i18n:compile",
|
||||
],
|
||||
}
|
||||
|
||||
def test_a11y_frontend_step(ver_mode, port = 3001):
|
||||
"""Runs automated accessiblity tests against the frontend.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user