2019-08-12 18:44:41 +03:00
|
|
|
version: 2.1
|
2022-07-28 00:04:57 +03:00
|
|
|
orbs:
|
2023-10-24 23:08:24 +03:00
|
|
|
gh: circleci/github-cli@2.2
|
|
|
|
gcp-cli: circleci/gcp-cli@3.1.1
|
2024-06-24 21:56:10 +03:00
|
|
|
android: circleci/android@2.5.0
|
2024-08-01 20:27:46 +03:00
|
|
|
macos: circleci/macos@2.5.1
|
2023-06-12 22:13:07 +03:00
|
|
|
commands:
|
|
|
|
check_file_paths:
|
|
|
|
description: "Check file paths"
|
|
|
|
parameters:
|
|
|
|
paths:
|
|
|
|
type: string
|
|
|
|
default: ""
|
|
|
|
steps:
|
|
|
|
- run:
|
|
|
|
name: Check file paths
|
|
|
|
command: |
|
2023-09-22 20:12:30 +03:00
|
|
|
# Check if CIRCLE_BRANCH is "main" and skip the check
|
|
|
|
if [ "$CIRCLE_BRANCH" == "main" ]; then
|
|
|
|
echo "On main branch. Skipping path checks."
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
diff_output=$(git diff --name-only main HEAD)
|
|
|
|
echo "Changed files:"
|
|
|
|
echo "$diff_output"
|
|
|
|
|
2024-02-12 20:58:17 +03:00
|
|
|
if echo "$diff_output" | grep -E '<< parameters.paths >>|^[^/]+$|^.circleci/|application-services/'
|
2023-06-12 22:13:07 +03:00
|
|
|
then
|
2023-09-22 20:12:30 +03:00
|
|
|
echo "Changes detected in << parameters.paths >> or .circleci or root directory. Running tests and linting."
|
2023-06-12 22:13:07 +03:00
|
|
|
else
|
2023-09-22 20:12:30 +03:00
|
|
|
echo "No changes in << parameters.paths >> or .circleci or root directory. Skipping tests and linting."
|
2023-06-12 22:13:07 +03:00
|
|
|
circleci-agent step halt
|
|
|
|
fi
|
2023-09-22 20:12:30 +03:00
|
|
|
|
2023-11-08 01:04:05 +03:00
|
|
|
docker_login:
|
|
|
|
description: "Login to Docker"
|
2023-09-21 18:29:12 +03:00
|
|
|
parameters:
|
|
|
|
username:
|
|
|
|
type: string
|
|
|
|
password:
|
|
|
|
type: string
|
2023-09-15 23:17:24 +03:00
|
|
|
steps:
|
|
|
|
- run: |
|
2023-11-08 01:04:05 +03:00
|
|
|
echo "<< parameters.password >>" | docker login --username << parameters.username >> --password-stdin
|
2023-10-04 02:35:25 +03:00
|
|
|
|
2023-09-19 22:13:51 +03:00
|
|
|
|
2017-05-08 23:52:26 +03:00
|
|
|
jobs:
|
2023-09-22 20:12:30 +03:00
|
|
|
check_experimenter_x86_64:
|
2023-09-15 23:17:24 +03:00
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2023-09-15 23:17:24 +03:00
|
|
|
resource_class: large
|
|
|
|
working_directory: ~/experimenter
|
|
|
|
steps:
|
2020-11-05 04:55:12 +03:00
|
|
|
- checkout
|
2023-06-12 22:13:07 +03:00
|
|
|
- check_file_paths:
|
|
|
|
paths: "experimenter/"
|
2017-05-08 23:52:26 +03:00
|
|
|
- run:
|
2019-08-12 18:44:41 +03:00
|
|
|
name: Run tests and linting
|
2021-04-06 20:36:36 +03:00
|
|
|
command: |
|
2023-06-12 22:13:07 +03:00
|
|
|
cp .env.sample .env
|
2023-06-13 09:23:09 +03:00
|
|
|
make check
|
2023-06-12 22:13:07 +03:00
|
|
|
|
2023-09-22 20:12:30 +03:00
|
|
|
check_experimenter_aarch64:
|
2023-05-16 19:57:55 +03:00
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2023-09-22 20:12:30 +03:00
|
|
|
resource_class: arm.large
|
2023-05-16 19:57:55 +03:00
|
|
|
working_directory: ~/experimenter
|
|
|
|
steps:
|
|
|
|
- checkout
|
2023-09-22 20:12:30 +03:00
|
|
|
- check_file_paths:
|
|
|
|
paths: "experimenter/"
|
2023-05-16 19:57:55 +03:00
|
|
|
- run:
|
|
|
|
name: Run tests and linting
|
|
|
|
command: |
|
|
|
|
cp .env.sample .env
|
|
|
|
make check
|
|
|
|
|
2023-09-22 20:12:30 +03:00
|
|
|
check_cirrus_x86_64:
|
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-22 20:12:30 +03:00
|
|
|
docker_layer_caching: true
|
|
|
|
resource_class: large
|
|
|
|
working_directory: ~/cirrus
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- check_file_paths:
|
|
|
|
paths: "cirrus/"
|
|
|
|
- run:
|
|
|
|
name: Run Cirrus tests and linting
|
|
|
|
command: |
|
2024-01-31 04:44:46 +03:00
|
|
|
make cirrus_check
|
2023-09-22 20:12:30 +03:00
|
|
|
|
|
|
|
check_cirrus_aarch64:
|
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-22 20:12:30 +03:00
|
|
|
docker_layer_caching: true
|
|
|
|
resource_class: arm.large
|
|
|
|
working_directory: ~/cirrus
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- check_file_paths:
|
|
|
|
paths: "cirrus/"
|
|
|
|
- run:
|
|
|
|
name: Run Cirrus tests and linting
|
|
|
|
command: |
|
2024-01-31 04:44:46 +03:00
|
|
|
make cirrus_check
|
2023-09-22 20:12:30 +03:00
|
|
|
|
|
|
|
check_schemas:
|
2023-10-24 23:30:55 +03:00
|
|
|
machine:
|
|
|
|
image: ubuntu-2004:2023.10.1
|
|
|
|
docker_layer_caching: true
|
2023-09-22 20:12:30 +03:00
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- check_file_paths:
|
|
|
|
paths: "schemas/"
|
|
|
|
- run:
|
|
|
|
name: Run Schemas tests and linting
|
|
|
|
command: |
|
|
|
|
make schemas_check
|
|
|
|
|
2023-02-08 20:16:59 +03:00
|
|
|
integration_nimbus_desktop_release_targeting:
|
2022-06-27 23:31:38 +03:00
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2022-11-03 19:18:49 +03:00
|
|
|
resource_class: large
|
2022-06-27 23:31:38 +03:00
|
|
|
working_directory: ~/experimenter
|
|
|
|
environment:
|
2022-07-06 20:04:57 +03:00
|
|
|
FIREFOX_VERSION: nimbus-firefox-release
|
2023-05-18 20:30:05 +03:00
|
|
|
PYTEST_ARGS: -k FIREFOX_DESKTOP -m run_targeting -n 4 --reruns 1
|
2022-08-25 17:30:10 +03:00
|
|
|
MOZ_REMOTE_SETTINGS_DEVTOOLS: 1 # allows us to override and set the remote settings URL
|
2022-06-27 23:31:38 +03:00
|
|
|
steps:
|
|
|
|
- checkout
|
2023-06-12 22:13:07 +03:00
|
|
|
- check_file_paths:
|
|
|
|
paths: "experimenter/experimenter/targeting|experimenter/experimenter/experiments|experimenter/tests"
|
2022-06-27 23:31:38 +03:00
|
|
|
- run:
|
|
|
|
name: Run integration tests
|
|
|
|
command: |
|
|
|
|
cp .env.integration-tests .env
|
2023-04-17 22:52:43 +03:00
|
|
|
make refresh SKIP_DUMMY=1 PYTEST_SENTRY_DSN=$PYTEST_SENTRY_DSN CIRCLECI=$CIRCLECI up_prod_detached integration_test_nimbus PYTEST_ARGS="$PYTEST_ARGS"
|
2023-04-24 21:44:36 +03:00
|
|
|
- store_artifacts:
|
|
|
|
path: ~/experimenter/experimenter/tests/integration/test-reports/report.htm
|
2022-07-28 00:04:57 +03:00
|
|
|
|
2023-02-08 20:16:59 +03:00
|
|
|
integration_nimbus_desktop_beta_targeting:
|
2022-06-27 23:31:38 +03:00
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2022-11-03 19:18:49 +03:00
|
|
|
resource_class: large
|
2022-06-27 23:31:38 +03:00
|
|
|
working_directory: ~/experimenter
|
|
|
|
environment:
|
2022-07-06 20:04:57 +03:00
|
|
|
FIREFOX_VERSION: nimbus-firefox-beta
|
2023-05-18 20:30:05 +03:00
|
|
|
PYTEST_ARGS: -k FIREFOX_DESKTOP -m run_targeting -n 4 --reruns 1
|
2024-09-09 22:08:47 +03:00
|
|
|
FIREFOX_BETA: 1
|
2022-08-25 17:30:10 +03:00
|
|
|
MOZ_REMOTE_SETTINGS_DEVTOOLS: 1 # allows us to override and set the remote settings URL
|
2022-06-27 23:31:38 +03:00
|
|
|
steps:
|
|
|
|
- checkout
|
2023-06-12 22:13:07 +03:00
|
|
|
- check_file_paths:
|
2024-09-06 20:17:23 +03:00
|
|
|
paths: "experimenter/tests/firefox-desktop-beta-build.env"
|
2022-06-27 23:31:38 +03:00
|
|
|
- run:
|
|
|
|
name: Run integration tests
|
|
|
|
command: |
|
|
|
|
cp .env.integration-tests .env
|
2023-04-17 22:52:43 +03:00
|
|
|
make refresh SKIP_DUMMY=1 PYTEST_SENTRY_DSN=$PYTEST_SENTRY_DSN CIRCLECI=$CIRCLECI up_prod_detached integration_test_nimbus PYTEST_ARGS="$PYTEST_ARGS"
|
2023-04-24 21:44:36 +03:00
|
|
|
- store_artifacts:
|
|
|
|
path: ~/experimenter/experimenter/tests/integration/test-reports/report.htm
|
2022-07-28 00:04:57 +03:00
|
|
|
|
2023-02-08 20:16:59 +03:00
|
|
|
integration_nimbus_desktop_nightly_targeting:
|
2022-11-03 19:18:49 +03:00
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2022-11-03 19:18:49 +03:00
|
|
|
resource_class: large
|
|
|
|
working_directory: ~/experimenter
|
|
|
|
environment:
|
|
|
|
FIREFOX_VERSION: nimbus-firefox-release
|
2023-05-18 20:30:05 +03:00
|
|
|
PYTEST_ARGS: -k FIREFOX_DESKTOP -m run_targeting -n 2 --reruns 1
|
2023-02-08 20:16:59 +03:00
|
|
|
UPDATE_FIREFOX_VERSION: true
|
2022-11-03 19:18:49 +03:00
|
|
|
steps:
|
|
|
|
- checkout
|
2023-06-12 22:13:07 +03:00
|
|
|
- check_file_paths:
|
|
|
|
paths: "experimenter/experimenter/targeting|experimenter/experimenter/experiments|experimenter/tests"
|
2022-11-03 19:18:49 +03:00
|
|
|
- run:
|
|
|
|
name: Run integration tests
|
|
|
|
command: |
|
|
|
|
cp .env.integration-tests .env
|
2023-04-17 22:52:43 +03:00
|
|
|
make refresh SKIP_DUMMY=1 PYTEST_SENTRY_DSN=$PYTEST_SENTRY_DSN CIRCLECI=$CIRCLECI up_prod_detached integration_test_nimbus PYTEST_ARGS="$PYTEST_ARGS"
|
2023-04-24 21:44:36 +03:00
|
|
|
- store_artifacts:
|
|
|
|
path: ~/experimenter/experimenter/tests/integration/test-reports/report.htm
|
2023-02-08 20:16:59 +03:00
|
|
|
|
2024-07-18 00:10:29 +03:00
|
|
|
integration_nimbus_remote_settings_launch:
|
2022-11-03 19:18:49 +03:00
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2023-02-08 20:16:59 +03:00
|
|
|
resource_class: large
|
2022-11-03 19:18:49 +03:00
|
|
|
working_directory: ~/experimenter
|
|
|
|
environment:
|
|
|
|
FIREFOX_VERSION: nimbus-firefox-release
|
2024-07-18 00:10:29 +03:00
|
|
|
PYTEST_ARGS: -m remote_settings_launch --reruns 1
|
2022-11-03 19:18:49 +03:00
|
|
|
steps:
|
|
|
|
- checkout
|
2023-06-12 22:13:07 +03:00
|
|
|
- check_file_paths:
|
|
|
|
paths: "experimenter/"
|
2022-11-03 19:18:49 +03:00
|
|
|
- run:
|
|
|
|
name: Run integration tests
|
|
|
|
command: |
|
|
|
|
cp .env.integration-tests .env
|
2023-04-17 22:52:43 +03:00
|
|
|
make refresh SKIP_DUMMY=1 PYTEST_SENTRY_DSN=$PYTEST_SENTRY_DSN CIRCLECI=$CIRCLECI up_prod_detached integration_test_nimbus PYTEST_ARGS="$PYTEST_ARGS"
|
2023-04-24 21:44:36 +03:00
|
|
|
- store_artifacts:
|
|
|
|
path: ~/experimenter/experimenter/tests/integration/test-reports/report.htm
|
2023-02-08 20:16:59 +03:00
|
|
|
|
2024-07-18 00:10:29 +03:00
|
|
|
integration_nimbus_remote_settings_all:
|
2022-11-03 19:18:49 +03:00
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2022-11-03 19:18:49 +03:00
|
|
|
resource_class: medium
|
|
|
|
working_directory: ~/experimenter
|
|
|
|
environment:
|
|
|
|
FIREFOX_VERSION: nimbus-firefox-release
|
2024-07-18 00:10:29 +03:00
|
|
|
PYTEST_ARGS: -k FIREFOX_DESKTOP -m remote_settings_all --reruns 1
|
2021-04-15 00:04:03 +03:00
|
|
|
steps:
|
|
|
|
- checkout
|
2023-06-12 22:13:07 +03:00
|
|
|
- check_file_paths:
|
|
|
|
paths: "experimenter/"
|
2021-04-15 00:04:03 +03:00
|
|
|
- run:
|
|
|
|
name: Run integration tests
|
|
|
|
command: |
|
2021-06-10 20:34:57 +03:00
|
|
|
cp .env.integration-tests .env
|
2023-04-17 22:52:43 +03:00
|
|
|
make refresh SKIP_DUMMY=1 PYTEST_SENTRY_DSN=$PYTEST_SENTRY_DSN CIRCLECI=$CIRCLECI up_prod_detached integration_test_nimbus PYTEST_ARGS="$PYTEST_ARGS"
|
2023-04-24 21:44:36 +03:00
|
|
|
- store_artifacts:
|
|
|
|
path: ~/experimenter/experimenter/tests/integration/test-reports/report.htm
|
2023-02-08 20:16:59 +03:00
|
|
|
|
|
|
|
integration_nimbus_desktop_enrollment:
|
2022-11-03 19:18:49 +03:00
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2023-02-08 20:16:59 +03:00
|
|
|
resource_class: xlarge
|
2022-11-03 19:18:49 +03:00
|
|
|
working_directory: ~/experimenter
|
|
|
|
environment:
|
|
|
|
FIREFOX_VERSION: nimbus-firefox-release
|
2023-05-18 20:30:05 +03:00
|
|
|
PYTEST_ARGS: -k FIREFOX_DESKTOP -m desktop_enrollment --reruns 1
|
2022-11-03 19:18:49 +03:00
|
|
|
UPDATE_FIREFOX_VERSION: true
|
|
|
|
steps:
|
|
|
|
- checkout
|
2023-06-12 22:13:07 +03:00
|
|
|
- check_file_paths:
|
|
|
|
paths: "experimenter/"
|
2022-11-03 19:18:49 +03:00
|
|
|
- run:
|
|
|
|
name: Run integration tests
|
|
|
|
command: |
|
|
|
|
cp .env.integration-tests .env
|
2023-04-17 22:52:43 +03:00
|
|
|
make refresh SKIP_DUMMY=1 PYTEST_SENTRY_DSN=$PYTEST_SENTRY_DSN CIRCLECI=$CIRCLECI up_prod_detached integration_test_nimbus PYTEST_ARGS="$PYTEST_ARGS"
|
2023-02-08 20:16:59 +03:00
|
|
|
no_output_timeout: 30m
|
2023-04-24 21:44:36 +03:00
|
|
|
- store_artifacts:
|
|
|
|
path: ~/experimenter/experimenter/tests/integration/test-reports/report.htm
|
2023-02-08 20:16:59 +03:00
|
|
|
|
2022-11-03 19:18:49 +03:00
|
|
|
integration_nimbus_desktop_ui:
|
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2022-11-03 19:18:49 +03:00
|
|
|
resource_class: large
|
|
|
|
working_directory: ~/experimenter
|
|
|
|
environment:
|
|
|
|
FIREFOX_VERSION: nimbus-firefox-release
|
2023-11-23 23:48:41 +03:00
|
|
|
PYTEST_ARGS: -m nimbus_ui -n 2 --reruns 1
|
2022-11-03 19:18:49 +03:00
|
|
|
steps:
|
|
|
|
- checkout
|
2023-06-12 22:13:07 +03:00
|
|
|
- check_file_paths:
|
|
|
|
paths: "experimenter/"
|
2022-11-03 19:18:49 +03:00
|
|
|
- run:
|
|
|
|
name: Run integration tests
|
|
|
|
command: |
|
|
|
|
cp .env.integration-tests .env
|
2023-04-17 22:52:43 +03:00
|
|
|
make refresh SKIP_DUMMY=1 PYTEST_SENTRY_DSN=$PYTEST_SENTRY_DSN CIRCLECI=$CIRCLECI up_prod_detached integration_test_nimbus PYTEST_ARGS="$PYTEST_ARGS"
|
2023-04-24 21:44:36 +03:00
|
|
|
- store_artifacts:
|
|
|
|
path: ~/experimenter/experimenter/tests/integration/test-reports/report.htm
|
2023-02-08 20:16:59 +03:00
|
|
|
|
|
|
|
integration_nimbus_sdk_targeting:
|
2022-06-07 19:31:50 +03:00
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2022-06-07 19:31:50 +03:00
|
|
|
resource_class: medium
|
|
|
|
working_directory: ~/experimenter
|
|
|
|
steps:
|
|
|
|
- checkout
|
2023-06-12 22:13:07 +03:00
|
|
|
- check_file_paths:
|
|
|
|
paths: "experimenter/experimenter/targeting|experimenter/experimenter/experiments|experimenter/tests"
|
2022-06-07 19:31:50 +03:00
|
|
|
- run:
|
|
|
|
name: Run rust integration tests
|
|
|
|
command: |
|
|
|
|
cp .env.integration-tests .env
|
2024-06-24 21:56:10 +03:00
|
|
|
make refresh SKIP_DUMMY=1 PYTEST_SENTRY_DSN=$PYTEST_SENTRY_DSN CIRCLECI=$CIRCLECI up_prod_detached integration_test_nimbus_rust
|
2023-04-24 21:44:36 +03:00
|
|
|
- store_artifacts:
|
|
|
|
path: ~/experimenter/experimenter/tests/integration/test-reports/report.htm
|
2023-02-08 20:16:59 +03:00
|
|
|
|
2023-11-23 23:48:41 +03:00
|
|
|
integration_nimbus_cirrus:
|
2023-11-03 22:47:01 +03:00
|
|
|
machine:
|
|
|
|
image: ubuntu-2004:2023.10.1
|
|
|
|
docker_layer_caching: true
|
|
|
|
resource_class: large
|
|
|
|
working_directory: ~/experimenter
|
|
|
|
environment:
|
|
|
|
FIREFOX_VERSION: nimbus-firefox-release
|
2023-11-23 23:48:41 +03:00
|
|
|
PYTEST_ARGS: -k DEMO_APP -m cirrus_enrollment --reruns 1
|
2023-11-03 22:47:01 +03:00
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- check_file_paths:
|
|
|
|
paths: "experimenter/"
|
|
|
|
- run:
|
|
|
|
name: Run integration tests
|
|
|
|
command: |
|
|
|
|
cp .env.integration-tests .env
|
2023-12-07 22:50:36 +03:00
|
|
|
export CIRRUS=1
|
2023-11-03 22:47:01 +03:00
|
|
|
make refresh SKIP_DUMMY=1 PYTEST_SENTRY_DSN=$PYTEST_SENTRY_DSN CIRCLECI=$CIRCLECI up_prod_detached integration_test_nimbus PYTEST_ARGS="$PYTEST_ARGS"
|
|
|
|
- store_artifacts:
|
|
|
|
path: ~/experimenter/experimenter/tests/integration/test-reports/report.htm
|
|
|
|
|
2022-08-11 00:24:17 +03:00
|
|
|
integration_legacy:
|
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2022-08-11 00:24:17 +03:00
|
|
|
resource_class: large
|
|
|
|
working_directory: ~/experimenter
|
|
|
|
environment:
|
|
|
|
FIREFOX_VERSION: nimbus-firefox-release
|
|
|
|
steps:
|
|
|
|
- checkout
|
2023-06-12 22:13:07 +03:00
|
|
|
- check_file_paths:
|
|
|
|
paths: "experimenter/"
|
2022-08-11 00:24:17 +03:00
|
|
|
- run:
|
|
|
|
name: Run integration tests
|
|
|
|
command: |
|
|
|
|
cp .env.sample .env
|
2022-09-02 19:14:36 +03:00
|
|
|
make refresh up_prod_detached integration_test_legacy
|
2023-04-24 21:44:36 +03:00
|
|
|
- store_artifacts:
|
|
|
|
path: ~/experimenter/experimenter/tests/integration/test-reports/report.htm
|
2022-06-07 19:31:50 +03:00
|
|
|
|
2024-06-24 21:56:10 +03:00
|
|
|
integration_test_android_fenix:
|
|
|
|
executor:
|
|
|
|
name: android/android-machine
|
|
|
|
resource-class: xlarge
|
|
|
|
tag: default
|
|
|
|
environment:
|
|
|
|
PYTEST_ARGS: --reruns 1
|
|
|
|
steps:
|
|
|
|
- checkout
|
2024-09-06 20:17:23 +03:00
|
|
|
- check_file_paths:
|
|
|
|
paths: "experimenter/tests/firefox-fenix-build.env"
|
2024-08-27 23:41:33 +03:00
|
|
|
- attach_workspace:
|
|
|
|
at: /tmp/experimenter
|
2024-06-24 21:56:10 +03:00
|
|
|
- android/accept-licenses
|
|
|
|
- android/create-avd:
|
|
|
|
avd-name: myavd
|
|
|
|
install: true
|
|
|
|
system-image: system-images;android-34;google_apis;x86_64
|
|
|
|
- android/start-emulator:
|
|
|
|
avd-name: myavd
|
|
|
|
post-emulator-launch-assemble-command: adb devices
|
|
|
|
- run:
|
|
|
|
name: Install APKs
|
|
|
|
command: |
|
2024-08-27 23:41:33 +03:00
|
|
|
adb install /tmp/experimenter/tests/integration/nimbus/android/app-fenix-debug-androidTest.apk
|
|
|
|
adb install /tmp/experimenter/tests/integration/nimbus/android/app-fenix-x86_64-debug.apk
|
2024-06-24 21:56:10 +03:00
|
|
|
- run:
|
|
|
|
name: Download test files and run
|
|
|
|
command: |
|
|
|
|
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/mozilla/application-services/main/install-nimbus-cli.sh | bash
|
|
|
|
pip install poetry
|
|
|
|
make integration_test_nimbus_fenix PYTEST_ARGS="$PYTEST_ARGS"
|
|
|
|
- android/save-gradle-cache:
|
|
|
|
cache-prefix: v1a
|
|
|
|
- store_artifacts:
|
|
|
|
path: /home/circleci/project/test-reports/report.htm
|
|
|
|
|
2024-08-01 20:27:46 +03:00
|
|
|
integration_test_ios_fennec:
|
|
|
|
macos:
|
2024-10-29 23:53:11 +03:00
|
|
|
xcode: 15.4.0
|
2024-10-23 20:33:57 +03:00
|
|
|
parameters:
|
|
|
|
file_path:
|
|
|
|
type: string
|
2024-08-01 20:27:46 +03:00
|
|
|
steps:
|
|
|
|
- checkout
|
2024-09-06 20:17:23 +03:00
|
|
|
- check_file_paths:
|
2024-10-23 20:33:57 +03:00
|
|
|
paths: << parameters.file_path >>
|
2024-08-01 20:27:46 +03:00
|
|
|
- macos/preboot-simulator:
|
2024-10-29 23:53:11 +03:00
|
|
|
version: "17.5"
|
2024-08-01 20:27:46 +03:00
|
|
|
platform: "iOS"
|
|
|
|
device: "iPhone 15"
|
|
|
|
- attach_workspace:
|
|
|
|
at: /tmp/experimenter
|
|
|
|
- run:
|
|
|
|
name: Clone Firefox iOS Repo
|
2024-10-29 23:53:11 +03:00
|
|
|
command: git clone https://github.com/mozilla-mobile/firefox-ios.git
|
2024-08-01 20:27:46 +03:00
|
|
|
- run:
|
|
|
|
name: Install nimbus-cli
|
|
|
|
command: curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/mozilla/application-services/main/install-nimbus-cli.sh | bash
|
|
|
|
- run:
|
|
|
|
name: Setup and build Firefox app
|
|
|
|
command: |
|
2024-10-29 23:53:11 +03:00
|
|
|
source << parameters.file_path >>
|
2024-08-01 20:27:46 +03:00
|
|
|
cd firefox-ios
|
2024-10-29 23:53:11 +03:00
|
|
|
git checkout "$BRANCH"
|
2024-08-01 20:27:46 +03:00
|
|
|
sh ./bootstrap.sh
|
|
|
|
cd firefox-ios
|
|
|
|
pip3 install virtualenv poetry
|
2024-10-29 23:53:11 +03:00
|
|
|
xcodebuild build-for-testing -scheme Fennec -target Client -destination 'platform=iOS Simulator,name=iPhone 15,OS=17.5' COMPILER_INDEX_STORE_ENABLE=NO CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO ARCHS="arm64"
|
2024-08-01 20:27:46 +03:00
|
|
|
- run:
|
|
|
|
name: Run Tests
|
|
|
|
command: |
|
|
|
|
cd firefox-ios/firefox-ios/firefox-ios-tests/Tests/ExperimentIntegrationTests
|
2024-10-29 23:53:11 +03:00
|
|
|
git cherry-pick dfd0b8a556f5990d0b5d9351df8acf571895e6dc -X theirs || true
|
2024-08-01 20:27:46 +03:00
|
|
|
export SIMULATOR_UDID=$(python get_specific_device_udid.py)
|
|
|
|
cp -f ~/project/experimenter/tests/integration/nimbus/ios/test_ios_integration.py ./
|
|
|
|
poetry install
|
|
|
|
poetry run pytest -k test_ios_integration.py --feature ios_enrollment
|
|
|
|
- store_artifacts:
|
|
|
|
path: ~/project/firefox-ios/firefox-ios/firefox-ios-tests/Tests/ExperimentIntegrationTests/results/index.html
|
|
|
|
|
|
|
|
create_fenix_fennec_recipes:
|
|
|
|
working_directory: ~/experimenter
|
|
|
|
machine:
|
|
|
|
image: ubuntu-2004:2023.10.1
|
|
|
|
docker_layer_caching: true
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
|
|
|
name: Create experiment on experimenter
|
|
|
|
command: |
|
|
|
|
cp .env.integration-tests .env
|
|
|
|
export CIRRUS=1
|
2024-08-27 23:41:33 +03:00
|
|
|
make refresh SKIP_DUMMY=1 PYTEST_SENTRY_DSN=$PYTEST_SENTRY_DSN CIRCLECI=$CIRCLECI up_prod_detached integration_test_nimbus PYTEST_ARGS="-k test_create_mobile_experiment_for_integration_test"
|
2024-08-01 20:27:46 +03:00
|
|
|
- persist_to_workspace:
|
|
|
|
root: experimenter
|
|
|
|
paths:
|
|
|
|
- tests/integration/ios_recipe.json
|
2024-08-27 23:41:33 +03:00
|
|
|
- tests/integration/fenix_recipe.json
|
2024-10-18 23:30:05 +03:00
|
|
|
|
2023-07-14 17:13:27 +03:00
|
|
|
deploy_experimenter:
|
2017-08-15 23:46:27 +03:00
|
|
|
working_directory: ~/experimenter
|
2020-11-05 04:55:12 +03:00
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2017-08-15 23:46:27 +03:00
|
|
|
steps:
|
2017-08-17 18:29:38 +03:00
|
|
|
- checkout
|
2024-08-29 16:22:04 +03:00
|
|
|
- run:
|
|
|
|
name: Prepare environment variables for OIDC authentication
|
|
|
|
command: |
|
|
|
|
echo 'export GOOGLE_PROJECT_ID="moz-fx-experimenter-prod-6cd5"' >> "$BASH_ENV"
|
|
|
|
echo "export OIDC_WIP_ID=$GCPV2_WORKLOAD_IDENTITY_POOL_ID" >> "$BASH_ENV"
|
|
|
|
echo "export OIDC_WIP_PROVIDER_ID=$GCPV2_CIRCLECI_WORKLOAD_IDENTITY_PROVIDER" >> "$BASH_ENV"
|
|
|
|
echo "export GOOGLE_PROJECT_NUMBER=$GCPV2_WORKLOAD_IDENTITY_POOL_PROJECT_NUMBER" >> "$BASH_ENV"
|
|
|
|
echo "export OIDC_SERVICE_ACCOUNT_EMAIL=$GCP_SERVICE_ACCOUNT_EMAIL" >> "$BASH_ENV"
|
|
|
|
- gcp-cli/setup:
|
|
|
|
use_oidc: true
|
|
|
|
- run:
|
|
|
|
name: Deploy to Google Artifact Registry
|
|
|
|
command: |
|
2024-11-01 19:29:45 +03:00
|
|
|
./scripts/store_git_info.sh
|
|
|
|
make build_prod
|
2024-08-29 16:22:04 +03:00
|
|
|
gcloud auth configure-docker us-docker.pkg.dev --quiet
|
|
|
|
DOCKER_IMAGE="us-docker.pkg.dev/moz-fx-experimenter-prod-6cd5/experimenter-prod/experimenter"
|
|
|
|
docker tag experimenter:deploy ${DOCKER_IMAGE}:latest
|
|
|
|
docker push "${DOCKER_IMAGE}:latest"
|
|
|
|
GIT_SHA=$(git rev-parse --short HEAD)
|
2024-10-08 17:36:43 +03:00
|
|
|
docker tag experimenter:deploy ${DOCKER_IMAGE}:sha-${GIT_SHA}
|
|
|
|
docker push ${DOCKER_IMAGE}:sha-${GIT_SHA}
|
|
|
|
|
2022-07-28 00:04:57 +03:00
|
|
|
|
2023-07-14 17:13:27 +03:00
|
|
|
deploy_cirrus:
|
|
|
|
working_directory: ~/cirrus
|
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2023-07-14 17:13:27 +03:00
|
|
|
steps:
|
|
|
|
- checkout
|
2023-11-08 01:04:05 +03:00
|
|
|
- docker_login:
|
2023-09-21 18:29:12 +03:00
|
|
|
username: $DOCKERHUB_CIRRUS_USER
|
|
|
|
password: $DOCKERHUB_CIRRUS_PASS
|
2023-10-24 23:08:24 +03:00
|
|
|
- run:
|
2023-07-14 17:13:27 +03:00
|
|
|
name: Deploy to latest
|
|
|
|
command: |
|
2023-09-20 23:30:37 +03:00
|
|
|
make cirrus_build
|
2023-07-14 17:13:27 +03:00
|
|
|
docker tag cirrus:deploy ${DOCKERHUB_CIRRUS_REPO}:latest
|
|
|
|
docker push ${DOCKERHUB_CIRRUS_REPO}:latest
|
|
|
|
|
2023-09-22 20:12:30 +03:00
|
|
|
deploy_schemas:
|
2023-10-24 23:30:55 +03:00
|
|
|
machine:
|
|
|
|
image: ubuntu-2004:2023.10.1
|
|
|
|
docker_layer_caching: true
|
2023-09-22 20:12:30 +03:00
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
|
|
|
name: Check for package version change in last commit before proceeding.
|
|
|
|
command: |
|
|
|
|
if git diff main HEAD~1 schemas/pyproject.toml | grep 'version'
|
|
|
|
then
|
|
|
|
echo "Found changes to package version dir, proceeding with deployment."
|
|
|
|
else
|
|
|
|
echo "No changes in package version. Skipping mozilla-nimbus-schemas deployment."
|
|
|
|
circleci-agent step halt
|
|
|
|
fi
|
|
|
|
- run:
|
|
|
|
name: Upload to PyPI
|
|
|
|
command: |
|
|
|
|
# Relies on the TWINE_USERNAME and TWINE_PASSWORD environment variables configured at:
|
|
|
|
# https://app.circleci.com/settings/project/github/mozilla/experimenter/environment-variables
|
|
|
|
# For more on twine, see:
|
|
|
|
# https://twine.readthedocs.io/en/latest/
|
2023-10-24 23:30:55 +03:00
|
|
|
make schemas_deploy_pypi SCHEMAS_ENV="-e TWINE_USERNAME=${TWINE_USERNAME} -e TWINE_PASSWORD=${TWINE_PASSWORD}"
|
2023-09-22 20:12:30 +03:00
|
|
|
- run:
|
|
|
|
name: NPM Authentication
|
|
|
|
command: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
|
|
|
|
- run:
|
|
|
|
name: Upload to NPM
|
|
|
|
command: |
|
|
|
|
# Relies on the NPM_TOKEN environment variable configured at:
|
|
|
|
# https://app.circleci.com/settings/project/github/mozilla/experimenter/environment-variables
|
2023-10-24 23:30:55 +03:00
|
|
|
make schemas_deploy_npm SCHEMAS_ENV="-e NPM_TOKEN=${NPM_TOKEN}"
|
2023-09-22 20:12:30 +03:00
|
|
|
|
2022-07-28 00:04:57 +03:00
|
|
|
update_external_configs:
|
|
|
|
working_directory: ~/experimenter
|
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2022-07-28 00:04:57 +03:00
|
|
|
steps:
|
|
|
|
- add_ssh_keys:
|
|
|
|
fingerprints:
|
2023-01-09 21:22:03 +03:00
|
|
|
- "32:8e:72:0b:9a:a1:1c:b8:7e:90:e1:53:a3:73:68:47" # for git pushes from circleci, since relies on ssh
|
2022-07-28 00:04:57 +03:00
|
|
|
- checkout
|
|
|
|
- gh/setup:
|
2024-02-13 00:49:17 +03:00
|
|
|
token: GH_EXTERNAL_CONFIG_TOKEN # for gh commands from circleci, since relies on user token, since por que no los dos?
|
2022-07-28 00:04:57 +03:00
|
|
|
- run:
|
|
|
|
name: Setup Git
|
|
|
|
command: |
|
|
|
|
git config --local user.name "dataops-ci-bot"
|
|
|
|
git config --local user.email "dataops+ci-bot@mozilla.com"
|
|
|
|
gh config set git_protocol https
|
|
|
|
- run:
|
|
|
|
name: Check for External Config Update
|
|
|
|
command: |
|
|
|
|
git checkout main
|
|
|
|
git pull origin main
|
2023-09-27 22:27:02 +03:00
|
|
|
cp .env.sample .env
|
2024-05-15 21:54:05 +03:00
|
|
|
touch ./experimenter/fetch-summary.txt
|
2024-02-13 00:49:17 +03:00
|
|
|
env GITHUB_BEARER_TOKEN="${GH_EXTERNAL_CONFIG_TOKEN}" make fetch_external_resources FETCH_ARGS="--summary fetch-summary.txt"
|
2024-05-15 21:54:05 +03:00
|
|
|
mv ./experimenter/fetch-summary.txt /tmp/pr-body.txt
|
2024-05-14 18:44:54 +03:00
|
|
|
echo -e "\nCircle CI Task: ${CIRCLE_BUILD_URL}" >> /tmp/pr-body.txt
|
2023-11-24 20:57:22 +03:00
|
|
|
if python3 ./experimenter/bin/should-pr.py
|
2022-07-28 00:04:57 +03:00
|
|
|
then
|
2022-08-02 23:43:55 +03:00
|
|
|
git checkout -B external-config
|
|
|
|
git add .
|
|
|
|
git commit -m 'chore(nimbus): Update External Configs'
|
2022-08-16 21:13:30 +03:00
|
|
|
if (($((git diff external-config origin/external-config || git diff HEAD~1) | wc -c) > 0))
|
2022-08-15 19:12:25 +03:00
|
|
|
then
|
|
|
|
git push origin external-config -f
|
2024-05-14 18:44:54 +03:00
|
|
|
gh pr create -t "chore(nimbus): Update External Configs" -F /tmp/pr-body.txt --base main --head external-config --repo mozilla/experimenter || \
|
|
|
|
gh pr edit external-config -F /tmp/pr-body.txt
|
2022-08-15 19:12:25 +03:00
|
|
|
else
|
|
|
|
echo "Changes already committed, skipping"
|
|
|
|
fi
|
2022-07-28 00:04:57 +03:00
|
|
|
else
|
|
|
|
echo "No config changes, skipping"
|
|
|
|
fi
|
|
|
|
|
2024-02-01 01:19:56 +03:00
|
|
|
update_application_services:
|
|
|
|
machine:
|
|
|
|
image: ubuntu-2004:2023.10.1
|
|
|
|
docker_layer_caching: true
|
|
|
|
steps:
|
|
|
|
- add_ssh_keys:
|
|
|
|
fingerprints:
|
|
|
|
- "32:8e:72:0b:9a:a1:1c:b8:7e:90:e1:53:a3:73:68:47" # for git pushes from circleci, since relies on ssh
|
|
|
|
- checkout
|
|
|
|
- gh/setup:
|
|
|
|
token: GH_TOKEN # for gh commands from circleci, since relies on user token, since por que no los dos?
|
|
|
|
- run:
|
|
|
|
name: Setup Git
|
|
|
|
command: |
|
|
|
|
git config --local user.name "dataops-ci-bot"
|
|
|
|
git config --local user.email "dataops+ci-bot@mozilla.com"
|
|
|
|
gh config set git_protocol https
|
|
|
|
- run:
|
|
|
|
name: Check for Application Services update
|
|
|
|
command: |
|
|
|
|
git checkout main
|
|
|
|
git pull origin main
|
|
|
|
make update_application_services
|
|
|
|
if (($(git status --porcelain | wc -c) > 0)); then
|
|
|
|
git checkout -B update-application-services
|
|
|
|
git add .
|
|
|
|
git commit -m "chore(nimbus): Update application-services"
|
|
|
|
if (($((git diff update-application-services origin/update-application-services || git diff HEAD~1) | wc -c) > 0)); then
|
|
|
|
git push origin update-application-services -f
|
|
|
|
gh pr create -t "chore(nimbus): Update application-services" -b "" --base main --head update-application-services --repo mozilla/experimenter || echo "PR already exists, skipping"
|
|
|
|
else
|
|
|
|
echo "Changes already committed, skipping"
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "No config changes, skipping"
|
|
|
|
fi
|
2024-10-18 23:30:05 +03:00
|
|
|
|
2024-09-06 20:17:23 +03:00
|
|
|
check_external_firefox_integrations:
|
2024-06-27 17:36:57 +03:00
|
|
|
machine:
|
|
|
|
image: ubuntu-2004:2023.10.1
|
|
|
|
docker_layer_caching: true
|
|
|
|
working_directory: ~/experimenter
|
|
|
|
steps:
|
|
|
|
- add_ssh_keys:
|
|
|
|
fingerprints:
|
|
|
|
- "32:8e:72:0b:9a:a1:1c:b8:7e:90:e1:53:a3:73:68:47" # for git pushes from circleci, since relies on ssh
|
|
|
|
- checkout
|
|
|
|
- gh/setup:
|
|
|
|
token: GH_TOKEN # for gh commands from circleci, since relies on user token, since por que no los dos?
|
|
|
|
- run:
|
|
|
|
name: Setup Git
|
|
|
|
command: |
|
|
|
|
git config --local user.name "dataops-ci-bot"
|
|
|
|
git config --local user.email "dataops+ci-bot@mozilla.com"
|
|
|
|
gh config set git_protocol https
|
|
|
|
- run:
|
2024-09-06 20:17:23 +03:00
|
|
|
name: Check for external Update
|
2024-06-27 17:36:57 +03:00
|
|
|
command: |
|
2024-09-07 00:09:56 +03:00
|
|
|
./scripts/external_integration_updater_script.sh
|
2024-02-01 01:19:56 +03:00
|
|
|
|
2022-06-27 23:31:38 +03:00
|
|
|
build_firefox_versions:
|
|
|
|
working_directory: ~/experimenter
|
|
|
|
machine:
|
2023-10-24 23:30:55 +03:00
|
|
|
image: ubuntu-2004:2023.10.1
|
2023-09-19 22:13:51 +03:00
|
|
|
docker_layer_caching: true
|
2022-06-27 23:31:38 +03:00
|
|
|
steps:
|
|
|
|
- checkout
|
2023-11-08 01:04:05 +03:00
|
|
|
- docker_login:
|
2023-09-21 18:29:12 +03:00
|
|
|
username: $DOCKER_USER
|
|
|
|
password: $DOCKER_PASS
|
2022-06-27 23:31:38 +03:00
|
|
|
- run:
|
2024-04-24 22:37:23 +03:00
|
|
|
name: Build and upload images
|
2022-06-27 23:31:38 +03:00
|
|
|
command: |
|
2024-07-04 19:51:04 +03:00
|
|
|
# Clone last working version to ensure compatibility with aarch64 apple silicon machines
|
|
|
|
git clone --branch selenium-grid-0.27.0 --depth 1 git@github.com:SeleniumHQ/docker-selenium.git
|
2022-06-27 23:31:38 +03:00
|
|
|
cd docker-selenium
|
2022-07-06 20:04:57 +03:00
|
|
|
BUILD_ARGS="--build-arg FIREFOX_VERSION=latest" VERSION="firefox" BUILD_DATE="release" make standalone_firefox
|
|
|
|
BUILD_ARGS="--build-arg FIREFOX_VERSION=devedition-latest" VERSION="firefox" BUILD_DATE="beta" make standalone_firefox
|
2024-04-24 22:37:23 +03:00
|
|
|
docker tag selenium/standalone-firefox:firefox-release ${DOCKERHUB_REPO}:nimbus-firefox-release
|
|
|
|
docker tag selenium/standalone-firefox:firefox-beta ${DOCKERHUB_REPO}:nimbus-firefox-beta
|
2022-07-06 20:04:57 +03:00
|
|
|
docker push ${DOCKERHUB_REPO}:nimbus-firefox-beta
|
|
|
|
docker push ${DOCKERHUB_REPO}:nimbus-firefox-release
|
2023-02-08 20:16:59 +03:00
|
|
|
|
2024-06-24 21:56:10 +03:00
|
|
|
build_firefox_fenix:
|
|
|
|
working_directory: ~/experimenter
|
|
|
|
machine:
|
|
|
|
image: ubuntu-2004:2023.10.1
|
|
|
|
docker_layer_caching: true
|
2024-08-08 01:42:19 +03:00
|
|
|
resource_class: xlarge
|
2024-06-24 21:56:10 +03:00
|
|
|
steps:
|
|
|
|
- checkout
|
2024-09-06 20:17:23 +03:00
|
|
|
- check_file_paths:
|
2024-10-18 23:30:05 +03:00
|
|
|
paths: "experimenter/tests/firefox-fenix-build.env"
|
2024-06-24 21:56:10 +03:00
|
|
|
- docker_login:
|
|
|
|
username: $DOCKER_USER
|
|
|
|
password: $DOCKER_PASS
|
|
|
|
- run:
|
|
|
|
name: Build and upload images
|
|
|
|
command: |
|
|
|
|
cd experimenter/tests/integration/nimbus/android
|
2024-08-09 00:06:56 +03:00
|
|
|
docker build -t fenix-builder -f moz-central.test-container.Dockerfile .
|
|
|
|
docker run -d --name fenix-builder fenix-builder
|
2024-07-03 21:26:43 +03:00
|
|
|
docker cp fenix-builder:mozilla-central/mobile/android/fenix/app-fenix-debug-androidTest.apk ./
|
|
|
|
docker cp fenix-builder:mozilla-central/mobile/android/fenix/app-fenix-x86_64-debug.apk ./
|
2024-08-08 01:42:19 +03:00
|
|
|
no_output_timeout: 60m
|
2024-08-27 23:41:33 +03:00
|
|
|
- persist_to_workspace:
|
|
|
|
root: experimenter
|
|
|
|
paths:
|
|
|
|
- tests/integration/nimbus/android/app-fenix-debug-androidTest.apk
|
|
|
|
- tests/integration/nimbus/android/app-fenix-x86_64-debug.apk
|
2024-06-24 21:56:10 +03:00
|
|
|
|
2017-08-15 23:46:27 +03:00
|
|
|
workflows:
|
2023-10-24 23:08:24 +03:00
|
|
|
build_firefox:
|
2022-06-27 23:31:38 +03:00
|
|
|
triggers:
|
|
|
|
- schedule:
|
|
|
|
cron: "0 0 * * *"
|
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- main
|
|
|
|
jobs:
|
|
|
|
- build_firefox_versions
|
2022-07-28 00:04:57 +03:00
|
|
|
|
2023-10-24 23:08:24 +03:00
|
|
|
update_configs:
|
2022-07-28 00:04:57 +03:00
|
|
|
triggers:
|
|
|
|
- schedule:
|
|
|
|
cron: "0 * * * *"
|
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- main
|
|
|
|
jobs:
|
|
|
|
- update_external_configs
|
2024-02-01 01:19:56 +03:00
|
|
|
- update_application_services
|
2024-10-18 23:30:05 +03:00
|
|
|
|
2024-09-12 17:30:50 +03:00
|
|
|
check_firefox_integrations:
|
|
|
|
triggers:
|
|
|
|
- schedule:
|
|
|
|
cron: "0 12 * * *"
|
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- main
|
|
|
|
jobs:
|
2024-09-06 20:17:23 +03:00
|
|
|
- check_external_firefox_integrations
|
2022-07-28 00:04:57 +03:00
|
|
|
|
2017-08-15 23:46:27 +03:00
|
|
|
build:
|
|
|
|
jobs:
|
2023-09-22 20:12:30 +03:00
|
|
|
- check_experimenter_x86_64:
|
|
|
|
name: Check Experimenter x86_64
|
|
|
|
- check_experimenter_aarch64:
|
|
|
|
name: Check Experimenter aarch64
|
|
|
|
- check_cirrus_x86_64:
|
|
|
|
name: Check Cirrus x86_64
|
|
|
|
- check_cirrus_aarch64:
|
|
|
|
name: Check Cirrus aarch64
|
2023-07-14 17:13:27 +03:00
|
|
|
- check_schemas:
|
|
|
|
name: Check Schemas
|
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
ignore:
|
|
|
|
- main
|
2024-08-01 20:27:46 +03:00
|
|
|
- create_fenix_fennec_recipes:
|
|
|
|
name: Create fenix and fennec recipes
|
2024-08-19 19:36:10 +03:00
|
|
|
filters:
|
|
|
|
branches:
|
2024-08-27 23:41:33 +03:00
|
|
|
only:
|
2024-09-06 20:17:23 +03:00
|
|
|
- check_external_firefox_integrations
|
2023-02-08 20:16:59 +03:00
|
|
|
- integration_nimbus_desktop_release_targeting:
|
2022-11-03 19:18:49 +03:00
|
|
|
name: Test Desktop Targeting (Release Firefox)
|
2022-06-27 23:31:38 +03:00
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
ignore:
|
|
|
|
- main
|
2023-02-08 20:16:59 +03:00
|
|
|
- integration_nimbus_desktop_beta_targeting:
|
2022-11-03 19:18:49 +03:00
|
|
|
name: Test Desktop Targeting (Beta Firefox)
|
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
ignore:
|
|
|
|
- main
|
|
|
|
- integration_nimbus_desktop_nightly_targeting:
|
|
|
|
name: Test Desktop Targeting (Nightly Firefox)
|
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
ignore:
|
|
|
|
- main
|
|
|
|
- integration_nimbus_desktop_ui:
|
|
|
|
name: Test Desktop Nimbus UI (Release Firefox)
|
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
ignore:
|
|
|
|
- main
|
2024-07-18 00:10:29 +03:00
|
|
|
- integration_nimbus_remote_settings_launch:
|
|
|
|
name: Test Remote Settings Launch (All Applications)
|
2022-11-03 19:18:49 +03:00
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
ignore:
|
|
|
|
- main
|
2024-07-18 00:10:29 +03:00
|
|
|
- integration_nimbus_remote_settings_all:
|
|
|
|
name: Test Remote Settings All Workflows (Release Firefox Desktop)
|
2022-06-27 23:31:38 +03:00
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
ignore:
|
|
|
|
- main
|
2023-02-08 20:16:59 +03:00
|
|
|
- integration_nimbus_desktop_enrollment:
|
|
|
|
name: Test Desktop Enrollment (Release Firefox)
|
2019-08-12 18:44:41 +03:00
|
|
|
filters:
|
|
|
|
branches:
|
2020-07-11 00:31:33 +03:00
|
|
|
ignore:
|
|
|
|
- main
|
2023-02-08 20:16:59 +03:00
|
|
|
- integration_nimbus_sdk_targeting:
|
2022-11-03 19:18:49 +03:00
|
|
|
name: Test SDK Targeting (Release Firefox)
|
2022-06-07 19:31:50 +03:00
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
ignore:
|
|
|
|
- main
|
2023-11-23 23:48:41 +03:00
|
|
|
- integration_nimbus_cirrus:
|
2023-11-03 22:47:01 +03:00
|
|
|
name: Test Demo app with Cirrus
|
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
ignore:
|
|
|
|
- main
|
2022-08-11 00:24:17 +03:00
|
|
|
- integration_legacy:
|
2022-11-03 19:18:49 +03:00
|
|
|
name: Test Legacy Desktop (Release Firefox)
|
2022-08-11 00:24:17 +03:00
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
ignore:
|
|
|
|
- main
|
2024-06-24 21:56:10 +03:00
|
|
|
- integration_test_android_fenix:
|
|
|
|
name: Test Firefox for Android (Fenix)
|
2024-08-27 23:41:33 +03:00
|
|
|
requires:
|
|
|
|
- Create fenix and fennec recipes
|
|
|
|
- Build Fenix APKs
|
2024-06-24 21:56:10 +03:00
|
|
|
filters:
|
|
|
|
branches:
|
2024-08-27 23:41:33 +03:00
|
|
|
only:
|
2024-09-06 20:17:23 +03:00
|
|
|
- check_external_firefox_integrations
|
2024-08-01 20:27:46 +03:00
|
|
|
- integration_test_ios_fennec:
|
2024-10-23 20:33:57 +03:00
|
|
|
name: Test Firefox for iOS (Fennec) Beta
|
|
|
|
requires:
|
|
|
|
- Create fenix and fennec recipes
|
|
|
|
file_path: experimenter/tests/firefox_fennec_beta_build.env
|
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- check_external_firefox_integrations
|
|
|
|
- integration_test_ios_fennec:
|
|
|
|
name: Test Firefox for iOS (Fennec) Release
|
2024-08-01 20:27:46 +03:00
|
|
|
requires:
|
|
|
|
- Create fenix and fennec recipes
|
2024-10-23 20:33:57 +03:00
|
|
|
file_path: experimenter/tests/firefox_fennec_release_build.env
|
2024-08-01 20:27:46 +03:00
|
|
|
filters:
|
|
|
|
branches:
|
2024-08-29 20:29:18 +03:00
|
|
|
only:
|
2024-09-06 20:17:23 +03:00
|
|
|
- check_external_firefox_integrations
|
2023-09-15 23:17:24 +03:00
|
|
|
- deploy_experimenter:
|
|
|
|
name: Deploy Experimenter
|
2024-08-29 16:22:04 +03:00
|
|
|
context:
|
|
|
|
- gcpv2-workload-identity
|
2023-09-15 23:17:24 +03:00
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
only: main
|
|
|
|
requires:
|
2023-09-22 20:12:30 +03:00
|
|
|
- Check Experimenter x86_64
|
|
|
|
- Check Experimenter aarch64
|
2023-09-15 23:17:24 +03:00
|
|
|
- deploy_cirrus:
|
|
|
|
name: Deploy Cirrus
|
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
only: main
|
|
|
|
requires:
|
2023-09-22 20:12:30 +03:00
|
|
|
- Check Cirrus x86_64
|
|
|
|
- Check Cirrus aarch64
|
|
|
|
- deploy_schemas:
|
2023-10-24 23:30:55 +03:00
|
|
|
name: Deploy Schemas
|
2023-06-15 20:38:01 +03:00
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
only: main
|
2024-06-27 17:36:57 +03:00
|
|
|
- build_firefox_fenix:
|
|
|
|
name: Build Fenix APKs
|
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
only:
|
2024-09-06 20:17:23 +03:00
|
|
|
- check_external_firefox_integrations
|