Skip to content

Commit

Permalink
Update dependencies and Xcode (#75)
Browse files Browse the repository at this point in the history
- Update Bazel ruleset dependencies
- Update CI to Xcode 16.2 and iOS 18.2 simulators
- Update CI to macOS 15 from macOS 14 (needed to find 18.2 simulators,
currently macOS 14 issue)
- Create default test runner with specific device since rules_apple uses
default `iPhone 12` that's not present on default CI VMs

---------

Signed-off-by: Matt Robinson <[email protected]>
  • Loading branch information
mattrobmattrob authored Jan 27, 2025
1 parent e0439dd commit eeb7adf
Show file tree
Hide file tree
Showing 8 changed files with 24 additions and 13 deletions.
1 change: 0 additions & 1 deletion .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ build:remote_cache --nolegacy_important_outputs
#
# https://bazel.build/reference/command-line-reference#flag--bes_upload_mode
build:remote_cache --bes_upload_mode=nowait_for_upload_complete
build:ci --bes_upload_mode=wait_for_upload_complete

# By default don't upload local results to remote cache, only CI does this.
build --noremote_upload_local_results
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ concurrency:
jobs:
tests:
name: Build and Test
runs-on: macos-14
environment: CI
runs-on: macos-15
steps:
- uses: actions/checkout@v3
- name: Set Up CI
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/xcode_select.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@ echo "Selecting Xcode for environment"
printenv

sudo xcode-select -p
sudo xcode-select -s /Applications/Xcode_15.2.app
sudo xcode-select -s /Applications/Xcode_16.2.app

echo "Printing available simulators"

xcrun simctl list devices

echo "Generating bazelrc"

Expand Down
6 changes: 3 additions & 3 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@ bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "rules_xcodeproj", version = "2.10.0")
bazel_dep(
name = "apple_support",
version = "1.17.0",
version = "1.17.1",
repo_name = "build_bazel_apple_support",
)
bazel_dep(
name = "rules_swift",
version = "2.3.1",
version = "2.4.0",
repo_name = "build_bazel_rules_swift",
)
bazel_dep(
name = "rules_apple",
version = "3.16.1",
version = "3.17.0",
repo_name = "build_bazel_rules_apple",
)

Expand Down
4 changes: 2 additions & 2 deletions modules/API/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@build_bazel_rules_apple//apple:ios.bzl", "ios_unit_test")
load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library")
load("//tools:shared.bzl", "default_test_runner", "versions")
load("//tools:shared.bzl", "versions")

# Code

Expand Down Expand Up @@ -33,7 +33,7 @@ swift_library(
ios_unit_test(
name = "APITests",
minimum_os_version = versions.minimum_ios_version,
runner = "//tools:default_test_runner",
visibility = ["//modules:default_test_visibility"],
deps = [":APITestsLib"],
runner = default_test_runner,
)
4 changes: 2 additions & 2 deletions modules/Models/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@build_bazel_rules_apple//apple:ios.bzl", "ios_unit_test")
load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library")
load("//tools:shared.bzl", "default_test_runner", "versions")
load("//tools:shared.bzl", "versions")

# Code

Expand Down Expand Up @@ -30,7 +30,7 @@ swift_library(
ios_unit_test(
name = "ModelsTests",
minimum_os_version = versions.minimum_ios_version,
runner = "//tools:default_test_runner",
visibility = ["//modules:default_test_visibility"],
deps = [":ModelsTestsLib"],
runner = default_test_runner,
)
11 changes: 11 additions & 0 deletions tools/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
load(
"@build_bazel_rules_apple//apple/testing/default_runner:ios_xctestrun_runner.bzl",
"ios_xctestrun_runner",
)

ios_xctestrun_runner(
name = "default_test_runner",
device_type = "iPhone 16",
random = True,
visibility = ["//visibility:public"],
)
2 changes: 0 additions & 2 deletions tools/shared.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,3 @@ app_info = struct(
versions = struct(
minimum_ios_version = "18.0",
)

default_test_runner = Label("@build_bazel_rules_apple//apple/testing/default_runner:ios_xctestrun_random_runner")

0 comments on commit eeb7adf

Please sign in to comment.