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

Adding first example #3317

Merged
merged 10 commits into from
Dec 1, 2022
Merged

Adding first example #3317

merged 10 commits into from
Dec 1, 2022

Conversation

chrislovecnm
Copy link
Contributor

@chrislovecnm chrislovecnm commented Oct 10, 2022

This PR includes the source code for the tutorial that is hosted here: https://bazel-contrib.github.io/SIG-rules-authors/go-tutorial.html

The code for the above HTML is on the gh-pages branch of the SIG-rules-authors repository:
https://github.com/bazel-contrib/SIG-rules-authors/tree/gh-pages

This tutorial source code includes:

  • basic go rules support
  • a basic cobra CLI application
  • unit test
  • Gazelle support

After this PR is finalized, I will update the tutorial markdown.

We are also adding CI/CD for the example. This PR modifies the
presubmit.yml file. This project also uses the words file that
requires the installation of "wamerican", and we are installing that
package during CI/CD.

Fixes: #3316

@google-cla
Copy link

google-cla bot commented Oct 10, 2022

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@chrislovecnm
Copy link
Contributor Author

So we are having issues with the CLA, which we have, but I use an alias email and not my login email (security). Secondly, I don't understand why CI is running in the examples directory 🤔 - It is running in the wrong directory.

(16:51:43) ERROR: Analysis of target '//examples/go-code-tutorial:go-code-tutorial' failed; build aborted: no such package 'cmd': BUILD file not found in any of the following directories. Add a BUILD file to a directory to mark it as a package.
--
  | - /workdir/cmd

@fmeum @alexeagle

@chrislovecnm chrislovecnm force-pushed the tutorial branch 2 times, most recently from ac5d64c to 8c60b47 Compare October 10, 2022 17:29
@fmeum
Copy link
Member

fmeum commented Oct 10, 2022

So we are having issues with the CLA, which we have, but I use an alias email and not my login email (security).

Could you sign the CLA again, this time with your alias? That's going to be the easiest solution by far as we don't control the CLA checks and would otherwise need to get Googlers involved.

Secondly, I don't understand why CI is running in the examples directory thinking - It is running in the wrong directory.

Adding examples to the top-level .bazelignore should help.

@chrislovecnm
Copy link
Contributor Author

We have a corporate CLA, and my email is set to my alias - we may need to get a googler involved. I may try another PR with the GitHub hidden email 🤔

@fmeum
Copy link
Member

fmeum commented Oct 10, 2022

Yes, please try changing your committer email first. If that doesn't work, I can ping someone.

@alexeagle
Copy link
Contributor

when you add a nested workspace, you need to exclude that folder from the outer workspace, Bazel does not do that automatically. You should add examples to .bazelignore

(note, it also excludes it to add a local_repository pointing the outer workspace to the inner one, but IMO that introduces what appears like a load-bearing edge in the graph where it's actually dead code)

@chrislovecnm
Copy link
Contributor Author

@fmeum I have the correct email address matched to the commit. So I am not certain why the Google CLA machine is not happy

@chrislovecnm
Copy link
Contributor Author

@fmeum so the CI passed, but of course, it did not test the code. How do we get CI to do a bazel call in another dir?

@fmeum
Copy link
Member

fmeum commented Oct 11, 2022

@chrislovecnm Your committer email is [email protected]. Are you sure you signed the CLA for that using your current GitHub account and have that email visible? If not, does this help:

You may have Keep my email address private enabled. Without a visible email address, the CLA cannot be checked. Uncheck it and re-create the offending commit, or have your CLA point of contact add your @users.noreply.github.com address to the CLA group.

You can add a new task to presubmit.yml and use the working_directory setting (see https://github.com/bazelbuild/rules_go/blob/d517cd9bec43f0541b421315fe633cdd0f204270/.bazelci/presubmit.yml#L30 for an example).

@chrislovecnm
Copy link
Contributor Author

@fmeum awesome I will do that. I do need someone from Google to check on the CLA. I have set it up six ways sideways :(

@alexeagle
Copy link
Contributor

Squashing to a single commit might make it easier, since all of them need to pass the validation

@chrislovecnm chrislovecnm force-pushed the tutorial branch 2 times, most recently from 48643e3 to 2e7c644 Compare October 13, 2022 16:02
@chrislovecnm
Copy link
Contributor Author

@fmeum and @alexeagle PTAL!

@fmeum
Copy link
Member

fmeum commented Oct 13, 2022

Looks pretty good to me, just left a few comments. I would also like to have @alexeagle take a look before merging.

@chrislovecnm chrislovecnm force-pushed the tutorial branch 2 times, most recently from 5580fdd to 9296be8 Compare October 18, 2022 16:36
@chrislovecnm
Copy link
Contributor Author

@alexeagle PTAL

- Imported klog
- added klog to different go files
- used bazel to update go.mod
- used gazelle to updated the BUILD files
Adding testing the examples with the macos platform.
Copy link
Contributor

@alexeagle alexeagle left a comment

Choose a reason for hiding this comment

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

LGTM

@fmeum want to squash & merge it?

Copy link
Member

@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.

Looks good to me as well, thanks @chrislovecnm!

@fmeum fmeum merged commit 42451f5 into bazel-contrib:master Dec 1, 2022
renovate bot referenced this pull request in cgrindel/bazel-starlib Dec 6, 2022
[![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.36.0` -> `v0.37.0` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go</summary>

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

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

#### Major New Features

- Support fetching packages for generated code in the Go Packages Driver

#### What's Changed

- bzlmod: Add missing `strip_prefix` field to `source.template.json` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3359](https://togithub.com/bazelbuild/rules_go/pull/3359)
- Declare toolchains in a separate repository by
[@&#8203;jfirebaugh](https://togithub.com/jfirebaugh) in
[https://github.com/bazelbuild/rules_go/pull/3348](https://togithub.com/bazelbuild/rules_go/pull/3348)
- Delete legacy actions API by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3173](https://togithub.com/bazelbuild/rules_go/pull/3173)
- go_path: support go:embed of generated files by
[@&#8203;S-Chan](https://togithub.com/S-Chan) in
[https://github.com/bazelbuild/rules_go/pull/3285](https://togithub.com/bazelbuild/rules_go/pull/3285)
- Properly deprecate `bindata`, `go_embed_data`, and
`go_embed_data_deps` by [@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3362](https://togithub.com/bazelbuild/rules_go/pull/3362)
- link.bzl: ignore duplicate dep on coverdata by
[@&#8203;robfig](https://togithub.com/robfig) in
[https://github.com/bazelbuild/rules_go/pull/3032](https://togithub.com/bazelbuild/rules_go/pull/3032)
- feat(pkg-drv): add support for generated files by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3354](https://togithub.com/bazelbuild/rules_go/pull/3354)
- Remove unused variables in link action by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3367](https://togithub.com/bazelbuild/rules_go/pull/3367)
- Reduce number of declared files in `emit_stdlib` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3366](https://togithub.com/bazelbuild/rules_go/pull/3366)
- Update docs regarding vendored proto files by
[@&#8203;garymm](https://togithub.com/garymm) in
[https://github.com/bazelbuild/rules_go/pull/3360](https://togithub.com/bazelbuild/rules_go/pull/3360)
- go link: use external linker when in race mode by
[@&#8203;motiejus](https://togithub.com/motiejus) in
[https://github.com/bazelbuild/rules_go/pull/3370](https://togithub.com/bazelbuild/rules_go/pull/3370)
- Adding first example by
[@&#8203;chrislovecnm](https://togithub.com/chrislovecnm) in
[https://github.com/bazelbuild/rules_go/pull/3317](https://togithub.com/bazelbuild/rules_go/pull/3317)
- fix(packagesdriver): bazelFlags should prefix the command by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3371](https://togithub.com/bazelbuild/rules_go/pull/3371)
- chore(gpd): export aspect utils for reusability by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3373](https://togithub.com/bazelbuild/rules_go/pull/3373)
- nogo: Add a \_base key to be a default config for all Analyzers. by
[@&#8203;DolceTriade](https://togithub.com/DolceTriade) in
[https://github.com/bazelbuild/rules_go/pull/3351](https://togithub.com/bazelbuild/rules_go/pull/3351)
- Document that `Rlocation` can return relative paths by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3377](https://togithub.com/bazelbuild/rules_go/pull/3377)
- Fix normalization check for `Rlocation` path by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3378](https://togithub.com/bazelbuild/rules_go/pull/3378)
- fix(gpd): Write large target patterns to file by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3372](https://togithub.com/bazelbuild/rules_go/pull/3372)
- Make Go runfiles library repo mapping aware by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3347](https://togithub.com/bazelbuild/rules_go/pull/3347)

#### New Contributors

- [@&#8203;jfirebaugh](https://togithub.com/jfirebaugh) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3348](https://togithub.com/bazelbuild/rules_go/pull/3348)
- [@&#8203;S-Chan](https://togithub.com/S-Chan) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3285](https://togithub.com/bazelbuild/rules_go/pull/3285)
- [@&#8203;garymm](https://togithub.com/garymm) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3360](https://togithub.com/bazelbuild/rules_go/pull/3360)
- [@&#8203;motiejus](https://togithub.com/motiejus) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3370](https://togithub.com/bazelbuild/rules_go/pull/3370)
- [@&#8203;chrislovecnm](https://togithub.com/chrislovecnm) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3317](https://togithub.com/bazelbuild/rules_go/pull/3317)
- [@&#8203;DolceTriade](https://togithub.com/DolceTriade) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3351](https://togithub.com/bazelbuild/rules_go/pull/3351)

**Full Changelog**:
bazel-contrib/rules_go@v0.36.0...v0.37.0

#### `WORKSPACE` code

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

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"56d8c5a5c91e1af73eca71a6fab2ced959b67c86d12ba37feedb0a2dfea441a6",
        urls = [

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

"https://github.com/bazelbuild/rules_go/releases/download/v0.37.0/rules_go-v0.37.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.19.3")

</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.

🔕 **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://app.renovatebot.com/dashboard#github/cgrindel/bazel-starlib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC40OS4wIiwidXBkYXRlZEluVmVyIjoiMzQuNDkuMCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in cgrindel/rules_swift_package_manager Dec 7, 2022
[![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.36.0` -> `v0.37.0` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go</summary>

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

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

#### Major New Features

- Support fetching packages for generated code in the Go Packages Driver

#### What's Changed

- bzlmod: Add missing `strip_prefix` field to `source.template.json` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3359](https://togithub.com/bazelbuild/rules_go/pull/3359)
- Declare toolchains in a separate repository by
[@&#8203;jfirebaugh](https://togithub.com/jfirebaugh) in
[https://github.com/bazelbuild/rules_go/pull/3348](https://togithub.com/bazelbuild/rules_go/pull/3348)
- Delete legacy actions API by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3173](https://togithub.com/bazelbuild/rules_go/pull/3173)
- go_path: support go:embed of generated files by
[@&#8203;S-Chan](https://togithub.com/S-Chan) in
[https://github.com/bazelbuild/rules_go/pull/3285](https://togithub.com/bazelbuild/rules_go/pull/3285)
- Properly deprecate `bindata`, `go_embed_data`, and
`go_embed_data_deps` by [@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3362](https://togithub.com/bazelbuild/rules_go/pull/3362)
- link.bzl: ignore duplicate dep on coverdata by
[@&#8203;robfig](https://togithub.com/robfig) in
[https://github.com/bazelbuild/rules_go/pull/3032](https://togithub.com/bazelbuild/rules_go/pull/3032)
- feat(pkg-drv): add support for generated files by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3354](https://togithub.com/bazelbuild/rules_go/pull/3354)
- Remove unused variables in link action by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3367](https://togithub.com/bazelbuild/rules_go/pull/3367)
- Reduce number of declared files in `emit_stdlib` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3366](https://togithub.com/bazelbuild/rules_go/pull/3366)
- Update docs regarding vendored proto files by
[@&#8203;garymm](https://togithub.com/garymm) in
[https://github.com/bazelbuild/rules_go/pull/3360](https://togithub.com/bazelbuild/rules_go/pull/3360)
- go link: use external linker when in race mode by
[@&#8203;motiejus](https://togithub.com/motiejus) in
[https://github.com/bazelbuild/rules_go/pull/3370](https://togithub.com/bazelbuild/rules_go/pull/3370)
- Adding first example by
[@&#8203;chrislovecnm](https://togithub.com/chrislovecnm) in
[https://github.com/bazelbuild/rules_go/pull/3317](https://togithub.com/bazelbuild/rules_go/pull/3317)
- fix(packagesdriver): bazelFlags should prefix the command by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3371](https://togithub.com/bazelbuild/rules_go/pull/3371)
- chore(gpd): export aspect utils for reusability by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3373](https://togithub.com/bazelbuild/rules_go/pull/3373)
- nogo: Add a \_base key to be a default config for all Analyzers. by
[@&#8203;DolceTriade](https://togithub.com/DolceTriade) in
[https://github.com/bazelbuild/rules_go/pull/3351](https://togithub.com/bazelbuild/rules_go/pull/3351)
- Document that `Rlocation` can return relative paths by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3377](https://togithub.com/bazelbuild/rules_go/pull/3377)
- Fix normalization check for `Rlocation` path by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3378](https://togithub.com/bazelbuild/rules_go/pull/3378)
- fix(gpd): Write large target patterns to file by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3372](https://togithub.com/bazelbuild/rules_go/pull/3372)
- Make Go runfiles library repo mapping aware by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3347](https://togithub.com/bazelbuild/rules_go/pull/3347)

#### New Contributors

- [@&#8203;jfirebaugh](https://togithub.com/jfirebaugh) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3348](https://togithub.com/bazelbuild/rules_go/pull/3348)
- [@&#8203;S-Chan](https://togithub.com/S-Chan) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3285](https://togithub.com/bazelbuild/rules_go/pull/3285)
- [@&#8203;garymm](https://togithub.com/garymm) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3360](https://togithub.com/bazelbuild/rules_go/pull/3360)
- [@&#8203;motiejus](https://togithub.com/motiejus) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3370](https://togithub.com/bazelbuild/rules_go/pull/3370)
- [@&#8203;chrislovecnm](https://togithub.com/chrislovecnm) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3317](https://togithub.com/bazelbuild/rules_go/pull/3317)
- [@&#8203;DolceTriade](https://togithub.com/DolceTriade) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3351](https://togithub.com/bazelbuild/rules_go/pull/3351)

**Full Changelog**:
bazel-contrib/rules_go@v0.36.0...v0.37.0

#### `WORKSPACE` code

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

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"56d8c5a5c91e1af73eca71a6fab2ced959b67c86d12ba37feedb0a2dfea441a6",
        urls = [

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

"https://github.com/bazelbuild/rules_go/releases/download/v0.37.0/rules_go-v0.37.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.19.3")

</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.

🔕 **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://app.renovatebot.com/dashboard#github/cgrindel/swift_bazel).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC40OS4wIiwidXBkYXRlZEluVmVyIjoiMzQuNDkuMCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kreempuff referenced this pull request in kreempuff/rules_unreal_engine Jan 31, 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.35.0` -> `v0.38.1` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go</summary>

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

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

#### Bug fixes

The go_googleapis upgrade in 0.38.0 is too disruptive. It changes the Go
import paths of the proto packages, causing build failures in repos
trying to upgrade to rules_go 0.38.0. Reverting the go_googleapis to the
master of 2022-12-05
([#&#8203;3432](https://togithub.com/bazelbuild/rules_go/issues/3432))
for now to make rules_go upgrades easier.

#### `WORKSPACE` code

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

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

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

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

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

    go_rules_dependencies()

    go_register_toolchains(version = "1.19.5")

**Full Changelog**:
bazel-contrib/rules_go@v0.38.0...v0.38.1

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

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

#### Breaking changes

Starting this release, rules_go requires Bazel 5.3 and golang/x/tools at
least 0.3.0. If you are using
[stardoc](https://togithub.com/bazelbuild/stardoc), you also need to
upgrade it to 0.5.3 to recognize `RunEnvironmentInfo`, which is used in
this release.

#### Major new features

This is the first release to support Go 1.20. When on this version of
Go, it is highly recommended to use Bazel 6 and set
`--experimental_output_directory_naming_scheme=diff_against_baseline` to
prevent certain unnecessary rebuilds.

#### What's Changed

- preserve intermediate files if `-work` is specified by
[@&#8203;motiejus](https://togithub.com/motiejus) in
[https://github.com/bazelbuild/rules_go/pull/3389](https://togithub.com/bazelbuild/rules_go/pull/3389)
- Adapt `lcov_coverage_test` to `exec.Command` change by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3392](https://togithub.com/bazelbuild/rules_go/pull/3392)
- explicitly build relative path for Tool command in lcov_coverage_test
by [@&#8203;matloob](https://togithub.com/matloob) in
[https://github.com/bazelbuild/rules_go/pull/3399](https://togithub.com/bazelbuild/rules_go/pull/3399)
- Add support for building with boringcrypto by
[@&#8203;matloob](https://togithub.com/matloob) in
[https://github.com/bazelbuild/rules_go/pull/3398](https://togithub.com/bazelbuild/rules_go/pull/3398)
- Generalize `boringcrypto` to `GOEXPERIMENT` support by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3401](https://togithub.com/bazelbuild/rules_go/pull/3401)
- Replace `cfg = "host"` with `cfg = "exec"` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3404](https://togithub.com/bazelbuild/rules_go/pull/3404)
- always produce .a files at the beginning of a build by
[@&#8203;matloob](https://togithub.com/matloob) in
[https://github.com/bazelbuild/rules_go/pull/3385](https://togithub.com/bazelbuild/rules_go/pull/3385)
- Mark `nogo` targets as `manual` to keep top-level symlinks by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3410](https://togithub.com/bazelbuild/rules_go/pull/3410)
- Refactoring the extld related logic by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[https://github.com/bazelbuild/rules_go/pull/3400](https://togithub.com/bazelbuild/rules_go/pull/3400)
- Fix incompatible flags not applied to integration tests by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3415](https://togithub.com/bazelbuild/rules_go/pull/3415)
- chore: remove experimental warning from bzlmod module by
[@&#8203;alexeagle](https://togithub.com/alexeagle) in
[https://github.com/bazelbuild/rules_go/pull/3418](https://togithub.com/bazelbuild/rules_go/pull/3418)
- Add a clarifying error about dependency cycle found for internal tests
by [@&#8203;yushan26](https://togithub.com/yushan26) in
[https://github.com/bazelbuild/rules_go/pull/3422](https://togithub.com/bazelbuild/rules_go/pull/3422)
- Do not use exec paths for rundir by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3414](https://togithub.com/bazelbuild/rules_go/pull/3414)
- Upgrade org_golang_x_tools to 0.5.0 by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[https://github.com/bazelbuild/rules_go/pull/3356](https://togithub.com/bazelbuild/rules_go/pull/3356)
- fix: Relative path of embedsrc by
[@&#8203;bakjos](https://togithub.com/bakjos) in
[https://github.com/bazelbuild/rules_go/pull/3407](https://togithub.com/bazelbuild/rules_go/pull/3407)
- Add support for env_inherit by
[@&#8203;ttpathan](https://togithub.com/ttpathan) in
[https://github.com/bazelbuild/rules_go/pull/3256](https://togithub.com/bazelbuild/rules_go/pull/3256)
- Update stardoc to 0.5.3 by [@&#8203;fmeum](https://togithub.com/fmeum)
in
[https://github.com/bazelbuild/rules_go/pull/3427](https://togithub.com/bazelbuild/rules_go/pull/3427)
- Add `env` attribute to `go_binary` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3428](https://togithub.com/bazelbuild/rules_go/pull/3428)

#### New Contributors

- [@&#8203;matloob](https://togithub.com/matloob) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3399](https://togithub.com/bazelbuild/rules_go/pull/3399)
- [@&#8203;yushan26](https://togithub.com/yushan26) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3422](https://togithub.com/bazelbuild/rules_go/pull/3422)
- [@&#8203;bakjos](https://togithub.com/bakjos) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3407](https://togithub.com/bazelbuild/rules_go/pull/3407)
- [@&#8203;ttpathan](https://togithub.com/ttpathan) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3256](https://togithub.com/bazelbuild/rules_go/pull/3256)

**Full Changelog**:
bazel-contrib/rules_go@v0.37.0...v0.38.0

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

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

#### Major New Features

- Support fetching packages for generated code in the Go Packages Driver

#### What's Changed

- bzlmod: Add missing `strip_prefix` field to `source.template.json` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3359](https://togithub.com/bazelbuild/rules_go/pull/3359)
- Declare toolchains in a separate repository by
[@&#8203;jfirebaugh](https://togithub.com/jfirebaugh) in
[https://github.com/bazelbuild/rules_go/pull/3348](https://togithub.com/bazelbuild/rules_go/pull/3348)
- Delete legacy actions API by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3173](https://togithub.com/bazelbuild/rules_go/pull/3173)
- go_path: support go:embed of generated files by
[@&#8203;S-Chan](https://togithub.com/S-Chan) in
[https://github.com/bazelbuild/rules_go/pull/3285](https://togithub.com/bazelbuild/rules_go/pull/3285)
- Properly deprecate `bindata`, `go_embed_data`, and
`go_embed_data_deps` by [@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3362](https://togithub.com/bazelbuild/rules_go/pull/3362)
- link.bzl: ignore duplicate dep on coverdata by
[@&#8203;robfig](https://togithub.com/robfig) in
[https://github.com/bazelbuild/rules_go/pull/3032](https://togithub.com/bazelbuild/rules_go/pull/3032)
- feat(pkg-drv): add support for generated files by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3354](https://togithub.com/bazelbuild/rules_go/pull/3354)
- Remove unused variables in link action by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3367](https://togithub.com/bazelbuild/rules_go/pull/3367)
- Reduce number of declared files in `emit_stdlib` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3366](https://togithub.com/bazelbuild/rules_go/pull/3366)
- Update docs regarding vendored proto files by
[@&#8203;garymm](https://togithub.com/garymm) in
[https://github.com/bazelbuild/rules_go/pull/3360](https://togithub.com/bazelbuild/rules_go/pull/3360)
- go link: use external linker when in race mode by
[@&#8203;motiejus](https://togithub.com/motiejus) in
[https://github.com/bazelbuild/rules_go/pull/3370](https://togithub.com/bazelbuild/rules_go/pull/3370)
- Adding first example by
[@&#8203;chrislovecnm](https://togithub.com/chrislovecnm) in
[https://github.com/bazelbuild/rules_go/pull/3317](https://togithub.com/bazelbuild/rules_go/pull/3317)
- fix(packagesdriver): bazelFlags should prefix the command by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3371](https://togithub.com/bazelbuild/rules_go/pull/3371)
- chore(gpd): export aspect utils for reusability by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3373](https://togithub.com/bazelbuild/rules_go/pull/3373)
- nogo: Add a \_base key to be a default config for all Analyzers. by
[@&#8203;DolceTriade](https://togithub.com/DolceTriade) in
[https://github.com/bazelbuild/rules_go/pull/3351](https://togithub.com/bazelbuild/rules_go/pull/3351)
- Document that `Rlocation` can return relative paths by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3377](https://togithub.com/bazelbuild/rules_go/pull/3377)
- Fix normalization check for `Rlocation` path by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3378](https://togithub.com/bazelbuild/rules_go/pull/3378)
- fix(gpd): Write large target patterns to file by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3372](https://togithub.com/bazelbuild/rules_go/pull/3372)
- Make Go runfiles library repo mapping aware by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3347](https://togithub.com/bazelbuild/rules_go/pull/3347)

#### New Contributors

- [@&#8203;jfirebaugh](https://togithub.com/jfirebaugh) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3348](https://togithub.com/bazelbuild/rules_go/pull/3348)
- [@&#8203;S-Chan](https://togithub.com/S-Chan) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3285](https://togithub.com/bazelbuild/rules_go/pull/3285)
- [@&#8203;garymm](https://togithub.com/garymm) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3360](https://togithub.com/bazelbuild/rules_go/pull/3360)
- [@&#8203;motiejus](https://togithub.com/motiejus) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3370](https://togithub.com/bazelbuild/rules_go/pull/3370)
- [@&#8203;chrislovecnm](https://togithub.com/chrislovecnm) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3317](https://togithub.com/bazelbuild/rules_go/pull/3317)
- [@&#8203;DolceTriade](https://togithub.com/DolceTriade) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3351](https://togithub.com/bazelbuild/rules_go/pull/3351)

**Full Changelog**:
bazel-contrib/rules_go@v0.36.0...v0.37.0

#### `WORKSPACE` code

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

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"56d8c5a5c91e1af73eca71a6fab2ced959b67c86d12ba37feedb0a2dfea441a6",
        urls = [

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

"https://github.com/bazelbuild/rules_go/releases/download/v0.37.0/rules_go-v0.37.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.19.3")

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

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

#### Major new features

- The Go runfiles library developed by
[@&#8203;phst](https://togithub.com/phst) at
https://github.com/phst/runfiles is now available as
`github.com/bazelbuild/rules_go/go/runfiles` (target
`@io_bazel_rules_go//go/runfiles`) and is now the official way to look
up runfiles from Go. It will be made compatible with Bzlmod in a future
release.
**Note:** For improved consistency with runfiles libraries in other
languages, the `Path` function present in
https://github.com/phst/runfiles is called `Rlocation` in rules_go.
- Adding two new command line flags
`--@&#8203;io_bazel_rules_go//go/config:gc_goopts` and
`--@&#8203;io_bazel_rules_go//go/config:gc_linkopts` to accept
additional compiler and linker flags.

#### What's Changed

- bzlmod: Use register_toolchains by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3290](https://togithub.com/bazelbuild/rules_go/pull/3290)
- Remove unused env_execute by
[@&#8203;kmicklas](https://togithub.com/kmicklas) in
[https://github.com/bazelbuild/rules_go/pull/3276](https://togithub.com/bazelbuild/rules_go/pull/3276)
- Correctly forward InstrumentedFilesInfo from dependencies by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3294](https://togithub.com/bazelbuild/rules_go/pull/3294)
- Parse Go SDK version out of `go version` instead of `VERSION` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3296](https://togithub.com/bazelbuild/rules_go/pull/3296)
- also write test stderr to json (xml) output file by
[@&#8203;rickystewart](https://togithub.com/rickystewart) in
[https://github.com/bazelbuild/rules_go/pull/3300](https://togithub.com/bazelbuild/rules_go/pull/3300)
- Bzlmod: Pin Bazel version in CI by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3301](https://togithub.com/bazelbuild/rules_go/pull/3301)
- Allow to select Go SDK version from declared SDKs by
[@&#8203;ash2k](https://togithub.com/ash2k) in
[https://github.com/bazelbuild/rules_go/pull/3303](https://togithub.com/bazelbuild/rules_go/pull/3303)
- Use top level VERSION file when it exists by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[https://github.com/bazelbuild/rules_go/pull/3309](https://togithub.com/bazelbuild/rules_go/pull/3309)
- synchronize when writing to the JSON converter by
[@&#8203;rickystewart](https://togithub.com/rickystewart) in
[https://github.com/bazelbuild/rules_go/pull/3311](https://togithub.com/bazelbuild/rules_go/pull/3311)
- update version manifest URL by
[@&#8203;benjaminp](https://togithub.com/benjaminp) in
[https://github.com/bazelbuild/rules_go/pull/3314](https://togithub.com/bazelbuild/rules_go/pull/3314)
- Symlink "misc" into repository for local_sdk. by
[@&#8203;adam-azarchs](https://togithub.com/adam-azarchs) in
[https://github.com/bazelbuild/rules_go/pull/3313](https://togithub.com/bazelbuild/rules_go/pull/3313)
- Ensure compatibility with incompatible flags close to flipping by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3319](https://togithub.com/bazelbuild/rules_go/pull/3319)
- Add additional bzlmod requirements to allow grpc protobufs to work by
[@&#8203;shs96c](https://togithub.com/shs96c) in
[https://github.com/bazelbuild/rules_go/pull/3320](https://togithub.com/bazelbuild/rules_go/pull/3320)
- bzlmod: Update pinned Bazel version by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3321](https://togithub.com/bazelbuild/rules_go/pull/3321)
- bzlmod: Set up automated BCR releases by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3324](https://togithub.com/bazelbuild/rules_go/pull/3324)
- bzlmod: Add support for gogo proto compiler by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3323](https://togithub.com/bazelbuild/rules_go/pull/3323)
- gopackagesdriver: move non-Go files to OtherFiles (Fixes
[#&#8203;3326](https://togithub.com/bazelbuild/rules_go/issues/3326)) by
[@&#8203;michaelarusso](https://togithub.com/michaelarusso) in
[https://github.com/bazelbuild/rules_go/pull/3327](https://togithub.com/bazelbuild/rules_go/pull/3327)
- bzlmod: Allow yanked versions in CI by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3329](https://togithub.com/bazelbuild/rules_go/pull/3329)
- feat(pkg-drv): allow setting custom aspect and kinds by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3328](https://togithub.com/bazelbuild/rules_go/pull/3328)
- fix(packages-driver): allow defining additional aspects instead by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3330](https://togithub.com/bazelbuild/rules_go/pull/3330)
- Add support for parsing Go development versions by
[@&#8203;zakcutner](https://togithub.com/zakcutner) in
[https://github.com/bazelbuild/rules_go/pull/3333](https://togithub.com/bazelbuild/rules_go/pull/3333)
- Match GOARCH ppc64 to @&#8203;platforms//cpu:ppc as well. by
[@&#8203;mahiuchun](https://togithub.com/mahiuchun) in
[https://github.com/bazelbuild/rules_go/pull/3336](https://togithub.com/bazelbuild/rules_go/pull/3336)
- bzlmod: Update Publish to BCR app config by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3337](https://togithub.com/bazelbuild/rules_go/pull/3337)
- gopackagesdriver: default to NotHandled:true for package queries by
[@&#8203;ian-h-chamberlain](https://togithub.com/ian-h-chamberlain) in
[https://github.com/bazelbuild/rules_go/pull/3338](https://togithub.com/bazelbuild/rules_go/pull/3338)
- fix(packagesdrv): resolve third party go packages by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3332](https://togithub.com/bazelbuild/rules_go/pull/3332)
- runfiles: port phst/runfiles to rules_go by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[https://github.com/bazelbuild/rules_go/pull/3205](https://togithub.com/bazelbuild/rules_go/pull/3205)
- Adding gc_linopts to command line flag by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[https://github.com/bazelbuild/rules_go/pull/3342](https://togithub.com/bazelbuild/rules_go/pull/3342)
- Move new runfiles library to `//go/runfiles` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3341](https://togithub.com/bazelbuild/rules_go/pull/3341)
- Rename `Path` to `Rlocation` in runfiles library by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3346](https://togithub.com/bazelbuild/rules_go/pull/3346)
- Add 'gc_goopts' flag to command line to allow gc_goopts to propagate
by [@&#8203;LWarrens](https://togithub.com/LWarrens) in
[https://github.com/bazelbuild/rules_go/pull/3340](https://togithub.com/bazelbuild/rules_go/pull/3340)

#### New Contributors

- [@&#8203;kmicklas](https://togithub.com/kmicklas) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3276](https://togithub.com/bazelbuild/rules_go/pull/3276)
- [@&#8203;adam-azarchs](https://togithub.com/adam-azarchs) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3313](https://togithub.com/bazelbuild/rules_go/pull/3313)
- [@&#8203;shs96c](https://togithub.com/shs96c) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3320](https://togithub.com/bazelbuild/rules_go/pull/3320)
- [@&#8203;michaelarusso](https://togithub.com/michaelarusso) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3327](https://togithub.com/bazelbuild/rules_go/pull/3327)
- [@&#8203;zakcutner](https://togithub.com/zakcutner) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3333](https://togithub.com/bazelbuild/rules_go/pull/3333)
- [@&#8203;mahiuchun](https://togithub.com/mahiuchun) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3336](https://togithub.com/bazelbuild/rules_go/pull/3336)
- [@&#8203;LWarrens](https://togithub.com/LWarrens) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3340](https://togithub.com/bazelbuild/rules_go/pull/3340)

**Full Changelog**:
bazel-contrib/rules_go@v0.35.0...v0.36.0

#### `WORKSPACE` code

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

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

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

"https://github.com/bazelbuild/rules_go/releases/download/v0.36.0/rules_go-v0.36.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.19.3")

</details>

---

### Configuration

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

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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://app.renovatebot.com/dashboard#github/kreempuff/rules_unreal_engine).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMTcuMSIsInVwZGF0ZWRJblZlciI6IjM0LjExNy4xIn0=-->
tingilee pushed a commit to tingilee/rules_go that referenced this pull request Jul 19, 2023
* Adding first example

This PR includes the source code for the tutorial that is hosted
here: https://bazel-contrib.github.io/SIG-rules-authors/go-tutorial.html

The code for the above html is on the gh-pages branch of the
SIG-rules-authors repository:
https://github.com/bazel-contrib/SIG-rules-authors/tree/gh-pages

This tutorial source code includes:

- basic go rules support
- a basic cobra CLI application
- unit test
- Gazelle support

After this PR is finalized we I will update the tutorial markdown.

We are also adding CI/CD for the example.  This PR modifies the
presubmit.yml file.  This project also uses the words file that
requires the installation of wamerican.

* Updates for PR review

- renamed the tutorial to basic-gazelle
- updated roll_dice to use instead of the word generator

* Updating presubmit for rename

* More Cleanup

- removing the word example code
- creating testing code for roll dice

* Added comment to file per code review

* Updated go mod

- removed dep that we do not need
- changed path

* removing dep

* Adding klog as the dependency

- Imported klog
- added klog to different go files
- used bazel to update go.mod
- used gazelle to updated the BUILD files

* Adding macos test

Adding testing the examples with the macos platform.

* Adding windows test
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.

Source code for new tutorial
4 participants