Because
* The makefile depends on /bin/bash to run correctly
* That is not the default on all environments
This commit
* Explicitly sets SHELL = /bin/bash in the Makefile
Because
* It would save time if we push the docker build layers from circleci to dockerhub to reuse locally
This commit
* Uses the new buildkit --cache-from flag to pull in build layers from dockerhub when applicable
* Builds all stages and pushes them with their layers to dockerhub on every merge to main
* Configures local builds to pull those layers from dockerhub
* Removes the build circle stage since each circle task will now be able to pull from dockerhub rather than the local circle docker cache
Because
* We need to manually address security warnings created by dependabot
* We need to perform dependabot duty on both mozilla/experimenter and mozilla/experimenter-docs
* We can now automatically approve dependabot PRs
This commit
* Adds instructions to contributing.md for
* Addressing security warnings
* Addressing dependabot prs in both mozilla/experimenter and mozilla/experimenter-docs
* Approving dependabot PRs automatically
Because
* Rather than approving each dependabot pr by hand, it'd be handy to just do them all at once with the github cli
This commit
* Adds a makefile command to approve all dependabot prs
Because:
* 0.0001 is a valid value that users can save, but the "Ready for review" validation errors show this to be an error
This commit:
* Adds a custom population_percent validation method to check for a min value rather than rely on min_value
Because
* We want updates to live experiments to be triggered by users manually
* This only current live update is pausing an experiment
* In the future we will support updating other fields for live experiments
This commit
* Removes the automatically triggered pause update logic
* Refactors the live update kinto logic to be triggered by publish status the same way launch/end are
* Refactors the V5 API to look at published_dto to determine if enrollment is ended
* Updates the NimbusExperimentFactory to update published_dto after each live update
* Updates the kinto diagrams to include setting is_paused from the UI to make frontend integration clearer for the current end enrollment flow
Because:
* Users were not sure if total duration included the enrollment period
This commit:
* Adds a tooltip displaying the same copy for "Experiment duration" on the Audience page and "Total duration" in SummaryTimeline
Because
* It will also be helpful to inspect all isolation groups and their assigned bucket ranges, not just per experiment
* They should be read only
This commit
* Adds isolation group directly to the admin as read only
Because
* Using a global to store the version so we don't load the file twice can lead to non deterministic stateful behaviour such as state persisting across tests
* Manifests in the Django test runner but not the pytest runner, but I suspect that might be related to the thread scheduling and memory locality
This commit
* Uses the builtin python functools cache which explicitly allows clearing between tests
Because
* It will be helpful in some cases to inspect the assigned bucket ranges/isolation groups for an experiment
* They should never be edited by hand since they are always automatically assigned by the bucket allocator
This commit
* Displays the bucket and isolation groups assigned to an experiment in the nimbus experiment admin as read only
Because
* As Docker continues to update and change the semantics of its commands, we must update the Makefile to adapt
* Attempting to kill or remove already stopped/removed container entries can exit non-zero
This commit
* Suppresses non zero exit codes from kill/rm docker compose commands
Because
* I wanted to try a github auto merge action
* It didn't work
* Mozilla org allows only github or mozilla authored actions so we'd have to write our own
This commit
* Reverts adding the auto merge action
Because
* It would be handy if dependabot prs that pass CI could be automatically merged
This commit
* Adds a github action that will automatically approve dependabot prs
Because
* We want to reduce the number of dependabot prs while staying as up to date as possible
* We want to reduce the number of dependabot prs that break and require manual intervention
This commit
* Ignores patch/major updates, allowing only minor updates
Because
* We should be able to decrease the celery task timeouts so speed up the integration tests
This commit
* Turns them down to 5s to update and 10s to timeout