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

156 Коммитов

Автор SHA1 Сообщение Дата
dataops-ci-bot 576a81bcb6
chore(nimbus): Update application-services (#10189) 2024-02-01 00:36:33 +00:00
Barret Rennie 38f43fc693
feat(nimbus): auto-update application-services (#10182)
Because:

- we have standardized on using a single version of application-services
  across all Experimenter, Cirrus, and integration tests; and
- we do not want to manually manage updating this version

This commit:

- adds a CI task to open a new PR for new application-services
  nightlies.

Fixes https://github.com/mozilla/experimenter/issues/9688
2024-01-31 22:19:56 +00:00
Barret Rennie 50aac87c01
feat(nimbus): Use pre-built A-S in Cirrus and Experimenter (#10151)
feat(nimbus): Use pre-built A-S in Cirrus and Experimenter

Because:

- our integration tests have been updated to use pre-built
  application-services artifacts;
- the Cirrus and Experimenter Dockerfiles are currently building
  application-services from source;
- Cirrus was using a Debian buster (oldoldstable); and
- Cirrus and Experimenter were using a pinned minor version of Python,
  which prevents them from getting security upgrades in minor patches.

This commit:

- updates the Cirrus and Experimenter Dockerfiles to reference the
  `experimenter:megazords` image, which contains the pre-built binaries;
- updates Cirrus to use a Debian bullseye (oldstable) image; and
- updates Cirrus and Experimenter to not pin the minor verison of Python
  (3.11.2 to 3.11).

Fixes #10150
2024-01-30 21:08:02 +00:00
Barret Rennie a9cceb323c
feat(nimbus): Upgrade sdk integration tests to modern application-services (#10148)
Because

- The sdk integration test image was stuck on application-services
  v97.5.1 due to build system changes, which prevented landing any new
  targeting using new targeting attributes from v98 onwards.
- The current system of periodically pushing a integration test image
  and pulling that pre-built image in tests lead to headaches and
  issues.
- I discovered several oddities in the current
  integration-test-nimbus-rust setup (specifying a webdriver driver,
  sudo commands that never ran because sudo was not installed).
- The new application services has a very different NimbusClient
  interface from the one currently used in tests.

This commit

- Adds a `experimenter:megazords` container, which is responsible for
  downloading a tagged nightly of the Cirrus and Nimbus-Experimenter
  megazords.
- Adds a new `experimenter:integration-tests` container, which takes the
  place of the old "nimbus-rust-image" container. This container is very
  barebones, and only includes the application services megazord (copied
  from the other container) and tox.
- Removes the old `Dockerfile-rust-image` and its publishing steps from
  CI.
- Configures our integration tests to build the image on the fly instead
  of pulling a pre-built image from a registry.
- Cleans up a few things in the `test_mobile_targeting.py` suite and
  updates the code to match the new interfaces.
- Updates the `integration_test_nimbus_rust` task to run tox with `-vv`,
  which includes the output of any commands issued.

Fixes #9820
2024-01-26 19:16:00 +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