Because
- Docker's 'links' feature has been deprecated and is no longer
recommended for use
This commit
- Replaces all occurrences of 'links' with 'depends_on' in
docker-compose files
Fixes#10592
Co-authored-by: Rana Al-Khulaidi <ralkhulaidi@FQC47J6GCH.local>
Because
* We're starting a new UI for Nimbus using Django Views/Forms/Templates
* Let's collect all the templates, static assets, views, tests in one
folder so it's easier to collect and find things
This commit
* Moves all the new UI folders into nimbus_ui_new
fixes#10542
Because
* Building Cirrus can be time consuming
* Cirrus is not necessary for many integration tests or local workflows
* We can add a flag to enable/disable cirrus to speed up the integration
tests or local workflows that don't involve Cirrus
This commit
* Adds a flag to enable/disable Cirrus in the Makefile
* Sets the flag automatically for all Cirrus make commands
* Sets the flag for Cirrus integration tests
fixes#9910
Because:
- #9694 broke integration tests;
This commit
- reverts #9694; and
- adds an explicit pull of our integration test image in our CI
workflow.
Fixes#9707
Because
- we don't want to manually build application-services megazords
ourselves for each container; and
- application-services publishes megazord artifacts on Taskcluster
This commit
- adds a new as-builder docker container to download cirrus and nimbus
megazords with the appropriate binaries for the platform as Python
packages;
- updates the cirrus and experimenter containers to copy the megazords
from the as-builder container;
- updates cirrus and experimenter to refer to the new megazord packages;
- updates cirrus to be based on Debian Bullseye so it can use the
generated binaries; and
- updates the Dockerfile-rust-image container to be built on top of
as-builder in CI.
Because
- We want to test Cirrus end to end with the local remote setting,
including fml and experimenter to launch an experiment for the Demo app
This commit
- Integrate fml, remote settings, experimenter, cirrus to demo app
- Fixes RS pushing to web
PS: currently it uses the static value for client and context, in the
next ticket work, we will add an option in the frontend app to set the
client value and context
https://github.com/mozilla/experimenter/issues/9288fixes#9265
Because
- We want to test cirrus end to end
This commit
- Introduces demo app with frontend and server
- Make command to build and run the demo app- `make build_demo_app`
`make run_demo_app`
- The frontend of the Demo App is accessible at
[http://localhost:8080](http://localhost:8080)
- The backend of the Demo App is accessible at
[http://localhost:3002](http://localhost:3002)
ps: FML and cirrus integration will come in different PR
fixes#9243fixes#9244
Because
- the new 'history' page implementation requires tailwind css as a
dependency
This commit
- adds tailwind css in to the project by using the django-tailwind
package
Because
- We use various configs and commands for the Cirrus
This commit
- Update readme to help users to understand what configs value is needed
to set up cirrus
- Explains make commands related to Cirrus
Also removes the path from docker , can be configured in `.env` itself
closes#8501
Because
- To calculate the feature config based on the provided `enrolled
partial configuration`, we need SDK to help us to evaluate `feature
configurations` that can be used by the client to set features value
This commit
- Integrate `nimbus_fml` library
- Used to calculate the feature configurations
- test cases to support the changes
Because
- We want to use Nimbus SDK (python bindings) to compute enrollment when
provided context
This commit
- Add docker instructions to get build for python
- uses Cirrus client to calculate enrollment
- Test cases to verify changes
closes#8802
Becuase
* We were copying the entire experimenter repo into the cirrus container
* The cirrus container only needs the cirrus files
This commit
* Only copies the cirrus files into the cirrus container
* Removes unnecessary top level python module files and updates import
paths
* Updates all path references
* Build cirrus container on every cirrus make command
* Remove duplicate cirrus entry from test compose file
Co-authored-by: Yashika Khurana <yashikakhuranayashika@gmail.com>
Because:
* Volumes weren't being updated to allow for fastAPIs reload feature to
work correctly
This Commit:
* Fixes the docker-compose and Dockerfile so that volumes will update
correctly.
Because
- The documentation in the `experimenter/experimenter/docs` folder
applies to Nimbus as a whole
This commit
- Moves that docs folder to the repository root
- Updates url paths in relevant docs
---------
Co-authored-by: Jared Lockhart <119884+jaredlockhart@users.noreply.github.com>
Because
- We want to add Cirrus to the experimenter repo
This commit
- Set up the cirrus server and requirements
- Set up Dockerfile and include cirrus in docker-compose file
- To run the cirrus server- use command `make cirrus_up`
Because
* The latest dockerhub image for remote settings is breaking and won't
start
This commit
* Hard codes the last working remote settings tag 30.1.1
Because
* legacy-ui is only used in legacy
This commit
* Moves legacy-ui to legacy
Co-authored-by: yashika-khurana <104033388+yashika-khurana@users.noreply.github.com>
Because
* The remote settings team migrated to a different dockerhub account
* We've been using an out of date remote settings version for local dev
This commit
* Updates local dev to the latest remote settings account/version
* fix#7185 chore(project): update local dev authentication for Jetstream
* update env vars for integration; add troubleshooting tip
* add gcp project access info
Because
* The legacy workflow is in maintenance only mode and has not had any changes or failures in over a year
This commit
* Moves the legacy tests out of make check but preserves them in make check_legacy
* Moves the legacy dev services out of make up but preserves them in make up_legacy
* Removes the integration_legacy job from circle
Because
* Running rm -Rf as part of your build process should be concerning for anyone
This commit
* Moves media files into a docker volume and never exposes them to the host filesystem, and they will get reset automatically in make refresh
Because
* Updates to remote settings can possibly break our integration tests
This commit
* Locks the remote settings docker image to the last working version
* Because:
* We would like to have reportlog and stats displayed in the frontend for consumption
This commit:
* add a frontend page /reporting
* adds csv export functionality to reportlogs and stats
* feedback changes
* feedback changes
* changed reporting title to h3
* move templates
* feedback changes
* formatting
* docs
Because
* We are now migrating all visualization work out of rapid and into nimbus
* All of the legacy/core ui is in maintenance mode
* Tests take up a lot of circle credits
This commit
* Disables all but the end to end integration tests for the legacy workflow
* Disables all of the rapid/visualization js tests/linting
* Disables the rapid/visualization dev yarn processes
* Decreases the size of the make check circle instance
* This should make the local dev lighter, make our tests faster, and reduce circle usage
Because
* It would be nice to run the storybook publishing in parallel, and
* It would be nice to have a published storybook for a PR even if it hasn't yet got passing tests or complete test coverage
This commit
* Moves storybook publishing to a separate circle ci task
Because
* We split the docker image into two images, one for local dev and one for deploying to prod so that the prod one would be small ~100mb
* We should find some way to test that the deploy image is working correctly
* A good candidate is to run the integration tests against it
This commit
* Adds a new make up_prod command that sets up an environment that more closely mirrors prod ie
- Use the prod image
- Disable all the yarn watchers
* Reorganizes the dockerfile to move frontend asset building out of the dev container to increase docker cache hits for local dev
Because
* Recently changed the way assets are grouped I accidentally broke the way we isolate built assets to the containers
This commit
* Catches all built asset paths for legacy and nimbus uis and isolates them to shared volumes in the containerized dev environment
Because
* We now have 4 different frontend builds we should better organize where they are hosted and stored to disambiguate import paths
This commit
* Uses /static/ as the root path for all static assets for legacy and nimbus
* Explicitly copies only the built assets of each into /served/ rather than all source
* Updates import paths of affected assets in legacy
* Fixes a bug in the volumes_rm command
* Removes legacy unused served and asset volumes from docker compose
* Removes legacy unused images
* Removes legacy unused project templates
* feat(nimbus-ui): Init nimbus-ui with CRA Typescript, remove cruft, add tests, linting, workspace, README"
* Add optional label parameter to babel plugins for core
* Copy nimbus-ui into container before yarn build commands
* Only eslint ts source files
* Use container paths for nimbus-ui node_modules and built assets
* Upgrade TS version to latest
* Install eslint dev dependencies so we can lint outside react-scripts
* Rebuild yarn.lock file
* Use jsdom-sixteen jest test env for 'core'
* Use jsdom-sixteen jest test env for 'rapid'
* fix yarn deps issue, silence babel warning
* CI=yes not CI=true
* Add MPL license to missed file and add newline to package.json
* Fix dependabot spacing
* Move testing lib to dev dep instead of dep
* Fix double quotes in docker compose
Co-authored-by: Jared Lockhart <119884+jaredlockhart@users.noreply.github.com>
Co-authored-by: Jody Heavener <j.heavener@gmail.com>
feat: move dev containers to host network
Because:
* allow processes on host machine (django runserver, yarn watcher) to talk to containerized processes
* more flexibility for dev environments to run combinations of local and containerized processes
This commit:
* remove network definitions from all compose files
* remove docker-compose-full.yml (used for setting up a complete stack with normandy but isn't used anymore)
* remove unused makefile commands (nobody uses all the individual test/lint commands)
* add new make commands up_db up_django
* update README.md