Граф коммитов

71 Коммитов

Автор SHA1 Сообщение Дата
Jared Lockhart e483f54bba
chore(nimbus): replace tailwind with bootstrap (#10653)
Because

* We investigated using tailwind for the new nimbus ui
* It turns out tailwinds utility class pattern is more verbose than
expected
* We'll just continue to use bootstrap since it's worked well for
previous uis in experimenter

This commit

* Removes tailwind
* Adds bootstrap5
* Reimplements the new history page in bootstrap5

fixes #10543


![image](https://github.com/mozilla/experimenter/assets/119884/611ffb82-08b3-4d48-b6ab-b1ffc3b34273)


![image](https://github.com/mozilla/experimenter/assets/119884/0d9e0acd-2e92-4841-b4ed-4600a4d75b5e)
2024-05-07 15:44:28 +00:00
Rana Al-Khulaidi 649c9ec6e0
refactor(project): Update docker-compose files to use depends_on (#10649)
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>
2024-05-03 15:46:17 +00:00
Jared Lockhart 14a9536a9d
chore(nimbus): move new ui into nimbus_ui_new (#10544)
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
2024-04-15 18:06:14 +00:00
Jared Lockhart cc0228eeec
chore(project): add a flag to disable/enable cirrus (#9916)
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
2023-12-07 19:50:36 +00:00
Barret Rennie ba85d17570
bug(nimbus): Fix integration tests by reverting #9694 (#9712)
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
2023-11-09 21:23:19 +00:00
Barret Rennie 338dc7bdd6
feat(nimbus): Fetch A-S megazords from Taskcluster (#9694)
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.
2023-11-08 18:40:54 +00:00
Yashika Khurana d73217d069
fix #9265 feat(cirrus): Demo app integration with fml and cirrus (#9289)
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/9288

fixes #9265
2023-08-18 18:46:05 +00:00
Yashika Khurana 636b828f17
fix #9243 feat(cirrus): Demo app frontend and server (#9250)
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 #9243
fixes #9244
2023-08-11 17:35:58 +00:00
Avishkar 157024b178
Fixes #8886 feat(nimbus):change adds tailwind css support to the project (#9061)
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
2023-07-22 04:34:30 +00:00
Jared Lockhart 6413e02e43
fix #9126 chore(project): update to postgres14 (#9127)
Because

* Django 4 requires postgres 14
* Postgres 9.6 is now EOL

This commit

* Updates to Postgres 14
2023-07-14 20:30:43 +00:00
Yashika Khurana 1db0d8668b
fix #8501 docs(cirrus): Update readme for cirrus (#9029)
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
2023-06-26 18:17:09 +00:00
Yashika Khurana 3f60980528
fix #8874 feat(cirrus): Integrate nimbus fml ✍️ (#8937)
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
2023-06-09 20:03:29 +00:00
Yashika Khurana d22ed93306
fix #8802 feat(cirrus): Integrate python nimbus sdk (#8871)
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
2023-05-25 00:29:04 +00:00
Yashika Khurana 145459a887
fix #8861 chore(cirrus): Move env file content (#8862)
Because

- Cirrus uses .env file to set config values

This commit

- Move the .env file content to root directory

closes #8861
2023-05-19 16:12:49 +00:00
Jared Lockhart c5515231aa
fix #8817 chore(cirrus): only copy cirrus files into cirrus container (#8821)
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>
2023-05-15 16:49:52 +00:00
Benjamin Forehand Jr 8278627418
Fixes #8770 bug(cirrus): Fix docker volumes to allow for reloading during cirrus dev work (#8771)
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.
2023-05-03 19:07:29 +00:00
Charlie fd3e600750
Fix #8495 chore(nimbus): move docs folder to repository root (#8496)
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>
2023-03-15 13:47:32 -07:00
Yashika Khurana 7855bbf1eb
fix #8360 feat(nimbus): Change root folder app to experimenter (#8375)
Because

- We will be adding cirrus in experimenter

This commit

- Rename `app` to `experimenter` and make necessary changes
2023-03-08 13:36:51 -08:00
Yashika Khurana 47bb185484
fix #8377 feat(cirrus): Initial commit (#8384)
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`
2023-03-06 10:45:53 -08:00
Jared Lockhart 4c83d77cc4
Revert Revert fix #8270 bug(project): use last working remote settings tag (#8271) (#8274) (#8277)
Because

* Remote settings is having a bad day
* It's still not starting properly

This commit

* Goes back to 30.1.1
2023-02-07 15:05:12 -05:00
Jared Lockhart 8f3a74e004
Revert fix #8270 bug(project): use last working remote settings tag (#8271) (#8274)
Because

* Remote settings latest tag is now functioning correctly

This commit

* Reverts fixing remote settings to the last known good tag
2023-02-07 13:47:15 -05:00
Jared Lockhart b04962027b
fix #8270 bug(project): use last working remote settings tag (#8271)
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
2023-02-07 11:40:45 -05:00
Jared Lockhart d339bfdb79
fix #7341 chore(project): move legacy-ui to legacy app (#7348)
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>
2022-06-02 10:12:43 -04:00
Jared Lockhart b80d5a07f0
fix #7310 chore(nimbus): update to latest remote settings (#7327)
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
2022-05-27 11:53:29 -04:00
Mike Williams 20aa3cc93f
fix #7185 chore(project): update local dev authentication for Jetstream (#7218)
* fix #7185 chore(project): update local dev authentication for Jetstream

* update env vars for integration; add troubleshooting tip

* add gcp project access info
2022-05-04 15:07:26 -04:00
Elise Richards e71193fe12
Fixes #7167 refactor(reporting): Deprecate existing reporting infra (#7227) 2022-05-04 13:36:33 -04:00
Jared Lockhart 597b261d2d
fix #6828 chore(project): disable legacy tests and dev services (#6829)
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
2022-01-03 14:43:53 -08:00
Jared Lockhart 5645b73ccb
fix #6542 chore(nimbus): store media files in docker volume (#6543)
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
2021-10-12 17:06:06 -07:00
Jared Lockhart 576550f991
fix #6536 bug(nimbus): lock remote settings version (#6537)
Because

* Updates to remote settings can possibly break our integration tests

This commit

* Locks the remote settings docker image to the last working version
2021-10-12 10:14:01 -07:00
Tif Tran c2d8fa5bb8
fixes #5865 feat(reporting): Add reportlog frontend (#5897)
* 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
2021-08-12 11:35:41 -07:00
Jared Lockhart 262cf1de0a
chore(project): disable deprecated tests (#4043)
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
2020-11-19 12:14:29 -05:00
Jared Lockhart 1026dd0f6a
fix #3894 chore(nimbus): publish storybooks in separate ci task (#3895)
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
2020-11-04 20:55:12 -05:00
Jared Lockhart 08c96db5d2
fix #3687 chore(project): run integration tests against deploy image (#3822)
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
2020-10-26 12:26:09 -04:00
Jared Lockhart 580e2df2d9
fix #3707 chore(project): isolate assets to containers (#3709)
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
2020-10-09 09:52:59 -04:00
Jared Lockhart e5e526e73e
fix #3692 chore(project): reorganize static asset paths (#3693)
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
2020-10-07 17:12:56 -04:00
Jared Lockhart d6a36d915b
fix #3638 chore(project): Update celery commands (#3678)
Becuase

* Celery 5.0 changed their invocation parameters

This commit

* Updates the celery commands to use the new log directives
2020-10-06 13:14:34 -04:00
Lauren Zugai 950fb72b95
Add nimbus-ui dev server to docker-compose file (#3547)
* Add nimbus-ui dev server to docker-compose file

* Remove console clearing, remove polling env option
2020-09-30 18:09:21 -05:00
Lauren Zugai 091b356df5
feat(nimbus-ui): Init nimbus-ui with CRA Typescript, remove cruft, add tests, linting, workspace, README (#3519)
* 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>
2020-09-24 12:30:15 -05:00
Jody Heavener f6dd9c9e76
Move legacy UI to its new home in preparation for Nimbus UI work (#3534) 2020-09-24 11:00:48 -04:00
Marina Samuel 9bc74fe6d0
Fix #3509: Add a visualization package wrapped in a feature flag. (#3419) 2020-09-22 12:02:49 -04:00
Jared Lockhart 9336d4faf8
fix #3411 refactor(docker): move dev containers to host network (#3420)
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
2020-09-11 17:12:46 -04:00
Jared Lockhart c49cad10c3
Docker ignore .cache folders fixes #2891 (#2892) 2020-06-25 15:56:28 -04:00
Jared Lockhart c641f346d9
Add remote settings to docker compose fixes #2673 (#2803)
* Add remote settings to docker compose fixes #2673

* Prod uses messaging-experiments
2020-06-15 16:28:20 -04:00
R&D 2abcfc19eb
Add workspace node_modules dirs to app service volumes (#2723) 2020-06-03 15:12:43 -04:00
R&D 4915a9824d
Add TS/React skeleton for Rapid Experiments (#2712) 2020-06-02 14:36:10 -04:00
Jared Lockhart dbd01ee183
Fix yarn watcher for local dev fixes #2443 (#2449)
* Fix yarn watcher for local dev fixes #2443

* Also gotta catch the app container
2020-03-26 16:20:26 -04:00
Jared Lockhart 8d0bce81a0
Explicitly set postgres password and version fixes #2291 (#2292) 2020-02-19 13:30:44 -05:00
Jared Kerim 78a5083206
Move assets inside containers to fix yarn watch fixes #1869 (#1913)
* Move assets inside containers to fix yarn watch fixes #1869

* Fix integration tests later
2019-11-15 16:20:23 +01:00
Jared Kerim 3856dd1b69 Use built container node_modules fixes #1865 (#1866) 2019-10-31 12:21:47 -07:00
Jared Kerim f3de7fd026
Add public network to app container fixes #1848 (#1858) 2019-10-31 13:45:29 -04:00