Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add integration tests for protoc-gen-go-grpc #3787

Merged

Conversation

ryanpbrewster
Copy link
Contributor

@ryanpbrewster ryanpbrewster commented Dec 14, 2023

What type of PR is this?

Other: adding integration tests

What does this PR do? Why is it needed?
This is a resurrection of #3783 now that #3761 has been merged. This PR is purely testing. It adds an integration test that exercises some of the novel codegen features of the protoc-gen-go-grpc plugin.

This:

  • ensures that the plugin is working properly (and can be extended in order to validate new functionality)
  • serves as a bit of "living documentation" for users to demonstrate how to use the new compiler

@ryanpbrewster
Copy link
Contributor Author

cc: @fmeum @mering

Copy link
Contributor

@mering mering left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

tests/integration/grpc_plugin/BUILD.bazel Outdated Show resolved Hide resolved
tests/integration/grpc_plugin/README.rst Show resolved Hide resolved
ryanpbrewster and others added 2 commits December 14, 2023 09:18
Copy link
Collaborator

@fmeum fmeum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@fmeum fmeum merged commit 995bd39 into bazelbuild:master Dec 14, 2023
2 checks passed
cgrindel-self-hosted-renovate bot added a commit to cgrindel/bazel-starlib that referenced this pull request Dec 19, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) |
http_archive | minor | `v0.43.0` -> `v0.44.0` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go (io_bazel_rules_go)</summary>

###
[`v0.44.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.44.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.43.0...v0.44.0)

### IMPORTANT CHANGES

#### Tests now call `panic()` when they timeout

This means there is a running goroutine (which will fail
[goleak](https://togithub.com/uber-go/goleak) detection)

[Goroutine 26 in state chan receive, with
github.com/bazelbuild/rules_go/go/tools/bzltestutil.RegisterTimeoutHandler.func1
on top of the

This also means there may be some different behavior when calling
`SIGTERM` directly from within a test.

For more information see:
[bazelbuild/rules_go#3749

#### Bzlmod support for `nogo`

This can be added in your `MODULE.bazel` file:

go_sdk = use_extension("@&#8203;io_bazel_rules_go//go:extensions.bzl",
"go_sdk")
    go_sdk.download(
        name = "go_sdk",
        ...
    )
    go_sdk.nogo(
        nogo = "//:default_nogo",
    )

For more information see
[bazelbuild/rules_go#3782

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"c8035e8ae248b56040a65ad3f0b7434712e2037e5dfdcebfe97576e620422709",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.21.5")

#### What's Changed

- Do not test on centos7 by [@&#8203;fmeum](https://togithub.com/fmeum)
in
[bazelbuild/rules_go#3757
- update documentation for 0.43.0 release by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[bazelbuild/rules_go#3758
- Add toolchain param to affected actions by
[@&#8203;kotlaja](https://togithub.com/kotlaja) in
[bazelbuild/rules_go#3760
- Update GO_TOOLCHAIN string to Label and add toolchain param to one
more action by [@&#8203;kotlaja](https://togithub.com/kotlaja) in
[bazelbuild/rules_go#3762
- Do not choose prereleases as highest versions by
[@&#8203;mering](https://togithub.com/mering) in
[bazelbuild/rules_go#3764
- Remove unmaintained validators by
[@&#8203;mering](https://togithub.com/mering) in
[bazelbuild/rules_go#3768
- Use `tools.go` trick to make `go.mod` work with `go mod tidy` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3775
- feat(packagesdriver): add \_test suffix to pkgPath by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3777
- Typo --test_runner_fail_fast by
[@&#8203;Clement-Jean](https://togithub.com/Clement-Jean) in
[bazelbuild/rules_go#3773
- Panic when a test times out by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3749
- Fix integration tests with Bazel@HEAD by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3781
- Automatically register SDKs for common execution platforms by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3634
- fix `aux_files` relative paths for gomock source mocks (fix
[#&#8203;3752](https://togithub.com/bazelbuild/rules_go/issues/3752)) by
[@&#8203;ikavalio](https://togithub.com/ikavalio) in
[bazelbuild/rules_go#3753
- Update to modern protoc plugins by
[@&#8203;mering](https://togithub.com/mering) in
[bazelbuild/rules_go#3761
- Add integration tests for protoc-gen-go-grpc by
[@&#8203;ryanpbrewster](https://togithub.com/ryanpbrewster) in
[bazelbuild/rules_go#3787
- Add Bzlmod support for `nogo` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3782
- fix(gpd): don't panic on invalid root by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3779
- Pass env to gentestmain so it will correctly filter by
[@&#8203;patrickmscott](https://togithub.com/patrickmscott) in
[bazelbuild/rules_go#3785
- prepare release 0.44.0 by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[bazelbuild/rules_go#3788

#### New Contributors

- [@&#8203;Clement-Jean](https://togithub.com/Clement-Jean) made their
first contribution in
[bazelbuild/rules_go#3773
- [@&#8203;ikavalio](https://togithub.com/ikavalio) made their first
contribution in
[bazelbuild/rules_go#3753
- [@&#8203;ryanpbrewster](https://togithub.com/ryanpbrewster) made their
first contribution in
[bazelbuild/rules_go#3787

**Full Changelog**:
bazelbuild/rules_go@v0.43.0...v0.44.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDAuMCIsInVwZGF0ZWRJblZlciI6IjM2LjEwMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: Self-hosted Renovate Bot <361546+cgrindel-self-hosted-renovate[bot]@users.noreply.github.enterprise.com>
renovate bot added a commit to kreempuff/rules_unreal_engine that referenced this pull request Dec 19, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) |
http_archive | minor | `v0.43.0` -> `v0.44.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>bazelbuild/rules_go (io_bazel_rules_go)</summary>

###
[`v0.44.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.44.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.43.0...v0.44.0)

### IMPORTANT CHANGES

#### Tests now call `panic()` when they timeout

This means there is a running goroutine (which will fail
[goleak](https://togithub.com/uber-go/goleak) detection)

[Goroutine 26 in state chan receive, with
github.com/bazelbuild/rules_go/go/tools/bzltestutil.RegisterTimeoutHandler.func1
on top of the

This also means there may be some different behavior when calling
`SIGTERM` directly from within a test.

For more information see:
[bazelbuild/rules_go#3749

#### Bzlmod support for `nogo`

This can be added in your `MODULE.bazel` file:

go_sdk = use_extension("@&#8203;io_bazel_rules_go//go:extensions.bzl",
"go_sdk")
    go_sdk.download(
        name = "go_sdk",
        ...
    )
    go_sdk.nogo(
        nogo = "//:default_nogo",
    )

For more information see
[bazelbuild/rules_go#3782

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"c8035e8ae248b56040a65ad3f0b7434712e2037e5dfdcebfe97576e620422709",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.21.5")

#### What's Changed

- Do not test on centos7 by [@&#8203;fmeum](https://togithub.com/fmeum)
in
[bazelbuild/rules_go#3757
- update documentation for 0.43.0 release by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[bazelbuild/rules_go#3758
- Add toolchain param to affected actions by
[@&#8203;kotlaja](https://togithub.com/kotlaja) in
[bazelbuild/rules_go#3760
- Update GO_TOOLCHAIN string to Label and add toolchain param to one
more action by [@&#8203;kotlaja](https://togithub.com/kotlaja) in
[bazelbuild/rules_go#3762
- Do not choose prereleases as highest versions by
[@&#8203;mering](https://togithub.com/mering) in
[bazelbuild/rules_go#3764
- Remove unmaintained validators by
[@&#8203;mering](https://togithub.com/mering) in
[bazelbuild/rules_go#3768
- Use `tools.go` trick to make `go.mod` work with `go mod tidy` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3775
- feat(packagesdriver): add \_test suffix to pkgPath by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3777
- Typo --test_runner_fail_fast by
[@&#8203;Clement-Jean](https://togithub.com/Clement-Jean) in
[bazelbuild/rules_go#3773
- Panic when a test times out by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3749
- Fix integration tests with Bazel@HEAD by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3781
- Automatically register SDKs for common execution platforms by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3634
- fix `aux_files` relative paths for gomock source mocks (fix
[#&#8203;3752](https://togithub.com/bazelbuild/rules_go/issues/3752)) by
[@&#8203;ikavalio](https://togithub.com/ikavalio) in
[bazelbuild/rules_go#3753
- Update to modern protoc plugins by
[@&#8203;mering](https://togithub.com/mering) in
[bazelbuild/rules_go#3761
- Add integration tests for protoc-gen-go-grpc by
[@&#8203;ryanpbrewster](https://togithub.com/ryanpbrewster) in
[bazelbuild/rules_go#3787
- Add Bzlmod support for `nogo` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3782
- fix(gpd): don't panic on invalid root by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3779
- Pass env to gentestmain so it will correctly filter by
[@&#8203;patrickmscott](https://togithub.com/patrickmscott) in
[bazelbuild/rules_go#3785
- prepare release 0.44.0 by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[bazelbuild/rules_go#3788

#### New Contributors

- [@&#8203;Clement-Jean](https://togithub.com/Clement-Jean) made their
first contribution in
[bazelbuild/rules_go#3773
- [@&#8203;ikavalio](https://togithub.com/ikavalio) made their first
contribution in
[bazelbuild/rules_go#3753
- [@&#8203;ryanpbrewster](https://togithub.com/ryanpbrewster) made their
first contribution in
[bazelbuild/rules_go#3787

**Full Changelog**:
bazelbuild/rules_go@v0.43.0...v0.44.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/kreempuff/rules_unreal_engine).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
cgrindel-self-hosted-renovate bot added a commit to cgrindel/rules_swift_package_manager that referenced this pull request Dec 20, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) |
http_archive | minor | `v0.43.0` -> `v0.44.0` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go (io_bazel_rules_go)</summary>

###
[`v0.44.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.44.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.43.0...v0.44.0)

### IMPORTANT CHANGES

#### Tests now call `panic()` when they timeout

This means there is a running goroutine (which will fail
[goleak](https://togithub.com/uber-go/goleak) detection)

[Goroutine 26 in state chan receive, with
github.com/bazelbuild/rules_go/go/tools/bzltestutil.RegisterTimeoutHandler.func1
on top of the

This also means there may be some different behavior when calling
`SIGTERM` directly from within a test.

For more information see:
[bazelbuild/rules_go#3749

#### Bzlmod support for `nogo`

This can be added in your `MODULE.bazel` file:

go_sdk = use_extension("@&#8203;io_bazel_rules_go//go:extensions.bzl",
"go_sdk")
    go_sdk.download(
        name = "go_sdk",
        ...
    )
    go_sdk.nogo(
        nogo = "//:default_nogo",
    )

For more information see
[bazelbuild/rules_go#3782

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"c8035e8ae248b56040a65ad3f0b7434712e2037e5dfdcebfe97576e620422709",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.21.5")

#### What's Changed

- Do not test on centos7 by [@&#8203;fmeum](https://togithub.com/fmeum)
in
[bazelbuild/rules_go#3757
- update documentation for 0.43.0 release by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[bazelbuild/rules_go#3758
- Add toolchain param to affected actions by
[@&#8203;kotlaja](https://togithub.com/kotlaja) in
[bazelbuild/rules_go#3760
- Update GO_TOOLCHAIN string to Label and add toolchain param to one
more action by [@&#8203;kotlaja](https://togithub.com/kotlaja) in
[bazelbuild/rules_go#3762
- Do not choose prereleases as highest versions by
[@&#8203;mering](https://togithub.com/mering) in
[bazelbuild/rules_go#3764
- Remove unmaintained validators by
[@&#8203;mering](https://togithub.com/mering) in
[bazelbuild/rules_go#3768
- Use `tools.go` trick to make `go.mod` work with `go mod tidy` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3775
- feat(packagesdriver): add \_test suffix to pkgPath by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3777
- Typo --test_runner_fail_fast by
[@&#8203;Clement-Jean](https://togithub.com/Clement-Jean) in
[bazelbuild/rules_go#3773
- Panic when a test times out by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3749
- Fix integration tests with Bazel@HEAD by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3781
- Automatically register SDKs for common execution platforms by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3634
- fix `aux_files` relative paths for gomock source mocks (fix
[#&#8203;3752](https://togithub.com/bazelbuild/rules_go/issues/3752)) by
[@&#8203;ikavalio](https://togithub.com/ikavalio) in
[bazelbuild/rules_go#3753
- Update to modern protoc plugins by
[@&#8203;mering](https://togithub.com/mering) in
[bazelbuild/rules_go#3761
- Add integration tests for protoc-gen-go-grpc by
[@&#8203;ryanpbrewster](https://togithub.com/ryanpbrewster) in
[bazelbuild/rules_go#3787
- Add Bzlmod support for `nogo` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3782
- fix(gpd): don't panic on invalid root by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3779
- Pass env to gentestmain so it will correctly filter by
[@&#8203;patrickmscott](https://togithub.com/patrickmscott) in
[bazelbuild/rules_go#3785
- prepare release 0.44.0 by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[bazelbuild/rules_go#3788

#### New Contributors

- [@&#8203;Clement-Jean](https://togithub.com/Clement-Jean) made their
first contribution in
[bazelbuild/rules_go#3773
- [@&#8203;ikavalio](https://togithub.com/ikavalio) made their first
contribution in
[bazelbuild/rules_go#3753
- [@&#8203;ryanpbrewster](https://togithub.com/ryanpbrewster) made their
first contribution in
[bazelbuild/rules_go#3787

**Full Changelog**:
bazelbuild/rules_go@v0.43.0...v0.44.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDAuMCIsInVwZGF0ZWRJblZlciI6IjM2LjEwMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: Self-hosted Renovate Bot <361546+cgrindel-self-hosted-renovate[bot]@users.noreply.github.enterprise.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants