This changeset makes Bedrock tests use coverage.py once more, but this time via the pytest-cov plugin
The configuration set up ignores a (seemingly) sensible set of files and folders, while also outputting HTML and XML reports, for human and [future] machine enjoyment.
Key changes:
* Config expanded for coverage.py
* Main test-running script updated to invoke pytest with the appropriate coverage-logging options
* Docs updated with a small note.
* Fix dict cache default timeout
* Add fallback strings and checking for translations in template
* Add ftl alias and ftl_lazy for use in py files
* Move git repos and add fluent to l10n_update
* Add percent_translated and required_messages to the l10n object
* Add management commands for converting en-US .lang file and templates
* Add command to convert en-US .lang file to .ftl file
* Using data from above command add a command that will convert a
template to use the .ftl strings
* Update the l10n_update command to update both external l10n repos
* Convert the /mission/ page to Fluent
* Add command to convert .lang translations to .ftl
* Copy en .ftl file when porting translations
* Removes the original string hash comments as well.
* Add Fluent docs.
* Add indentation and key sorting to metadata JSON output
* Add FTL file linting command
* Update mission template for FTL and remove FTL specific template
* Set l10n cache to 10s when DEBUG=True
* Fix and add tests for get_l10n_path
* Fix some style mistakes in docs and code
* Support multiline group comments for required strings
fix#7725, fix#7822, and fix#7726
* [fix bug 1446023] Add iframeless FxA macro on /firstrun.
* Update distribution check to only switch to China re-pack URL if UITour call is successful.
* Add the following params to the token request:
- utm_source (if available)
- utm_campaign (if available)
- form_type (always 'email')
- entrypoint
* Make utm_source required.
* Update docs/comments to clarify Fx 48+ requirement.
* Move from django-pipeline to Gulp for static-assets
* Use Gulp tasks to compile less and sass
* Use Gulp tasks to concatinate files into bundles
* Use Gulp tasks to minify files for deployment
* Use Gulp tasks for development to watch for changes
* Use BrowserSync to serve development static files and refresh the
in-progress page
* Update Docker setup to use multi-stage build
* Update Makefile to build and run the docker setup
* Update docs to recommend Docker-based development
* Update deployment and testing to also use the Makefile
* Add rebuild of SASS bundles when library files change
* Add an intermediate build directory just for LESS and SASS
* Avoid issues with ambiguous imports when .css and .scss in the same
directory
* Set deployment docker image in git env var script
* Convert from python-decouple to everett for config loading
* Gives us more flexibility on loading waffle switches
and funnelcake definitions as well as potentially new
config types in future.
* Create a model for storing configs
* Create a management command for loading configs from git repo
Relies on mozmeao/www-config#94 for loading configs.
A.K.A The Sqlitening!
This removes bedrock's depenence on a database server and moves to
downloading pre-built sqlite database files from s3 on a schedule. There
is also a clock process that will update and upload such a database on a
schedule as well. This should mean more stability, speed, and
reliability for bedrock, as well as quicker development due to easy to
download pre-populated databases.
Converts community data (external files) updates to use
git just like we do for release notes and security advisories.
These files are already in a git repo together.
Will allow us to simplify bedrock by not installing RNA.
Remove:
* django-mozilla-rna
* django-restframework
* django-synctool
Do markdown conversion on load of release: Helps with cache and perf.
Add tests for new release models
Add a management command to generate a sitemap and update deployment
to generate and include it in the builds.
Thanks to @kyoshino in PR #1333 for most of the basis of this work.
* More simple and streamlined base image build file
* Use a builder image to decrease the size and security footprint of running containers
* Make demos more prod-like
* Add l10n for prod builds via docker commit
* Specifically include only those files required for the running site
* Tests in circleci now use the same docker build and test scripts
* Add lock for docker image building per git hash
* Add environment variable support to jenkins.yml
* Add headless and firefox integration tests to prod deploys
* Run integration smoke tests before deployment
introduce .idea folder in gitignore for those who edit in jetrains IDEs
enhance grunt usage + use of JSONLint tool to validate JSON files
unused parameters + unneeded comma + filter loop from enumerables inherited properties
enhancements to gruntfile suggested by Alex Gibson
fix code style
* Add credits CSV file processing.
* Add FAQ and Credits templates.
* Add cron command for updating credits.csv from svn.
* Add new app for updating external files.
* Add updating external files to deployment.
* Add apache rule and cache headers.
* Add support for last-modified header based on date from web server.