diff --git a/mobile/.bazelrc b/mobile/.bazelrc index 764c3a6cea53..242fa4760b0b 100644 --- a/mobile/.bazelrc +++ b/mobile/.bazelrc @@ -1,8 +1,8 @@ # Envoy Mobile Bazel build/test options. -try-import ./envoy/.bazelrc +try-import ../.bazelrc # Common flags for all builds -build --platform_mappings=envoy/bazel/platform_mappings +build --platform_mappings=bazel/platform_mappings build --define=google_grpc=disabled build --define=hot_restart=disabled build --define=tcmalloc=disabled @@ -19,7 +19,7 @@ build --ios_minimum_os=12.0 build --ios_simulator_device="iPhone 13" build --ios_simulator_version=16.1 build --verbose_failures -build --workspace_status_command=envoy/bazel/get_workspace_status +build --workspace_status_command=../bazel/get_workspace_status build --xcode_version=14.1 build --use_top_level_targets_for_symlinks build --experimental_repository_downloader_retries=2 diff --git a/mobile/.bazelversion b/mobile/.bazelversion index 9da24ef26b2b..b3326049790d 120000 --- a/mobile/.bazelversion +++ b/mobile/.bazelversion @@ -1 +1 @@ -envoy/.bazelversion \ No newline at end of file +../.bazelversion \ No newline at end of file diff --git a/mobile/.circleci/config.yml b/mobile/.circleci/config.yml deleted file mode 100644 index 1c07b54be4a6..000000000000 --- a/mobile/.circleci/config.yml +++ /dev/null @@ -1,33 +0,0 @@ -version: 2.1 - -executors: - ubuntu-build: - description: "A regular build executor based on ubuntu image" - docker: - - image: envoyproxy/envoy-build-ubuntu:0a02a76af5951bf7f4c7029c0ea6d29d96c0f682 - # TODO(mattklein123): Get xlarge class enabled - resource_class: medium - working_directory: /source - -jobs: - docs: - executor: ubuntu-build - steps: - - checkout - - run: git submodule update --init - - run: docs/build.sh - - add_ssh_keys: - fingerprints: - - "a2:f7:59:f0:01:8b:91:31:ab:0c:3f:9f:25:4c:1e:e5" - - run: docs/publish.sh - - store_artifacts: - path: generated/docs - -workflows: - version: 2 - all: - jobs: - - docs: - filters: - tags: - only: /^v.*/ diff --git a/mobile/.github/actions/pr_notifier/pr_notifier.py b/mobile/.github/actions/pr_notifier/pr_notifier.py deleted file mode 100644 index 05f5adce8531..000000000000 --- a/mobile/.github/actions/pr_notifier/pr_notifier.py +++ /dev/null @@ -1,173 +0,0 @@ -# Script for collecting PRs in need of review, and informing reviewers via -# slack. -# -# By default this runs in "developer mode" which means that it collects PRs -# associated with reviewers and API reviewers, and spits them out (badly -# formatted) to the command line. -# -# .github/workflows/pr_notifier.yml runs the script with --cron_job -# which instead sends the collected PRs to the various slack channels. -# -# NOTE: Slack IDs can be found in the user's full profile from within Slack. - -from __future__ import print_function - -import argparse -import datetime -import os -import sys - -import github -from slack_sdk import WebClient -from slack_sdk.errors import SlackApiError - -REVIEWERS = { - 'alyssawilk': 'U78RP48V9', - 'Augustyniak': 'U017R1YHXGQ', - 'jpsim': 'U02KAPRELKA', - 'junr03': 'U79K0Q431', - 'RyanTheOptimist': 'U01SW3JC8GP', - 'goaway': 'U7TDPD3L2', - 'snowp': 'U93KTPQP6', -} - - -def get_slo_hours(): - # on Monday, allow for 24h + 48h - if datetime.date.today().weekday() == 0: - return 72 - return 24 - - -# Return true if the PR has a waiting tag, false otherwise. -def is_waiting(labels): - for label in labels: - if label.name == 'waiting' or label.name == 'waiting:any': - return True - return False - - -# Generate a pr message, bolding the time if it's out-SLO -def pr_message(pr_age, pr_url, pr_title, delta_days, delta_hours): - if pr_age < datetime.timedelta(hours=get_slo_hours()): - return "<%s|%s> has been waiting %s days %s hours\n" % ( - pr_url, pr_title, delta_days, delta_hours) - else: - return "<%s|%s> has been waiting *%s days %s hours*\n" % ( - pr_url, pr_title, delta_days, delta_hours) - - -# Adds reminder lines to the appropriate assignee to review the assigned PRs -# Returns true if one of the assignees is in the primary_assignee_map, false otherwise. -def add_reminders(assignees, assignees_and_prs, message, primary_assignee_map): - has_primary_assignee = False - for assignee_info in assignees: - assignee = assignee_info.login - if assignee in primary_assignee_map: - has_primary_assignee = True - if assignee not in assignees_and_prs.keys(): - assignees_and_prs[ - assignee] = "Hello, %s, here are your PR reminders for the day \n" % assignee - assignees_and_prs[assignee] = assignees_and_prs[assignee] + message - return has_primary_assignee - - -def track_prs(): - git = github.Github() - repo = git.get_repo('envoyproxy/envoy-mobile') - - # A dict of maintainer : outstanding_pr_string to be sent to slack - reviewers_and_prs = {} - # Out-SLO PRs to be sent to #envoy-maintainer-oncall - stalled_prs = "" - - # Snag all PRs, including drafts - for pr_info in repo.get_pulls("open", "updated", "desc"): - labels = pr_info.labels - assignees = pr_info.assignees - # If the PR is waiting, continue. - if is_waiting(labels): - continue - # Drafts are not covered by our SLO (repokitteh warns of this) - if pr_info.draft: - continue - # envoy-mobile currently doesn't triage unassigned PRs. - if not (pr_info.assignees): - continue - - # Update the time based on the time zone delta from github's - pr_age = pr_info.updated_at - datetime.timedelta(hours=4) - delta = datetime.datetime.now() - pr_age - delta_days = delta.days - delta_hours = delta.seconds // 3600 - - # If we get to this point, the review may be in SLO - nudge if it's in - # SLO, nudge in bold if not. - message = pr_message(delta, pr_info.html_url, pr_info.title, delta_days, delta_hours) - - # If the PR has been out-SLO for over a day, inform maintainers. - if delta > datetime.timedelta(hours=get_slo_hours() + 36): - stalled_prs = stalled_prs + message - - # Add a reminder to each maintainer-assigner on the PR. - add_reminders(pr_info.assignees, reviewers_and_prs, message, REVIEWERS) - - # Return the dict of {reviewers : PR notifications}, - # and stalled PRs - return reviewers_and_prs, stalled_prs - - -def post_to_assignee(client, assignees_and_messages, assignees_map): - # Post updates to individual assignees - for key in assignees_and_messages: - message = assignees_and_messages[key] - - # Only send messages if we have the slack UID - if key not in assignees_map: - continue - uid = assignees_map[key] - - # Ship messages off to slack. - try: - print(assignees_and_messages[key]) - response = client.conversations_open(users=uid, text="hello") - channel_id = response["channel"]["id"] - response = client.chat_postMessage(channel=channel_id, text=message) - except SlackApiError as e: - print("Unexpected error %s", e.response["error"]) - - -def post_to_oncall(client, out_slo_prs): - try: - response = client.chat_postMessage( - channel='#envoy-mobile-oncall', text=("*Stalled PRs*\n\n%s" % out_slo_prs)) - except SlackApiError as e: - print("Unexpected error %s", e.response["error"]) - - -if __name__ == '__main__': - parser = argparse.ArgumentParser() - parser.add_argument( - '--cron_job', - action="store_true", - help="true if this is run by the daily cron job, false if run manually by a developer") - args = parser.parse_args() - - reviewers_and_messages, stalled_prs = track_prs() - - if not args.cron_job: - print(reviewers_and_messages) - print("\n\n\n") - print(stalled_prs) - exit(0) - - SLACK_BOT_TOKEN = os.getenv('SLACK_BOT_TOKEN') - if not SLACK_BOT_TOKEN: - print( - 'Missing SLACK_BOT_TOKEN: please export token from https://api.slack.com/apps/A023NPQQ33K/oauth?' - ) - sys.exit(1) - - client = WebClient(token=SLACK_BOT_TOKEN) - post_to_oncall(client, stalled_prs) - post_to_assignee(client, reviewers_and_messages, REVIEWERS) diff --git a/mobile/.github/actions/pr_notifier/requirements.in b/mobile/.github/actions/pr_notifier/requirements.in deleted file mode 100644 index b27ccacba25a..000000000000 --- a/mobile/.github/actions/pr_notifier/requirements.in +++ /dev/null @@ -1,2 +0,0 @@ -pygithub -slack_sdk diff --git a/mobile/.github/actions/pr_notifier/requirements.txt b/mobile/.github/actions/pr_notifier/requirements.txt deleted file mode 100644 index c97a5b5ed512..000000000000 --- a/mobile/.github/actions/pr_notifier/requirements.txt +++ /dev/null @@ -1,124 +0,0 @@ -# -# This file is autogenerated by pip-compile -# To update, run: -# -# pip-compile --generate-hashes .github/actions/pr_notifier/requirements.txt -# -certifi==2021.5.30 \ - --hash=sha256:2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee \ - --hash=sha256:50b1e4f8446b06f41be7dd6338db18e0990601dce795c2b1686458aa7e8fa7d8 - # via requests -cffi==1.14.5 \ - --hash=sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813 \ - --hash=sha256:04c468b622ed31d408fea2346bec5bbffba2cc44226302a0de1ade9f5ea3d373 \ - --hash=sha256:06d7cd1abac2ffd92e65c0609661866709b4b2d82dd15f611e602b9b188b0b69 \ - --hash=sha256:06db6321b7a68b2bd6df96d08a5adadc1fa0e8f419226e25b2a5fbf6ccc7350f \ - --hash=sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06 \ - --hash=sha256:0f861a89e0043afec2a51fd177a567005847973be86f709bbb044d7f42fc4e05 \ - --hash=sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea \ - --hash=sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee \ - --hash=sha256:1bf1ac1984eaa7675ca8d5745a8cb87ef7abecb5592178406e55858d411eadc0 \ - --hash=sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396 \ - --hash=sha256:24a570cd11895b60829e941f2613a4f79df1a27344cbbb82164ef2e0116f09c7 \ - --hash=sha256:24ec4ff2c5c0c8f9c6b87d5bb53555bf267e1e6f70e52e5a9740d32861d36b6f \ - --hash=sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73 \ - --hash=sha256:29314480e958fd8aab22e4a58b355b629c59bf5f2ac2492b61e3dc06d8c7a315 \ - --hash=sha256:293e7ea41280cb28c6fcaaa0b1aa1f533b8ce060b9e701d78511e1e6c4a1de76 \ - --hash=sha256:34eff4b97f3d982fb93e2831e6750127d1355a923ebaeeb565407b3d2f8d41a1 \ - --hash=sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49 \ - --hash=sha256:3c3f39fa737542161d8b0d680df2ec249334cd70a8f420f71c9304bd83c3cbed \ - --hash=sha256:3d3dd4c9e559eb172ecf00a2a7517e97d1e96de2a5e610bd9b68cea3925b4892 \ - --hash=sha256:43e0b9d9e2c9e5d152946b9c5fe062c151614b262fda2e7b201204de0b99e482 \ - --hash=sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058 \ - --hash=sha256:51182f8927c5af975fece87b1b369f722c570fe169f9880764b1ee3bca8347b5 \ - --hash=sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53 \ - --hash=sha256:5de7970188bb46b7bf9858eb6890aad302577a5f6f75091fd7cdd3ef13ef3045 \ - --hash=sha256:65fa59693c62cf06e45ddbb822165394a288edce9e276647f0046e1ec26920f3 \ - --hash=sha256:681d07b0d1e3c462dd15585ef5e33cb021321588bebd910124ef4f4fb71aef55 \ - --hash=sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5 \ - --hash=sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e \ - --hash=sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c \ - --hash=sha256:72d8d3ef52c208ee1c7b2e341f7d71c6fd3157138abf1a95166e6165dd5d4369 \ - --hash=sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827 \ - --hash=sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053 \ - --hash=sha256:99cd03ae7988a93dd00bcd9d0b75e1f6c426063d6f03d2f90b89e29b25b82dfa \ - --hash=sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4 \ - --hash=sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322 \ - --hash=sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132 \ - --hash=sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62 \ - --hash=sha256:a465da611f6fa124963b91bf432d960a555563efe4ed1cc403ba5077b15370aa \ - --hash=sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0 \ - --hash=sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396 \ - --hash=sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e \ - --hash=sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991 \ - --hash=sha256:cbde590d4faaa07c72bf979734738f328d239913ba3e043b1e98fe9a39f8b2b6 \ - --hash=sha256:cc5a8e069b9ebfa22e26d0e6b97d6f9781302fe7f4f2b8776c3e1daea35f1adc \ - --hash=sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1 \ - --hash=sha256:d42b11d692e11b6634f7613ad8df5d6d5f8875f5d48939520d351007b3c13406 \ - --hash=sha256:df5052c5d867c1ea0b311fb7c3cd28b19df469c056f7fdcfe88c7473aa63e333 \ - --hash=sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d \ - --hash=sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c - # via pynacl -chardet==4.0.0 \ - --hash=sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa \ - --hash=sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5 - # via requests -deprecated==1.2.13 \ - --hash=sha256:43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d \ - --hash=sha256:64756e3e14c8c5eea9795d93c524551432a0be75629f8f29e67ab8caf076c76d - # via pygithub -idna==2.10 \ - --hash=sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6 \ - --hash=sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0 - # via requests -pycparser==2.20 \ - --hash=sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0 \ - --hash=sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705 - # via cffi -pygithub==1.55 \ - --hash=sha256:1bbfff9372047ff3f21d5cd8e07720f3dbfdaf6462fcaed9d815f528f1ba7283 \ - --hash=sha256:2caf0054ea079b71e539741ae56c5a95e073b81fa472ce222e81667381b9601b - # via -r requirements.in -pyjwt==2.4.0 \ - --hash=sha256:72d1d253f32dbd4f5c88eaf1fdc62f3a19f676ccbadb9dbc5d07e951b2b26daf \ - --hash=sha256:d42908208c699b3b973cbeb01a969ba6a96c821eefb1c5bfe4c390c01d67abba - # via pygithub -pynacl==1.4.0 \ - --hash=sha256:06cbb4d9b2c4bd3c8dc0d267416aaed79906e7b33f114ddbf0911969794b1cc4 \ - --hash=sha256:11335f09060af52c97137d4ac54285bcb7df0cef29014a1a4efe64ac065434c4 \ - --hash=sha256:2fe0fc5a2480361dcaf4e6e7cea00e078fcda07ba45f811b167e3f99e8cff574 \ - --hash=sha256:30f9b96db44e09b3304f9ea95079b1b7316b2b4f3744fe3aaecccd95d547063d \ - --hash=sha256:4e10569f8cbed81cb7526ae137049759d2a8d57726d52c1a000a3ce366779634 \ - --hash=sha256:511d269ee845037b95c9781aa702f90ccc36036f95d0f31373a6a79bd8242e25 \ - --hash=sha256:537a7ccbea22905a0ab36ea58577b39d1fa9b1884869d173b5cf111f006f689f \ - --hash=sha256:54e9a2c849c742006516ad56a88f5c74bf2ce92c9f67435187c3c5953b346505 \ - --hash=sha256:757250ddb3bff1eecd7e41e65f7f833a8405fede0194319f87899690624f2122 \ - --hash=sha256:7757ae33dae81c300487591c68790dfb5145c7d03324000433d9a2c141f82af7 \ - --hash=sha256:7c6092102219f59ff29788860ccb021e80fffd953920c4a8653889c029b2d420 \ - --hash=sha256:8122ba5f2a2169ca5da936b2e5a511740ffb73979381b4229d9188f6dcb22f1f \ - --hash=sha256:9c4a7ea4fb81536c1b1f5cc44d54a296f96ae78c1ebd2311bd0b60be45a48d96 \ - --hash=sha256:c914f78da4953b33d4685e3cdc7ce63401247a21425c16a39760e282075ac4a6 \ - --hash=sha256:cd401ccbc2a249a47a3a1724c2918fcd04be1f7b54eb2a5a71ff915db0ac51c6 \ - --hash=sha256:d452a6746f0a7e11121e64625109bc4468fc3100452817001dbe018bb8b08514 \ - --hash=sha256:ea6841bc3a76fa4942ce00f3bda7d436fda21e2d91602b9e21b7ca9ecab8f3ff \ - --hash=sha256:f8851ab9041756003119368c1e6cd0b9c631f46d686b3904b18c0139f4419f80 - # via pygithub -requests==2.25.1 \ - --hash=sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804 \ - --hash=sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e - # via pygithub -six==1.16.0 \ - --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ - --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 - # via pynacl -slack_sdk==3.13.0 \ - --hash=sha256:54f2a5f7419f1ab932af9e3200f7f2f93db96e0f0eb8ad7d3b4214aa9f124641 \ - --hash=sha256:aae6ce057e286a5e7fe7a9f256e85b886eee556def8e04b82b08f699e64d7f67 - # via -r requirements.in -urllib3==1.26.6 \ - --hash=sha256:39fb8672126159acb139a7718dd10806104dec1e2f0f6c88aab05d17df10c8d4 \ - --hash=sha256:f57b4c16c62fa2760b7e3d97c35b255512fb6b59a259730f36ba32ce9f8e342f - # via requests -wrapt==1.12.1 \ - --hash=sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7 - # via deprecated diff --git a/mobile/.github/lyft_maintainers.yml b/mobile/.github/lyft_maintainers.yml deleted file mode 100644 index 74cd7e7405f6..000000000000 --- a/mobile/.github/lyft_maintainers.yml +++ /dev/null @@ -1,4 +0,0 @@ -current: Augustyniak -maintainers: - - Augustyniak - - jpsim diff --git a/mobile/.github/stale.yml b/mobile/.github/stale.yml deleted file mode 100644 index e33e9247d428..000000000000 --- a/mobile/.github/stale.yml +++ /dev/null @@ -1,46 +0,0 @@ -# Configuration for probot-stale - https://github.com/probot/stale - -# General configuration -# Label to use when marking as stale -staleLabel: stale - -# Pull request specific configuration -pulls: - # Number of days of inactivity before an Issue or Pull Request becomes stale - daysUntilStale: 7 - # Number of days of inactivity before a stale Issue or Pull Request is closed. - # Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. - daysUntilClose: 7 - # Comment to post when marking as stale. Set to `false` to disable - markComment: > - This pull request has been automatically marked as stale because it has not had - activity in the last 7 days. It will be closed in 7 days if no further activity occurs. Please - feel free to give a status update now, ping for review, or re-open when it's ready. - Thank you for your contributions! - # Comment to post when closing a stale Issue or Pull Request. - closeComment: > - This pull request has been automatically closed because it has not had - activity in the last 14 days. Please feel free to give a status update now, ping for review, or re-open when it's ready. - Thank you for your contributions! - # Limit the number of actions per hour, from 1-30. Default is 30 - limitPerRun: 1 - exemptLabels: - - no stalebot - -# Issue specific configuration -issues: - # TODO: Consider increasing the limitPerRun once we are satisfied with the bot's performance - limitPerRun: 1 - daysUntilStale: 30 - daysUntilClose: 7 - markComment: > - This issue has been automatically marked as stale because it has not had activity in the - last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or other activity - occurs. Thank you for your contributions. - closeComment: > - This issue has been automatically closed because it has not had activity in the - last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted". - Thank you for your contributions. - exemptLabels: - - help wanted - - no stalebot diff --git a/mobile/.github/workflows/android_build.yml b/mobile/.github/workflows/android_build.yml deleted file mode 100644 index e428f3eef5a8..000000000000 --- a/mobile/.github/workflows/android_build.yml +++ /dev/null @@ -1,169 +0,0 @@ -name: android_build - -on: - push: - branches: - - main - pull_request: - -jobs: - androidbuild: - name: android_build - runs-on: macos-12 - timeout-minutes: 90 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - uses: actions/setup-java@v1 - with: - java-version: '8' - java-package: jdk - architecture: x64 - - name: 'Install dependencies' - run: ./ci/mac_ci_setup.sh --android - - name: 'Build envoy.aar distributable' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - --fat_apk_cpu=x86_64 \ - //:android_dist - javahelloworld: - name: java_helloworld - needs: androidbuild - runs-on: macos-12 - timeout-minutes: 25 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - uses: actions/setup-java@v1 - with: - java-version: '8' - java-package: jdk - architecture: x64 - - run: ./ci/mac_ci_setup.sh --android - name: 'Install dependencies' - - name: 'Start simulator' - run: ./ci/mac_start_emulator.sh - # Return to using: - # ./bazelw mobile-install --fat_apk_cpu=x86_64 --start_app //examples/java/hello_world:hello_envoy - # When https://github.com/envoyproxy/envoy-mobile/issues/853 is fixed. - - name: 'Start java app' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - --fat_apk_cpu=x86_64 \ - //examples/java/hello_world:hello_envoy - adb install -r --no-incremental bazel-bin/examples/java/hello_world/hello_envoy.apk - adb shell am start -n io.envoyproxy.envoymobile.helloenvoy/.MainActivity - - name: 'Check connectivity' - run: adb logcat -e "received headers with status 200" -m 1 - kotlinhelloworld: - name: kotlin_helloworld - needs: androidbuild - runs-on: macos-12 - timeout-minutes: 25 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - uses: actions/setup-java@v1 - with: - java-version: '8' - java-package: jdk - architecture: x64 - - name: 'Install dependencies' - run: ./ci/mac_ci_setup.sh --android - - name: 'Start simulator' - run: ./ci/mac_start_emulator.sh - # Return to using: - # ./bazelw mobile-install --fat_apk_cpu=x86_64 --start_app //examples/kotlin/hello_world:hello_envoy_kt - # When https://github.com/envoyproxy/envoy-mobile/issues/853 is fixed. - - name: 'Start kotlin app' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - --fat_apk_cpu=x86_64 \ - //examples/kotlin/hello_world:hello_envoy_kt - adb install -r --no-incremental bazel-bin/examples/kotlin/hello_world/hello_envoy_kt.apk - adb shell am start -n io.envoyproxy.envoymobile.helloenvoykotlin/.MainActivity - - name: 'Check connectivity' - run: adb logcat -e "received headers with status 200" -m 1 - kotlinbaselineapp: - name: kotlin_baseline_app - needs: androidbuild - runs-on: macos-12 - timeout-minutes: 25 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - uses: actions/setup-java@v1 - with: - java-version: '8' - java-package: jdk - architecture: x64 - - name: 'Install dependencies' - run: ./ci/mac_ci_setup.sh --android - - name: 'Start simulator' - run: ./ci/mac_start_emulator.sh - # Return to using: - # ./bazelw mobile-install --fat_apk_cpu=x86_64 --start_app //examples/kotlin/hello_world:hello_envoy_kt - # When https://github.com/envoyproxy/envoy-mobile/issues/853 is fixed. - - name: 'Start kotlin app' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - --fat_apk_cpu=x86_64 \ - //test/kotlin/apps/baseline:hello_envoy_kt - adb install -r --no-incremental bazel-bin/test/kotlin/apps/baseline/hello_envoy_kt.apk - adb shell am start -n io.envoyproxy.envoymobile.helloenvoybaselinetest/.MainActivity - - name: 'Check connectivity' - run: adb logcat -e "received headers with status 301" -m 1 - kotlinexperimentalapp: - name: kotlin_experimental_app - needs: androidbuild - runs-on: macos-12 - timeout-minutes: 25 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - uses: actions/setup-java@v1 - with: - java-version: '8' - java-package: jdk - architecture: x64 - - name: 'Install dependencies' - run: ./ci/mac_ci_setup.sh --android - - name: 'Start simulator' - run: ./ci/mac_start_emulator.sh - # Return to using: - # ./bazelw mobile-install --fat_apk_cpu=x86_64 --start_app //examples/kotlin/hello_world:hello_envoy_kt - # When https://github.com/envoyproxy/envoy-mobile/issues/853 is fixed. - - name: 'Start kotlin app' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - --fat_apk_cpu=x86_64 \ - //test/kotlin/apps/experimental:hello_envoy_kt - adb install -r --no-incremental bazel-bin/test/kotlin/apps/experimental/hello_envoy_kt.apk - adb shell am start -n io.envoyproxy.envoymobile.helloenvoyexperimentaltest/.MainActivity - - name: 'Check connectivity' - run: adb logcat -e "received headers with status 200" -m 1 diff --git a/mobile/.github/workflows/android_tests.yml b/mobile/.github/workflows/android_tests.yml deleted file mode 100644 index d890e4e1c860..000000000000 --- a/mobile/.github/workflows/android_tests.yml +++ /dev/null @@ -1,138 +0,0 @@ -name: android_tests - -on: - push: - branches: - - main - pull_request: - -jobs: - kotlintestsmac: - # revert to //test/kotlin/... once fixed - # https://github.com/envoyproxy/envoy-mobile/issues/1932 - name: kotlin_tests_mac - runs-on: macos-12 - timeout-minutes: 90 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - id: check_context - name: 'Check whether to run' - run: | - if git rev-parse --abbrev-ref HEAD | grep -q ^main$ || git diff --name-only origin/main | grep -qe common/ -e java/ -e kotlin/ -e bazel/ -e ^\.bazelrc$ -e ^envoy$ -e ^WORKSPACE$ -e ^.github/workflows/android_tests.yml$ ; then - echo "Tests will run." - echo "run_tests=true" >> $GITHUB_OUTPUT - else - echo "Skipping tests." - echo "run_tests=false" >> $GITHUB_OUTPUT - fi - - name: 'Java setup' - if: steps.check_context.outputs.run_tests == 'true' - uses: actions/setup-java@v1 - with: - java-version: '8' - java-package: jdk - architecture: x64 - - name: 'Install dependencies' - if: steps.check_context.outputs.run_tests == 'true' - run: ./ci/mac_ci_setup.sh - - name: 'Run Kotlin library tests' - if: steps.check_context.outputs.run_tests == 'true' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw test \ - --test_output=all \ - --build_tests_only \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //test/kotlin/io/... - javatestsmac: - name: java_tests_mac - runs-on: macos-12 - timeout-minutes: 120 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - id: check_context - name: 'Check whether to run' - run: | - if git rev-parse --abbrev-ref HEAD | grep -q ^main$ || git diff --name-only origin/main | grep -qe common/ -e java/ -e kotlin/ -e bazel/ -e ^\.bazelrc$ -e ^envoy$ -e ^WORKSPACE$ -e ^.github/workflows/android_tests.yml$ ; then - echo "Tests will run." - echo "run_tests=true" >> $GITHUB_OUTPUT - else - echo "Skipping tests." - echo "run_tests=false" >> $GITHUB_OUTPUT - fi - - name: 'Java setup' - if: steps.check_context.outputs.run_tests == 'true' - uses: actions/setup-java@v1 - with: - java-version: '8' - java-package: jdk - architecture: x64 - - name: 'Install dependencies' - if: steps.check_context.outputs.run_tests == 'true' - run: ./ci/mac_ci_setup.sh - - name: 'Run Java library tests' - if: steps.check_context.outputs.run_tests == 'true' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw test \ - --test_output=all \ - --build_tests_only \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - --define=signal_trace=disabled \ - //test/java/... - kotlintestslinux: - # Only kotlin tests are executed since with linux: - # https://github.com/envoyproxy/envoy-mobile/issues/1418. - name: kotlin_tests_linux - runs-on: ubuntu-latest - timeout-minutes: 90 - container: - image: envoyproxy/envoy-build-ubuntu:0a02a76af5951bf7f4c7029c0ea6d29d96c0f682 - env: - CC: /opt/llvm/bin/clang - CXX: /opt/llvm/bin/clang++ - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - name: Add safe directory - run: git config --global --add safe.directory /__w/envoy-mobile/envoy-mobile - - id: check_context - name: 'Check whether to run' - run: | - if git rev-parse --abbrev-ref HEAD | grep -q ^main$ || git diff --name-only origin/main | grep -qe common/ -e java/ -e kotlin/ -e bazel/ -e ^\.bazelrc$ -e ^envoy$ -e ^WORKSPACE$ -e ^.github/workflows/android_tests.yml$ ; then - echo "Tests will run." - echo "run_tests=true" >> $GITHUB_OUTPUT - else - echo "Skipping tests." - echo "run_tests=false" >> $GITHUB_OUTPUT - fi - - name: 'Java setup' - if: steps.check_context.outputs.run_tests == 'true' - uses: actions/setup-java@v1 - with: - java-version: '8' - java-package: jdk - architecture: x64 - - name: 'Install dependencies' - if: steps.check_context.outputs.run_tests == 'true' - run: ./ci/linux_ci_setup.sh - - name: 'Run Kotlin library integration tests' - if: steps.check_context.outputs.run_tests == 'true' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw test \ - --test_output=all \ - --build_tests_only \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-linux-clang") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //test/kotlin/... diff --git a/mobile/.github/workflows/asan.yml b/mobile/.github/workflows/asan.yml deleted file mode 100644 index ace378370b21..000000000000 --- a/mobile/.github/workflows/asan.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: asan - -on: - push: - branches: - - main - pull_request: - -jobs: - asan: - name: asan - runs-on: ubuntu-latest - timeout-minutes: 180 - container: - image: envoyproxy/envoy-build-ubuntu:0a02a76af5951bf7f4c7029c0ea6d29d96c0f682 - env: - CC: /opt/llvm/bin/clang - CXX: /opt/llvm/bin/clang++ - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - name: Add safe directory - run: git config --global --add safe.directory /__w/envoy-mobile/envoy-mobile - - id: check_context - name: 'Check whether to run' - run: | - if git rev-parse --abbrev-ref HEAD | grep -q ^main$ || git diff --name-only origin/main | grep -qe common/ -e bazel/ -e ^\.bazelrc$ -e ^envoy$ -e ^WORKSPACE$ -e ^.github/workflows/asan.yml$ ; then - echo "Tests will run." - echo "run_tests=true" >> $GITHUB_OUTPUT - else - echo "Skipping tests." - echo "run_tests=false" >> $GITHUB_OUTPUT - fi - - uses: actions/setup-java@v1 - if: steps.check-cache.outputs.cache-hit != 'true' - with: - java-version: '8' - java-package: jdk - architecture: x64 - - name: 'Run tests' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - if: steps.check_context.outputs.run_tests == 'true' - run: | - ./bazelw test --test_output=all \ - --test_env=ENVOY_IP_TEST_VERSIONS=v4only \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-linux-asan") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //test/common/... diff --git a/mobile/.github/workflows/bump_support_rotation.yml b/mobile/.github/workflows/bump_support_rotation.yml deleted file mode 100644 index f80d89fffe47..000000000000 --- a/mobile/.github/workflows/bump_support_rotation.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: bump_support_rotation - -on: - workflow_dispatch: - schedule: - # Mondays at 2pm UTC (9am EST) - - cron: "0 14 * * 1" - -jobs: - bump_support_rotation: - runs-on: ubuntu-latest - if: github.repository_owner == 'envoyproxy' - permissions: - pull-requests: write - steps: - - name: git checkout - uses: actions/checkout@v2 - - name: Bump Lyft Support Rotation - id: bump - run: ./tools/bump_lyft_support_rotation.sh - - name: Create PR - id: pr - uses: peter-evans/create-pull-request@923ad837f191474af6b1721408744feb989a4c27 - with: - token: ${{ secrets.CREDENTIALS_GITHUB_PUSH_TOKEN }} - title: Bump Lyft Support Rotation - commit-message: | - Bump Lyft Support Rotation - - Signed-off-by: GitHub Action - committer: GitHub Action - base: main - delete-branch: true - branch: support-bump - branch-suffix: short-commit-hash - reviewers: ${{ steps.bump.outputs.NEXT_MAINTAINER }} - - name: Post to Slack - run: | - ./tools/post_to_slack.sh \ - "Lyft support maintainer changing from to : ${{ steps.pr.outputs.pull-request-url }}" - env: - SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} diff --git a/mobile/.github/workflows/cc_tests.yml b/mobile/.github/workflows/cc_tests.yml deleted file mode 100644 index 6b6650af6fa1..000000000000 --- a/mobile/.github/workflows/cc_tests.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: cc_tests - -on: - push: - branches: - - main - pull_request: - -jobs: - cctests: - name: cc_tests - runs-on: ubuntu-latest - timeout-minutes: 120 - container: - image: envoyproxy/envoy-build-ubuntu:0a02a76af5951bf7f4c7029c0ea6d29d96c0f682 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - name: Add safe directory - run: git config --global --add safe.directory /__w/envoy-mobile/envoy-mobile - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: 'Run tests' - run: | - ./bazelw test \ - --action_env=LD_LIBRARY_PATH \ - --test_output=all \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-linux") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //test/cc/... diff --git a/mobile/.github/workflows/commands.yml b/mobile/.github/workflows/commands.yml deleted file mode 100644 index 2231550a7fb8..000000000000 --- a/mobile/.github/workflows/commands.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: commands -on: - issue_comment: - types: [created] - -jobs: - retest: - name: Retest - runs-on: ubuntu-latest - steps: - # jpsim/retest@v1 - - uses: jpsim/retest@c158dec0a7f67cb85f8367468dc8a9a75308bb7f - with: - token: ${{ secrets.GITHUB_TOKEN }} diff --git a/mobile/.github/workflows/core.yml b/mobile/.github/workflows/core.yml deleted file mode 100644 index b980a9bbd266..000000000000 --- a/mobile/.github/workflows/core.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: core - -on: - push: - branches: - - main - pull_request: - -jobs: - unittests: - name: unit_tests - runs-on: macos-12 - timeout-minutes: 120 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - name: 'Install dependencies' - run: ./ci/mac_ci_setup.sh - - name: 'Run tests' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw test \ - --test_output=all \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //test/common/... diff --git a/mobile/.github/workflows/coverage.yml b/mobile/.github/workflows/coverage.yml deleted file mode 100644 index 00828f7c0eb0..000000000000 --- a/mobile/.github/workflows/coverage.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: coverage - -on: - push: - branches: - - main - pull_request: - -jobs: - coverage: - name: coverage - runs-on: ubuntu-latest - timeout-minutes: 120 - defaults: - run: - shell: bash - container: - image: envoyproxy/envoy-build-ubuntu:0a02a76af5951bf7f4c7029c0ea6d29d96c0f682 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - name: Add safe directory - run: git config --global --add safe.directory /__w/envoy-mobile/envoy-mobile - - id: check_context - name: 'Check whether to run' - run: | - if git rev-parse --abbrev-ref HEAD | grep -q ^main$ || git diff --name-only origin/main | grep -qe common/ -e ^.github/workflows/coverage.yml ; then - echo "Coverage will run." - echo "run_coverage=true" >> $GITHUB_OUTPUT - else - echo "Skipping coverage." - echo "run_coverage=false" >> $GITHUB_OUTPUT - fi - - name: 'Run coverage' - if: steps.check_context.outputs.run_coverage == 'true' - continue-on-error: true - run: | - echo "build --remote_header=\"Authorization=Bearer ${{ secrets.GITHUB_TOKEN }}\"" > ~/.bazelrc - BAZEL_BUILD_OPTIONS="--config=remote-ci-linux-coverage" \ - PATH=/opt/llvm/bin:${PATH} \ - COVERAGE_THRESHOLD=95 \ - ./envoy/test/run_envoy_bazel_coverage.sh //test/common/... - - name: 'Package coverage' - if: steps.check_context.outputs.run_coverage == 'true' - run: | - tar -czvf coverage.tar.gz generated/coverage - - name: 'Upload report' - if: steps.check_context.outputs.run_coverage == 'true' - uses: actions/upload-artifact@v2 - with: - name: coverage.tar.gz - path: coverage.tar.gz diff --git a/mobile/.github/workflows/format.yml b/mobile/.github/workflows/format.yml deleted file mode 100644 index 76fa9cb9310d..000000000000 --- a/mobile/.github/workflows/format.yml +++ /dev/null @@ -1,85 +0,0 @@ -name: format - -on: - push: - branches: - - main - pull_request: - -jobs: - formatall: - name: format_all - runs-on: ubuntu-latest - timeout-minutes: 45 - container: - image: envoyproxy/envoy-build-ubuntu:0a02a76af5951bf7f4c7029c0ea6d29d96c0f682 - env: - CLANG_FORMAT: /opt/llvm/bin/clang-format - BUILDIFIER_BIN: /usr/local/bin/buildifier - BUILDOZER_BIN: /usr/local/bin/buildozer - ENVOY_BAZEL_PREFIX: "@envoy" - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - name: 'Run formatters' - run: ./tools/check_format.sh - precommit: - name: precommit - runs-on: macos-12 - timeout-minutes: 45 - steps: - - uses: actions/checkout@v1 - - name: 'Install precommit' - run: brew install pre-commit - - name: 'Run precommit' - run: pre-commit run --all-files - swiftlint: - name: swift_lint - runs-on: ubuntu-latest - timeout-minutes: 5 - container: - image: ghcr.io/realm/swiftlint:0.47.1 - steps: - - uses: actions/checkout@v1 - - name: 'Run Swift Lint (SwiftLint)' - run: swiftlint lint --strict - drstring: - name: drstring - runs-on: macos-12 - timeout-minutes: 5 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - name: 'Run DrString' - env: - DEVELOPER_DIR: /Applications/Xcode_14.1.app - run: ./bazelw run @DrString//:drstring check - kotlinlint: - name: kotlin_lint - runs-on: macos-12 - timeout-minutes: 45 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - uses: actions/setup-java@v1 - with: - java-version: '8' - java-package: jdk - architecture: x64 - - run: ./ci/mac_ci_setup.sh - name: 'Install dependencies' - - name: 'Run Kotlin Lint (Detekt)' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //library/kotlin/io/envoyproxy/envoymobile:envoy_lib_lint \ - //examples/kotlin/hello_world:hello_envoy_kt_lint - - name: 'Run Kotlin Formatter (ktlint)' - run: | - ./bazelw build kotlin_format diff --git a/mobile/.github/workflows/ios_build.yml b/mobile/.github/workflows/ios_build.yml deleted file mode 100644 index d8c4326ddaf7..000000000000 --- a/mobile/.github/workflows/ios_build.yml +++ /dev/null @@ -1,204 +0,0 @@ -name: ios_build - -on: - push: - branches: - - main - pull_request: - -jobs: - iosbuild: - name: ios_build - runs-on: macos-12 - timeout-minutes: 120 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - run: ./ci/mac_ci_setup.sh - name: 'Install dependencies' - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw shutdown - ./bazelw build \ - --config=ios \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //library/swift:ios_framework - name: 'Build Envoy.framework distributable' - swifthelloworld: - name: swift_helloworld - needs: iosbuild - runs-on: macos-12 - timeout-minutes: 35 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - run: ./ci/mac_ci_setup.sh - name: 'Install dependencies' - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - --config=ios \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //examples/swift/hello_world:app - name: 'Build swift app' - # Run the app in the background and redirect logs. - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw run \ - --config=ios \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //examples/swift/hello_world:app &> /tmp/envoy.log & - name: 'Run swift app' - - run: sed '/received headers with status 200/q' <(touch /tmp/envoy.log && tail -F /tmp/envoy.log) - name: 'Check connectivity' - - run: cat /tmp/envoy.log - if: ${{ failure() || cancelled() }} - name: 'Log app run' - swiftbaselineapp: - name: swift_baseline_app - needs: iosbuild - runs-on: macos-12 - timeout-minutes: 25 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - run: ./ci/mac_ci_setup.sh - name: 'Install dependencies' - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - --config=ios \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //test/swift/apps/baseline:app - name: 'Build swift app' - # Run the app in the background and redirect logs. - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw run \ - --config=ios \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //test/swift/apps/baseline:app &> /tmp/envoy.log & - name: 'Run swift app' - - run: sed '/received headers with status 301/q' <(touch /tmp/envoy.log && tail -F /tmp/envoy.log) - name: 'Check connectivity' - - run: cat /tmp/envoy.log - if: ${{ failure() || cancelled() }} - name: 'Log app run' - swiftexperimentalapp: - name: swift_experimental_app - needs: iosbuild - runs-on: macos-12 - timeout-minutes: 25 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - run: ./ci/mac_ci_setup.sh - name: 'Install dependencies' - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - --config=ios \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //test/swift/apps/experimental:app - name: 'Build swift app' - # Run the app in the background and redirect logs. - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw run \ - --config=ios \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //test/swift/apps/experimental:app &> /tmp/envoy.log & - name: 'Run swift app' - - run: sed '/received headers with status 200/q' <(touch /tmp/envoy.log && tail -F /tmp/envoy.log) - name: 'Check connectivity' - - run: cat /tmp/envoy.log - if: ${{ failure() || cancelled() }} - name: 'Log app run' - swiftasyncawait: - name: swift_async_await - needs: iosbuild - runs-on: macos-12 - timeout-minutes: 35 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - run: ./ci/mac_ci_setup.sh - name: 'Install dependencies' - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - --config=ios \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //examples/swift/async_await:app - name: 'Build swift app' - # Run the app in the background and redirect logs. - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw run \ - --config=ios \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //examples/swift/async_await:app &> /tmp/envoy.log & - name: 'Run swift app' - - run: sed '/\[2\] Uploaded 7 MB of data/q' <(touch /tmp/envoy.log && tail -F /tmp/envoy.log) - name: 'Check upload succeeded' - - run: cat /tmp/envoy.log - if: ${{ failure() || cancelled() }} - name: 'Log app run' - objchelloworld: - name: objc_helloworld - needs: iosbuild - runs-on: macos-12 - timeout-minutes: 25 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - run: ./ci/mac_ci_setup.sh - name: 'Install dependencies' - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - --config=ios \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //examples/objective-c/hello_world:app - name: 'Build objective-c app' - # Run the app in the background and redirect logs. - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw run \ - --config=ios \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //examples/objective-c/hello_world:app &> /tmp/envoy.log & - name: 'Run objective-c app' - - run: sed '/received headers with status 200/q' <(touch /tmp/envoy.log && tail -F /tmp/envoy.log) - name: 'Check connectivity' - - run: cat /tmp/envoy.log - if: ${{ failure() || cancelled() }} - name: 'Log app run' diff --git a/mobile/.github/workflows/ios_tests.yml b/mobile/.github/workflows/ios_tests.yml deleted file mode 100644 index 725a0917e23e..000000000000 --- a/mobile/.github/workflows/ios_tests.yml +++ /dev/null @@ -1,75 +0,0 @@ -name: ios_tests - -on: - push: - branches: - - main - pull_request: - -jobs: - swifttests: - name: swift_tests - runs-on: macos-12 - timeout-minutes: 120 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - id: check_context - name: 'Check whether to run' - run: | - if git rev-parse --abbrev-ref HEAD | grep -q ^main$ || git diff --name-only origin/main | grep -qe common/ -e objective-c/ -e swift/ -e bazel/ -e ^\.bazelrc$ -e ^envoy$ -e ^WORKSPACE$ -e ^.github/workflows/ios_tests.yml$ ; then - echo "Tests will run." - echo "run_tests=true" >> $GITHUB_OUTPUT - else - echo "Skipping tests." - echo "run_tests=false" >> $GITHUB_OUTPUT - fi - - name: 'Install dependencies' - run: ./ci/mac_ci_setup.sh - - name: 'Run swift library tests' - if: steps.check_context.outputs.run_tests == 'true' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw test \ - --experimental_ui_max_stdouterr_bytes=10485760 \ - --test_output=all \ - --config=ios \ - --build_tests_only \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //test/swift/... - objctests: - name: c_and_objc_tests - runs-on: macos-12 - timeout-minutes: 120 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - id: check_context - name: 'Check whether to run' - run: | - if git rev-parse --abbrev-ref HEAD | grep -q ^main$ || git diff --name-only origin/main | grep -qe common/ -e objective-c/ -e swift/ -e bazel/ -e ^\.bazelrc$ -e ^envoy$ -e ^WORKSPACE$ -e ^.github/workflows/ios_tests.yml$ ; then - echo "Tests will run." - echo "run_tests=true" >> $GITHUB_OUTPUT - else - echo "Skipping tests." - echo "run_tests=false" >> $GITHUB_OUTPUT - fi - - name: 'Install dependencies' - run: ./ci/mac_ci_setup.sh - - name: 'Run Objective-C library tests' - if: steps.check_context.outputs.run_tests == 'true' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw test \ - --test_output=all \ - --config=ios \ - --build_tests_only \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //test/objective-c/... \ - //test/cc/unit:envoy_config_test diff --git a/mobile/.github/workflows/perf.yml b/mobile/.github/workflows/perf.yml deleted file mode 100644 index 2bba9a2620a4..000000000000 --- a/mobile/.github/workflows/perf.yml +++ /dev/null @@ -1,94 +0,0 @@ -name: perf - -on: - push: - branches: - - main - pull_request: - -jobs: - sizecurrent: - name: size_current - runs-on: ubuntu-latest - timeout-minutes: 120 - container: - image: envoyproxy/envoy-build-ubuntu:0a02a76af5951bf7f4c7029c0ea6d29d96c0f682 - env: - CC: /opt/llvm/bin/clang - CXX: /opt/llvm/bin/clang++ - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - name: Add safe directory - run: git config --global --add safe.directory /__w/envoy-mobile/envoy-mobile - - name: 'Build test binary' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - --config=sizeopt \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-linux-clang") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //test/performance:test_binary_size - - uses: actions/upload-artifact@v2 - with: - name: sizecurrent - path: bazel-bin/test/performance/test_binary_size - sizemain: - name: size_main - runs-on: ubuntu-latest - timeout-minutes: 90 - container: - image: envoyproxy/envoy-build-ubuntu:0a02a76af5951bf7f4c7029c0ea6d29d96c0f682 - env: - CC: /opt/llvm/bin/clang - CXX: /opt/llvm/bin/clang++ - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - name: Add safe directory - run: | - git config --global --add safe.directory /__w/envoy-mobile/envoy-mobile/envoy - git config --global --add safe.directory /__w/envoy-mobile/envoy-mobile - - name: 'Build test binary' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - git checkout main && git pull origin main && git submodule update - ./bazelw build \ - --config=sizeopt \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-linux-clang") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //test/performance:test_binary_size - - uses: actions/upload-artifact@v2 - with: - name: sizemain - path: bazel-bin/test/performance/test_binary_size - sizecompare: - name: size_compare - needs: [sizecurrent, sizemain] - runs-on: ubuntu-latest - timeout-minutes: 30 - container: - image: envoyproxy/envoy-build-ubuntu:0a02a76af5951bf7f4c7029c0ea6d29d96c0f682 - steps: - - uses: actions/checkout@v1 - - uses: actions/download-artifact@v2 - with: - name: sizecurrent - path: dist/sizecurrent - - uses: actions/download-artifact@v2 - with: - name: sizemain - path: dist/sizemain - - name: 'Strip and Zip binary' - run: | - ls -lh dist/ - strip -s -o dist/main.stripped dist/sizemain/test_binary_size - strip -s -o dist/current.stripped dist/sizecurrent/test_binary_size - zip -9 dist/main.zip dist/main.stripped - zip -9 dist/current.zip dist/current.stripped - - name: 'Test size regression' - run: ./ci/test_size_regression.sh dist/main.zip dist/current.zip diff --git a/mobile/.github/workflows/pr_notifier.yml b/mobile/.github/workflows/pr_notifier.yml deleted file mode 100644 index b08b0a1027c3..000000000000 --- a/mobile/.github/workflows/pr_notifier.yml +++ /dev/null @@ -1,26 +0,0 @@ -on: - workflow_dispatch: - schedule: - - cron: '0 5 * * 1,2,3,4,5' - -jobs: - pr_notifier: - name: PR Notifier - runs-on: ubuntu-latest - if: github.repository_owner == 'envoyproxy' - - steps: - - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - - name: Set up Python 3.8 - uses: actions/setup-python@v2 - with: - python-version: '3.8' - architecture: 'x64' - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r ./.github/actions/pr_notifier/requirements.txt - - name: Notify about PRs - run: python ./.github/actions/pr_notifier/pr_notifier.py --cron_job - env: - SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} diff --git a/mobile/.github/workflows/python_tests.yml b/mobile/.github/workflows/python_tests.yml deleted file mode 100644 index 2d78925ff001..000000000000 --- a/mobile/.github/workflows/python_tests.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: python_tests - -on: - push: - branches: - - main - pull_request: - -jobs: - pythontests: - name: python_tests - runs-on: ubuntu-latest - timeout-minutes: 90 - container: - image: envoyproxy/envoy-build-ubuntu:0a02a76af5951bf7f4c7029c0ea6d29d96c0f682 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - name: Add safe directory - run: git config --global --add safe.directory /__w/envoy-mobile/envoy-mobile - - id: check_context - name: 'Check whether to run' - run: | - if git rev-parse --abbrev-ref HEAD | grep -q ^main$ || git diff --name-only origin/main | grep -qe common/ -e cc/ -e python/ -e bazel/ -e ^\.bazelrc$ -e ^envoy$ -e ^WORKSPACE$ -e ^.github/workflows/python_tests.yml$ ; then - echo "Tests will run." - echo "run_tests=true" >> $GITHUB_OUTPUT - else - echo "Skipping tests." - echo "run_tests=false" >> $GITHUB_OUTPUT - fi - - name: 'Run tests' - if: steps.check_context.outputs.run_tests == 'true' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw test \ - --action_env=LD_LIBRARY_PATH \ - --test_output=all \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-linux") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //test/python/... diff --git a/mobile/.github/workflows/release.yml b/mobile/.github/workflows/release.yml deleted file mode 100644 index 9f5094022e99..000000000000 --- a/mobile/.github/workflows/release.yml +++ /dev/null @@ -1,175 +0,0 @@ -name: release - -on: - push: - branches: - - main - tags: - - v* - pull_request: - -jobs: - android_release_artifacts: - name: android_release_artifacts - runs-on: macos-12 - timeout-minutes: 120 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - uses: actions/setup-java@v1 - with: - java-version: '8' - java-package: jdk - architecture: x64 - - run: ./ci/mac_ci_setup.sh --android - name: 'Install dependencies' - - name: 'Build envoy.aar distributable' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - current_release_version=$(git describe --tag --abbrev=0) - ./bazelw build \ - --config=release-android \ - --fat_apk_cpu=x86,x86_64,armeabi-v7a,arm64-v8a \ - --define=pom_version="${current_release_version:1}" \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //:android_dist - - name: 'Tar artifacts' - run: tar -czvf envoy_android_aar_sources.tar.gz bazel-bin/library/kotlin/io/envoyproxy/envoymobile/envoy.aar bazel-bin/library/kotlin/io/envoyproxy/envoymobile/envoy-pom.xml bazel-bin/library/kotlin/io/envoyproxy/envoymobile/envoy-sources.jar bazel-bin/library/kotlin/io/envoyproxy/envoymobile/envoy-javadoc.jar - - uses: actions/upload-artifact@v2 - with: - name: envoy_android_aar_sources - path: ./envoy_android_aar_sources.tar.gz - - android_release_deploy: - name: android_release_deploy - if: startsWith(github.ref, 'refs/tags/v') - needs: android_release_artifacts - runs-on: ubuntu-latest - timeout-minutes: 240 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - uses: actions/download-artifact@v3 - with: - name: envoy_android_aar_sources - path: . - - name: Expand archive - run: | - tar -xvf envoy_android_aar_sources.tar.gz - mv bazel-bin/library/kotlin/io/envoyproxy/envoymobile/* . - - name: 'Configure envoy-bot git user' - run: | - # Switch global user to be envoy-bot for deployment - git config --global user.email "envoy-bot@users.noreply.github.com" - git config --global user.name "envoy-bot" - - name: 'Configure gpg signing' - env: - GPG_KEY: ${{ secrets.gpg_key }} - GPG_KEY_NAME: ${{ secrets.gpg_key_name }} - GPG_PASSPHRASE: ${{ secrets.gpg_passphrase }} - run: | - # https://github.com/keybase/keybase-issues/issues/2798 - export GPG_TTY=$(tty) - # Import gpg keys and warm the passphrase to avoid the gpg - # passphrase prompt when initating a deploy - # `--pinentry-mode=loopback` could be needed to ensure we - # suppress the gpg prompt - echo $GPG_KEY | base64 --decode > signing-key - gpg --passphrase $GPG_PASSPHRASE --batch --import signing-key - shred signing-key - - gpg --pinentry-mode=loopback --passphrase $GPG_PASSPHRASE -ab envoy.aar - gpg --pinentry-mode=loopback --passphrase $GPG_PASSPHRASE -ab envoy-pom.xml - gpg --pinentry-mode=loopback --passphrase $GPG_PASSPHRASE -ab envoy-javadoc.jar - gpg --pinentry-mode=loopback --passphrase $GPG_PASSPHRASE -ab envoy-sources.jar - - name: 'Release to sonatype repository' - env: - READWRITE_USER: ${{ secrets.sonatype_user }} - READWRITE_API_KEY: ${{ secrets.sonatype_password }} - ENVOY_PROXY_PROFILE_ID: ${{ secrets.envoy_proxy_profile_id }} - run: | - current_release_tag=$(git describe --tags --abbrev=0 --exact-match) - python ci/sonatype_nexus_upload.py \ - --profile_id=$ENVOY_PROXY_PROFILE_ID \ - --version="${current_release_tag:1}" \ - --files \ - envoy.aar \ - envoy-pom.xml \ - envoy-sources.jar \ - envoy-javadoc.jar \ - --signed_files \ - envoy.aar.asc \ - envoy-pom.xml.asc \ - envoy-sources.jar.asc \ - envoy-javadoc.jar.asc - - ios_release_artifacts: - name: ios_release_artifacts - runs-on: macos-12 - timeout-minutes: 120 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - name: 'Install dependencies' - run: ./ci/mac_ci_setup.sh - - name: 'Build Envoy.xcframework' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - --config=release-ios \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //:ios_xcframework - - name: 'Move Envoy.xcframework.zip' - run: mv bazel-bin/library/swift/Envoy.xcframework.zip . - - uses: actions/upload-artifact@v2 - with: - name: ios_framework - path: ./Envoy.xcframework.zip - - name: 'Build Envoy.doccarchive.zip' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - --output_groups=+swift_symbol_graph \ - --config=release-ios \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //library/swift:ios_lib - ./tools/docc.sh bazel-bin/library/swift/ios_lib.symbolgraph - zip -r Envoy.doccarchive.zip Envoy.doccarchive - - uses: actions/upload-artifact@v2 - with: - name: ios_docs - path: ./Envoy.doccarchive.zip - - create_github_release: - name: create_github_release - if: startsWith(github.ref, 'refs/tags/v') - runs-on: ubuntu-latest - timeout-minutes: 45 - needs: [android_release_artifacts, ios_release_artifacts] - steps: - - uses: actions/download-artifact@v3 - with: - name: envoy_android_aar_sources - - uses: actions/download-artifact@v3 - with: - name: ios_framework - - uses: actions/download-artifact@v3 - with: - name: ios_docs - - name: Release - uses: softprops/action-gh-release@v1 - with: - prerelease: true - files: | - envoy_android_aar_sources.tar.gz - Envoy.xcframework.zip - Envoy.doccarchive.zip diff --git a/mobile/.github/workflows/release_validation.yml b/mobile/.github/workflows/release_validation.yml deleted file mode 100644 index 97c1bd63ba73..000000000000 --- a/mobile/.github/workflows/release_validation.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: release_validation - -on: - push: - branches: - - main - pull_request: - -jobs: - validate_swiftpm_example: - name: validate_swiftpm_example - runs-on: macos-12 - timeout-minutes: 120 - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - run: ./ci/mac_ci_setup.sh - name: 'Install dependencies' - - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./bazelw build \ - --config=ios \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-macos") \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - //:ios_xcframework - name: 'Build xcframework' - # Ignore errors: Bad CRC when unzipping large files: https://bbs.archlinux.org/viewtopic.php?id=153011 - - run: unzip bazel-bin/library/swift/Envoy.xcframework.zip -d examples/swift/swiftpm/Packages || true - name: 'Unzip xcframework' - - run: xcodebuild -project examples/swift/swiftpm/EnvoySwiftPMExample.xcodeproj -scheme EnvoySwiftPMExample -destination platform="iOS Simulator,name=iPhone 13 Pro Max,OS=16.1" - name: 'Build app' - # TODO(jpsim): Run app and inspect logs to validate diff --git a/mobile/.github/workflows/submodule_update.yml b/mobile/.github/workflows/submodule_update.yml deleted file mode 100644 index 821ea04c9f11..000000000000 --- a/mobile/.github/workflows/submodule_update.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: submodule_update - -on: - workflow_dispatch: - schedule: - # Mondays at 2pm UTC (9am EST) - - cron: "0 14 * * 1" - -jobs: - submodule_update: - runs-on: ubuntu-latest - steps: - - name: Checkout source - uses: actions/checkout@v2 - with: - submodules: true - - name: Fetch latest submodule - run: | - git submodule update --remote - - name: Check for changes - id: state - run: | - if ! git diff-index --quiet HEAD --; then - echo "Detected changes..." - echo "dirty=true" >> $GITHUB_OUTPUT - fi - - name: Get current support maintainer - if: steps.state.outputs.dirty == 'true' - id: support - run: | - maintainers_file=".github/lyft_maintainers.yml" - first_line="$(head -n 1 "$maintainers_file")" - current=${first_line#"current: "} - echo "maintainer=$current" >> $GITHUB_OUTPUT - - name: Create PR - if: steps.state.outputs.dirty == 'true' - uses: peter-evans/create-pull-request@923ad837f191474af6b1721408744feb989a4c27 - with: - token: ${{ secrets.CREDENTIALS_GITHUB_PUSH_TOKEN }} - title: Update Envoy - commit-message: | - Update Envoy - - Signed-off-by: GitHub Action - committer: GitHub Action - base: main - delete-branch: true - branch: update-envoy - branch-suffix: timestamp - reviewers: ${{ steps.support.outputs.maintainer }} diff --git a/mobile/.github/workflows/tsan.yml b/mobile/.github/workflows/tsan.yml deleted file mode 100644 index f0694da77f7c..000000000000 --- a/mobile/.github/workflows/tsan.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: tsan - -on: - push: - branches: - - main - pull_request: - -jobs: - tsan: - name: tsan - runs-on: ubuntu-latest - timeout-minutes: 90 - container: - image: envoyproxy/envoy-build-ubuntu:0a02a76af5951bf7f4c7029c0ea6d29d96c0f682 - env: - CC: /opt/llvm/bin/clang - CXX: /opt/llvm/bin/clang++ - steps: - - uses: actions/checkout@v1 - with: - submodules: true - - name: Add safe directory - run: git config --global --add safe.directory /__w/envoy-mobile/envoy-mobile - - id: check_context - name: 'Check whether to run' - run: | - if git rev-parse --abbrev-ref HEAD | grep -q ^main$ || git diff --name-only origin/main | grep -qe common/ -e bazel/ -e ^\.bazelrc$ -e ^envoy$ -e ^WORKSPACE$ -e ^.github/workflows/tsan.yml$ ; then - echo "Tests will run." - echo "run_tests=true" >> $GITHUB_OUTPUT - else - echo "Skipping tests." - echo "run_tests=false" >> $GITHUB_OUTPUT - fi - - uses: actions/setup-java@v1 - if: steps.check-cache.outputs.cache-hit != 'true' - with: - java-version: '8' - java-package: jdk - architecture: x64 - - name: 'Run tests' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - if: steps.check_context.outputs.run_tests == 'true' - run: | - ./bazelw test \ - --test_output=all \ - --test_env=ENVOY_IP_TEST_VERSIONS=v4only \ - --remote_header="Authorization=Bearer $GITHUB_TOKEN" \ - $([ -z $GITHUB_TOKEN ] || echo "--config=remote-ci-linux-tsan") \ - //test/common/... diff --git a/mobile/.github/workflows/weekly_release.yml b/mobile/.github/workflows/weekly_release.yml deleted file mode 100644 index 79d0e160bd38..000000000000 --- a/mobile/.github/workflows/weekly_release.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: weekly_release - -on: - workflow_dispatch: - schedule: - # Mondays at 1pm UTC (8am EST) - - cron: "0 13 * * 1" - -jobs: - weekly_release: - runs-on: ubuntu-latest - if: github.repository_owner == 'envoyproxy' - steps: - - name: git checkout - uses: actions/checkout@v2 - with: - ssh-key: "${{ secrets.CREDENTIALS_GITHUB_RELEASE_DEPLOY_KEY }}" - - name: 'Configure envoy-bot git user' - run: | - # Switch global user to be envoy-bot for deployment - git config --global user.email "envoy-bot@users.noreply.github.com" - git config --global user.name "envoy-bot" - - name: Set version - run: | - echo "$(cat VERSION).$(date +'%Y%m%d')" > VERSION - git add VERSION - git commit -m "Release version $(cat VERSION) - - Signed-off-by: envoy-bot " - - name: Create tag - run: | - version="v$(cat VERSION)" - git tag -a ${version} -m ${version} - git push origin ${version} diff --git a/mobile/.gitmodules b/mobile/.gitmodules deleted file mode 100644 index c8cc91d777f5..000000000000 --- a/mobile/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "envoy"] - path = envoy - url = https://github.com/envoyproxy/envoy.git diff --git a/mobile/.swiftlint.yml b/mobile/.swiftlint.yml index 707e5a72488c..8e24436280c7 100644 --- a/mobile/.swiftlint.yml +++ b/mobile/.swiftlint.yml @@ -1,7 +1,4 @@ -excluded: - - envoy only_rules: - - anyobject_protocol - array_init - attributes - block_based_kvo diff --git a/mobile/WORKSPACE b/mobile/WORKSPACE index 9e42491d37a4..7d2fb1dc4267 100644 --- a/mobile/WORKSPACE +++ b/mobile/WORKSPACE @@ -28,7 +28,7 @@ envoy_mobile_repositories() local_repository( name = "envoy", - path = "envoy", + path = "..", ) local_repository( diff --git a/mobile/bazel/platform_mappings b/mobile/bazel/platform_mappings new file mode 120000 index 000000000000..fc29def75b86 --- /dev/null +++ b/mobile/bazel/platform_mappings @@ -0,0 +1 @@ +../../bazel/platform_mappings \ No newline at end of file diff --git a/mobile/docs/conf.py b/mobile/docs/conf.py index 1525c4fd7acb..6472d7bd5af3 100644 --- a/mobile/docs/conf.py +++ b/mobile/docs/conf.py @@ -67,7 +67,10 @@ def setup(app): # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = ['sphinxcontrib.httpdomain', 'sphinx.ext.extlinks', 'sphinx.ext.ifconfig', 'sphinxcontrib.googleanalytics'] +extensions = [ + 'sphinxcontrib.httpdomain', 'sphinx.ext.extlinks', 'sphinx.ext.ifconfig', + 'sphinxcontrib.googleanalytics' +] extlinks = { 'issue': ('https://github.com/envoyproxy/envoy-mobile/issues/%s', ''), 'repo': ('https://github.com/envoyproxy/envoy-mobile/blob/{}/%s'.format(blob_sha), ''), diff --git a/mobile/docs/requirements.txt b/mobile/docs/requirements.txt index 4d697eacf034..4b25295dbcb3 100644 --- a/mobile/docs/requirements.txt +++ b/mobile/docs/requirements.txt @@ -113,6 +113,6 @@ sphinxcontrib-qthelp==1.0.3 \ sphinxcontrib-serializinghtml==1.1.5 \ --hash=sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd \ --hash=sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952 -urllib3==1.26.9 \ - --hash=sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14 \ - --hash=sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e +urllib3==1.26.13 \ + --hash=sha256:47cc05d99aaa09c9e72ed5809b60e7ba354e64b59c9c173ac3018642d8bb41fc \ + --hash=sha256:c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8 diff --git a/mobile/envoy b/mobile/envoy deleted file mode 160000 index b8f85f43b90d..000000000000 --- a/mobile/envoy +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b8f85f43b90d69b9e7303d68d1ea585f723759d0 diff --git a/mobile/tools/check_format.sh b/mobile/tools/check_format.sh index c42656c6b729..a42e5885562e 100755 --- a/mobile/tools/check_format.sh +++ b/mobile/tools/check_format.sh @@ -22,29 +22,9 @@ TARGET_PATH="$2" # TODO(mattklein123): WORKSPACE is excluded due to warning about @bazel_tools reference. Fix here # or in the upstream checker. - -FORMAT_ARGS=( - --config_path envoy/tools/code_format/config.yaml - --add-excluded-prefixes - ./envoy/ ./envoy_build_config/extensions_build_config.bzl ./WORKSPACE - ./Envoy.xcodeproj/ ./dist/ ./library/common/config_template.cc - ./bazel/envoy_mobile_swift_bazel_support.bzl - ./bazel/envoy_mobile_repositories.bzl - ./examples/swift/swiftpm/Packages/Envoy.xcframework - --skip_envoy_build_rule_check - "$ENVOY_FORMAT_ACTION") -if [[ -n "$TARGET_PATH" ]]; then - FORMAT_ARGS+=("$TARGET_PATH") -fi -FORMAT_ARGS+=( - --namespace_check_excluded_paths - ./envoy ./examples/ ./library/java/ ./library/kotlin - ./library/objective-c ./test/java ./test/java - ./test/objective-c ./test/swift ./experimental/swift - --build_fixer_check_excluded_paths - ./envoy ./BUILD ./dist ./examples ./library/java - ./library/kotlin ./library/objective-c ./library/swift - ./library/common/extensions ./test/java ./test/kotlin ./test/objective-c - ./test/swift ./experimental/swift) - -ENVOY_BAZEL_PREFIX=@envoy envoy/tools/code_format/check_format.py "${FORMAT_ARGS[@]}" +ENVOY_BAZEL_PREFIX=@envoy ../tools/code_format/check_format.py \ + --config_path ../tools/code_format/config.yaml \ + --add-excluded-prefixes ./envoy/ ./envoy_build_config/extensions_build_config.bzl ./WORKSPACE ./Envoy.xcodeproj/ ./dist/ ./library/common/config_template.cc ./bazel/envoy_mobile_swift_bazel_support.bzl ./bazel/envoy_mobile_repositories.bzl ./examples/swift/swiftpm/Packages/Envoy.xcframework \ + --skip_envoy_build_rule_check "$ENVOY_FORMAT_ACTION" "$TARGET_PATH" \ + --namespace_check_excluded_paths ./envoy ./examples/ ./library/java/ ./library/kotlin ./library/objective-c ./test/java ./test/java ./test/objective-c ./test/swift ./experimental/swift \ + --build_fixer_check_excluded_paths ./envoy ./BUILD ./dist ./examples ./library/java ./library/kotlin ./library/objective-c ./library/swift ./library/common/extensions ./test/java ./test/kotlin ./test/objective-c ./test/swift ./experimental/swift