Skip to content

Commit df2c724

Browse files
authored
Merge pull request #14 from buildkite/test/bazel-in-pipeline
Adding some pipeline config for running bazel
2 parents d796fe1 + 6575583 commit df2c724

File tree

10 files changed

+214
-797
lines changed

10 files changed

+214
-797
lines changed

.bazelrc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1+
common --show_timestamps --enable_platform_specific_config --experimental_convenience_symlinks=ignore
2+
13
build --cxxopt='-std=c++14'
24
build --action_env SENTRY_DSN_PATH= --action_env SENTRY_DSN_HOST=

.buildkite/pipeline.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,23 @@ steps:
2525
- build-apple
2626
artifact_paths:
2727
- "screenshots/**/*.png"
28+
29+
- label: ":bazel: build"
30+
key: bazel-build
31+
command: "bazelisk build //FlappyKite:FlappyKite"
32+
cache:
33+
paths:
34+
- ".cache"
35+
size: "20g"
36+
name: "bazel"
37+
38+
- label: ":bazel: test"
39+
key: bazel-test
40+
depends_on:
41+
- bazel-build
42+
command: "bazelisk build //FlappyKiteTests:FlappyKiteTests //FlappyKiteUITests:FlappyKiteUITests"
43+
cache:
44+
paths:
45+
- ".cache"
46+
size: "20g"
47+
name: "bazel"

BUILD.bazel

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,19 @@
11
load("@gazelle//:def.bzl", "gazelle", "gazelle_binary")
2-
load("@rules_swift_package_manager//swiftpkg:defs.bzl", "swift_update_packages")
32

4-
gazelle_binary(name = "gazelle_bin", languages = ["@rules_swift_package_manager//gazelle"])
3+
gazelle_binary(
4+
name = "gazelle_bin",
5+
languages = [
6+
"@rules_swift_package_manager//gazelle",
7+
],
8+
)
59

6-
swift_update_packages(name = "swift_update_packages", gazelle = ":gazelle_bin", generate_swift_deps_for_workspace = False, update_bzlmod_stanzas = True)
7-
8-
gazelle(name = "update_build_files", gazelle = ":gazelle_bin")
10+
gazelle(
11+
name = "update_build_files",
12+
data = [
13+
"@swift_deps_info//:swift_deps_index",
14+
],
15+
extra_args = [
16+
"-swift_dependency_index=$(location @swift_deps_info//:swift_deps_index)",
17+
],
18+
gazelle = ":gazelle_bin",
19+
)

FlappyKite/BUILD.bazel

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@ swift_library(
3131
srcs = glob(["**/*.swift"]),
3232
module_name = "FlappyKite",
3333
visibility = ["//FlappyKiteTests:__pkg__"],
34-
deps = [
35-
"@swiftpkg_sentry_cocoa//:Sentry"
36-
],
34+
deps = ["@swiftpkg_sentry_cocoa//:Sentry"],
3735
)
3836

3937
expand_template(

FlappyKiteTests/BUILD.bazel

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,8 @@ ios_unit_test(
1111

1212
swift_library(
1313
name = "FlappyKiteTests.library",
14+
testonly = True,
1415
srcs = glob(["**/*.swift"]),
1516
module_name = "FlappyKiteTests",
16-
testonly = True,
17-
deps = [
18-
"//FlappyKite:FlappyKite.library",
19-
],
17+
deps = ["//FlappyKite:FlappyKite.library"],
2018
)

FlappyKiteUITests/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ios_ui_test(
1111

1212
swift_library(
1313
name = "FlappyKiteUITests.library",
14+
testonly = True,
1415
srcs = glob(["**/*.swift"]),
1516
module_name = "FlappyKiteUITests",
16-
testonly = True,
1717
)

MODULE.bazel

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
1-
bazel_dep(name = "apple_support", version = "1.14.0")
2-
bazel_dep(name = "rules_swift", version = "1.16.0", repo_name = "build_bazel_rules_swift")
3-
bazel_dep(name = "rules_apple", version = "3.3.0", repo_name = "build_bazel_rules_apple")
4-
bazel_dep(name = "bazel_skylib", version = "1.6.1")
5-
bazel_dep(name = "rules_swift_package_manager", version = "0.28.0")
6-
bazel_dep(name = "gazelle", version = "0.35.0")
1+
bazel_dep(name = "apple_support", version = "1.17.1")
2+
bazel_dep(name = "rules_swift", version = "2.3.1", repo_name = "build_bazel_rules_swift")
3+
bazel_dep(name = "rules_apple", version = "3.16.1", repo_name = "build_bazel_rules_apple")
4+
bazel_dep(name = "bazel_skylib", version = "1.7.1")
5+
bazel_dep(name = "rules_swift_package_manager", version = "0.43.0")
6+
bazel_dep(name = "gazelle", version = "0.40.0")
77

88
# swift_deps START
99
swift_deps = use_extension(
1010
"@rules_swift_package_manager//:extensions.bzl",
1111
"swift_deps",
1212
)
13-
swift_deps.from_file(
14-
deps_index = "//:swift_deps_index.json",
13+
swift_deps.from_package(
14+
declare_swift_deps_info = True,
15+
resolved = "//:Package.resolved",
16+
swift = "//:Package.swift",
1517
)
1618
use_repo(
1719
swift_deps,
20+
"swift_deps_info",
21+
"swift_package",
1822
"swiftpkg_sentry_cocoa",
1923
)
2024
# swift_deps END

MODULE.bazel.lock

Lines changed: 135 additions & 773 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.resolved

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,27 @@ A Bazel workspace has been configured for FlappyKite, with all required `BUILD`,
3333
`MODULE`, and `WORKSPACE` files included. These are **purely additive** to the
3434
project and are not required to be used or kept, they can safely be ignored.
3535

36+
### Updating
37+
38+
To update the dependencies, a single target can be used.
39+
40+
```sh
41+
bazelisk run @swift_package//:update
42+
```
43+
44+
It's also quite useful to keep the configuration clean, with another command.
45+
46+
```sh
47+
bazelisk mod tidy
48+
```
49+
50+
If larger changes are made, or versions bumped, it's handy to keep the build files
51+
up-to-date with any changes.
52+
53+
```sh
54+
bazelisk run //:update_build_files
55+
```
56+
3657
### Building
3758

3859
Similar to the local XCode development, the Sentry configuration is stored within

0 commit comments

Comments
 (0)