Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .bazelignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
bzl-examples
2 changes: 0 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,10 @@ updates:
directory: "/"
schedule:
interval: "daily"

- package-ecosystem: "gradle"
directory: "/examples"
schedule:
interval: "daily"

- package-ecosystem: "github-actions"
directory: "/"
schedule:
Expand Down
84 changes: 44 additions & 40 deletions .github/workflows/bazel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,44 +9,48 @@ jobs:
bazel:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Mount bazel cache
uses: actions/cache@v4
with:
path: "/home/runner/.cache/bazel"
key: bazel
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'
- name: Install bazelisk
run: |
curl -LO "https://github.com/bazelbuild/bazelisk/releases/download/v1.26.0/bazelisk-linux-amd64"
mkdir -p "${GITHUB_WORKSPACE}/bin/"
mv bazelisk-linux-amd64 "${GITHUB_WORKSPACE}/bin/bazel"
chmod +x "${GITHUB_WORKSPACE}/bin/bazel"
- name: Build
uses: nick-invision/retry@v3
with:
timeout_minutes: 10
max_attempts: 3
command: |
- uses: actions/checkout@v5
- name: Mount bazel cache
uses: actions/cache@v4
with:
path: "/home/runner/.cache/bazel"
key: bazel
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'
- name: Install bazelisk
run: |
curl -LO "https://github.com/bazelbuild/bazelisk/releases/download/v1.26.0/bazelisk-linux-amd64"
mkdir -p "${GITHUB_WORKSPACE}/bin/"
mv bazelisk-linux-amd64 "${GITHUB_WORKSPACE}/bin/bazel"
chmod +x "${GITHUB_WORKSPACE}/bin/bazel"
- name: Lint - Please run `bazelisk run //:format`
run: |
cd "${GITHUB_WORKSPACE}"
"${GITHUB_WORKSPACE}/bin/bazel" build //...
- name: Test
uses: nick-invision/retry@v3
with:
timeout_minutes: 10
max_attempts: 3
command: |
cd "${GITHUB_WORKSPACE}"
"${GITHUB_WORKSPACE}/bin/bazel" test //...
- name: Test bzl-examples/bzlmod
uses: nick-invision/retry@v3
with:
timeout_minutes: 10
max_attempts: 3
command: |
cd "${GITHUB_WORKSPACE}/bzl-examples/bzlmod"
"${GITHUB_WORKSPACE}/bin/bazel" test //...
"${GITHUB_WORKSPACE}/bin/bazel" run //:format.check
- name: Build
uses: nick-invision/retry@v3
with:
timeout_minutes: 10
max_attempts: 3
command: |
cd "${GITHUB_WORKSPACE}"
"${GITHUB_WORKSPACE}/bin/bazel" build //...
- name: Test
uses: nick-invision/retry@v3
with:
timeout_minutes: 10
max_attempts: 3
command: |
cd "${GITHUB_WORKSPACE}"
"${GITHUB_WORKSPACE}/bin/bazel" test //...
- name: Test bzl-examples/bzlmod
uses: nick-invision/retry@v3
with:
timeout_minutes: 10
max_attempts: 3
command: |
cd "${GITHUB_WORKSPACE}/bzl-examples/bzlmod"
"${GITHUB_WORKSPACE}/bin/bazel" test //...
46 changes: 21 additions & 25 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,28 +14,24 @@ jobs:
os: [ubuntu-latest, macos-13]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5

- name: Set up JDK 17
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4

- name: Test on Mac
if: matrix.os == 'macos-13'
run: |
brew install docker colima
colima start --network-address
export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock
export TESTCONTAINERS_HOST_OVERRIDE=$(colima ls -j | jq -r '.address')
export DOCKER_HOST="unix://${HOME}/.colima/default/docker.sock"
./gradlew test

- name: Test on Ubuntu
if: matrix.os == 'ubuntu-latest'
run: |
./gradlew test
- uses: actions/checkout@v5
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
- name: Test on Mac
if: matrix.os == 'macos-13'
run: |
brew install docker colima
colima start --network-address
export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock
export TESTCONTAINERS_HOST_OVERRIDE=$(colima ls -j | jq -r '.address')
export DOCKER_HOST="unix://${HOME}/.colima/default/docker.sock"
./gradlew test
- name: Test on Ubuntu
if: matrix.os == 'ubuntu-latest'
run: |
./gradlew test
6 changes: 1 addition & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,18 @@ on:
tags:
- v**
workflow_dispatch:

jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5

- name: Set up JDK 17
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4

- name: release
env:
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
Expand All @@ -28,5 +24,5 @@ jobs:
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
run: |
# todo: verify version is same as tag

./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
42 changes: 41 additions & 1 deletion BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1 +1,41 @@
# Deliberately empty
load("@aspect_rules_lint//format:defs.bzl", "format_multirun")
load("@rules_java//java:defs.bzl", "java_binary")
load("@rules_multirun//:defs.bzl", "command")

java_binary(
name = "ktfmt",
main_class = "com.facebook.ktfmt.cli.Main",
tags = ["manual"],
runtime_deps = ["@ktfmt//jar"],
)

command(
name = "ktfmt_wrapper",
arguments = ["--google-style"],
command = ":ktfmt",
tags = ["manual"],
)

java_binary(
name = "java-format",
jvm_flags = [
"--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
"--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED",
"--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED",
"--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
"--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
],
main_class = "com.google.googlejavaformat.java.Main",
tags = ["manual"],
runtime_deps = ["@google-java-format//jar"],
)

format_multirun(
name = "format",
java = ":java-format",
kotlin = ":ktfmt_wrapper",
protocol_buffer = "@rules_buf_toolchains//:buf",
starlark = "@buildifier_prebuilt//:buildifier",
tags = ["manual"],
yaml = "@aspect_rules_lint//format:yamlfmt",
)
5 changes: 2 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,8 @@ How to get your contributions merged smoothly and quickly.
- Provide a good **PR description** as a record of **what** change is being made
and **why** it was made. Link to a GitHub issue if it exists.

- Don't fix code style and formatting unless you are already changing that line
to address an issue. PRs with irrelevant changes won't be merged. If you do
want to fix formatting or style, do that in a separate PR.
- Run `bazelisk run //:format` to fix code style and formatting before committing.
PRs with invalid format won't be merged. If you do want to support formatting for a new language, do that in a separate commit before adding another commit that reformats all relevant files.

- If you are adding a new file, make sure it has the copyright message template
at the top as a comment. You can copy over the message from an existing file
Expand Down
24 changes: 22 additions & 2 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,20 @@ bazel_dep(name = "rules_java", version = "8.15.1")
bazel_dep(name = "rules_jvm_external", version = "6.8")
bazel_dep(name = "grpc-java", version = "1.71.0")

# Formatter.
bazel_dep(name = "aspect_rules_lint", version = "1.6.0", dev_dependency = True)
bazel_dep(name = "buildifier_prebuilt", version = "8.2.0.2", dev_dependency = True)
bazel_dep(name = "rules_buf", version = "0.5.2", dev_dependency = True)
bazel_dep(name = "rules_multirun", version = "0.13.0", dev_dependency = True)

http_jar = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_jar")

http_jar(
name = "google-java-format",
sha256 = "33068bbbdce1099982ec1171f5e202898eb35f2919cf486141e439fc6e3a4203",
url = "https://github.com/google/google-java-format/releases/download/v1.17.0/google-java-format-1.17.0-all-deps.jar",
)

grpc_kotlin_maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
grpc_kotlin_maven.install(
name = "grpc_kotlin_maven",
Expand All @@ -23,14 +37,20 @@ grpc_kotlin_maven.install(
"com.google.protobuf:protobuf-java:4.30.2",
"com.google.protobuf:protobuf-kotlin:4.30.2",
"com.google.guava:guava:33.3.1-android",
"com.squareup:kotlinpoet:1.14.2", # Max version without causing compiler errors.
"com.squareup:kotlinpoet:1.14.2", # Max version without causing compiler errors.
"junit:junit:4.13.2",
"org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1",
"org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.1",
],
fetch_sources = False,
lock_file = "//:grpc_kotlin_maven_install.json",
generate_compat_repositories = True,
lock_file = "//:grpc_kotlin_maven_install.json",
strict_visibility = True,
)
use_repo(grpc_kotlin_maven, "grpc_kotlin_maven")

install_ktfmt = use_extension("//:extensions.bzl", "install_ktfmt", dev_dependency = True)
use_repo(install_ktfmt, "ktfmt")

buf = use_extension("@rules_buf//buf:extensions.bzl", "buf", dev_dependency = True)
use_repo(buf, "rules_buf_toolchains")
2 changes: 1 addition & 1 deletion REPO.bazel
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ignore_directories(["bzl-examples", "formatter", "**/bin"])
ignore_directories(["bzl-examples", "**/bin"])
Loading