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

compile_commands compiled with empty array [] #18

Closed
sekoyo opened this issue Jan 25, 2022 · 17 comments
Closed

compile_commands compiled with empty array [] #18

sekoyo opened this issue Jan 25, 2022 · 17 comments

Comments

@sekoyo
Copy link

sekoyo commented Jan 25, 2022

Hi @cpsauer , this is RE bazel-contrib/vscode-bazel#179 (comment)

Thanks a lot for offering to take a look, I realize this is not an issue with this project but my setup.

Here's my setup: https://github.com/sekoyo/cpp-orderbook

Just barebones lib + binary + test at the moment and trying to get (VSCode) intellisense to work.

Any pointer much appreciated!

Running on: MacOS armv8
Bazel: 5.0.0-homebrew

@cpsauer
Copy link
Contributor

cpsauer commented Jan 25, 2022

Sweet! I'm afraid I'm going to have to get back to you tomorrow--super late my time. See you soon! Thanks for posting your setup!

@sekoyo
Copy link
Author

sekoyo commented Jan 25, 2022

All good I switched to CMake and when I bothered to learn it and set it up properly (in a modern & modular way) it's actually not bad and can do the same git pulling of projects but didn't even need any extra set up for the non-bazel one (fmt), and works out the box with (clangd) intellisense 👌

cmake_minimum_required(VERSION 3.22)
set (CMAKE_CXX_STANDARD 20)

# Allow absolute includes.
SET(BASEPATH "${CMAKE_SOURCE_DIR}")
INCLUDE_DIRECTORIES("${BASEPATH}")

project(
  all_projects
  VERSION 1.0
  LANGUAGES CXX)

# Allows fetching of third party projects.
include(FetchContent)

# GoogleTest for unit testing.
FetchContent_Declare(googletest
  GIT_REPOSITORY https://github.com/google/googletest.git
  GIT_TAG f45d5865ed0b2b8912244627cdf508a24cc6ccb4 # Jan 25, 2022
)
FetchContent_MakeAvailable(googletest)

# fmt for string formatting (note std::format in C++20 might have this).
FetchContent_Declare(fmt
  GIT_REPOSITORY https://github.com/fmtlib/fmt.git
  GIT_TAG 8.1.1
)
FetchContent_MakeAvailable(fmt)

# Main project.
add_subdirectory(src)

# Tests.
enable_testing()
add_subdirectory(tests)

@sekoyo sekoyo closed this as completed Jan 25, 2022
@cpsauer
Copy link
Contributor

cpsauer commented Jan 25, 2022

Oh gosh. Sorry if I turned you off to Bazel with the sleep delay. Wish I'd been able to help you right then.
I'm definitely not here to sell you Bazel, but I think you might find Bazel has considerable advantages.
If you remember, I'd love to hear what you end up thinking after you conclude your experiments! Either here--or I'm sure the folks over at the main Bazel repo would benefit from hearing the analysis of a new prospective user comparing against CMAKE.

One other thing: If you return to Bazel, I'd highly recommend Bazelisk!

I'm still going to look into this in a little bit. You've got me curious, and I want to understand what's going on.

@cpsauer
Copy link
Contributor

cpsauer commented Jan 25, 2022

Hey, @sekoyo, I got back to this and ran some tests:

Cloned your repo and ran bazel aquery 'mnemonic("CppCompile",//...)', and did indeed see C++ compile actions. So I then ran bazel run @hedron_compile_commands//:refresh_all, and it successfully dumped out a complete-looking compile_commands.json (!?).

...so, we've got a mystery, but one I'd really like to track down if we think it might continue to catch people. Any ideas what might be different? Would you be down to run the aquery command (above) to narrow things down?

My system should be pretty similar to yours, except that I'm on an older, Intel-based mac. But latest macOS, Bazel 5, using the code you sent me.

@sekoyo
Copy link
Author

sekoyo commented Jan 25, 2022

@cpsauer haha well I'm in an experimental mood maybe I'll come back to Bazel but at least it was good to make some sense out of CMake.

Thanks a lot for checking, that's interesting, I wasn't aware of the mneumonic command (though that produces some errors for me), but still have the same issue with no output after a bazel clean --expunge and running the same commands as you. Perhaps there is some ARM incompatibility in the toolchain. I'll try again in a while. Thanks again for trying it though!

@cpsauer
Copy link
Contributor

cpsauer commented Jan 26, 2022

You're very welcome! Glad you're enjoying some experiments :)

That really does narrow things down. If it helps, the fact that aquery is erroring probably means Bazel itself is having trouble getting to constructing actions for your repo--before it even gets into this tool.

Im curious: Do those same errors not surface when running the tool itself?

@sekoyo
Copy link
Author

sekoyo commented Jan 26, 2022

Oh that's interesting, I skimmed over the error and then as a sanity check tried to run the build and it errored on the fmt build. I looked at their commit history and there was a change 5 days ago changing the code where I had an error. Switched to the latest commit and it built, so strange that was working earlier for me!

That fixed bazel aquery 'mnemonic("CppCompile",//...)'... though still an empty array after running bazel run @hedron_compile_commands//:refresh_all with no errors 🤷‍♂️😅

@sekoyo
Copy link
Author

sekoyo commented Jan 26, 2022

Ah yes I missed something in the hedron output, it does seem like a toolchain thing. And I've removed fmt now too to remove that from the equation:

 >>> Analyzing commands used in @//...
DEBUG: Rule 'hedron_compile_commands' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "39e7607efcaca5abb34314744491492d82d30fcb6f6592d88ae15772da588b42"
DEBUG: Repository hedron_compile_commands instantiated at:
  /Users/infensus/Projects/cpp_orderbook_bazel/WORKSPACE:6:13: in <toplevel>
Repository rule http_archive defined at:
  /private/var/tmp/_bazel_infensus/23a31232d51ccd0ebe7548af3f384cff/external/bazel_tools/tools/build_defs/repo/http.bzl:364:31: in <toplevel>
DEBUG: Rule 'com_google_googletest' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "b3082d84e5b81972fdc1d8fe8a7ce9bc5dae3ed44f3f95f28897957cadb80c24"
DEBUG: Repository com_google_googletest instantiated at:
  /Users/infensus/Projects/cpp_orderbook_bazel/WORKSPACE:19:13: in <toplevel>
Repository rule http_archive defined at:
  /private/var/tmp/_bazel_infensus/23a31232d51ccd0ebe7548af3f384cff/external/bazel_tools/tools/build_defs/repo/http.bzl:364:31: in <toplevel>
DEBUG: Rule 'hedron_compile_commands' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "39e7607efcaca5abb34314744491492d82d30fcb6f6592d88ae15772da588b42"
DEBUG: Repository hedron_compile_commands instantiated at:
  /Users/infensus/Projects/cpp_orderbook_bazel/WORKSPACE:6:13: in <toplevel>
Repository rule http_archive defined at:
  /private/var/tmp/_bazel_infensus/23a31232d51ccd0ebe7548af3f384cff/external/bazel_tools/tools/build_defs/repo/http.bzl:364:31: in <toplevel>
Traceback (most recent call last):
  File "/private/var/tmp/_bazel_infensus/23a31232d51ccd0ebe7548af3f384cff/execroot/__main__/bazel-out/darwin_arm64-fastbuild/bin/external/hedron_compile_commands/extract.runfiles/hedron_compile_commands/extract.py", line 241, in <module>
    for source_files, header_files, command in outputs:
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/concurrent/futures/_base.py", line 619, in result_iterator
    yield fs.pop().result()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/concurrent/futures/_base.py", line 437, in result
    return self.__get_result()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/private/var/tmp/_bazel_infensus/23a31232d51ccd0ebe7548af3f384cff/execroot/__main__/bazel-out/darwin_arm64-fastbuild/bin/external/hedron_compile_commands/extract.runfiles/hedron_compile_commands/extract.py", line 219, in _get_cpp_command_for_files
    _check_in_clang_args_format(args) # Sanity check
  File "/private/var/tmp/_bazel_infensus/23a31232d51ccd0ebe7548af3f384cff/execroot/__main__/bazel-out/darwin_arm64-fastbuild/bin/external/hedron_compile_commands/extract.runfiles/hedron_compile_commands/extract.py", line 128, in _check_in_clang_args_format
    assert re.search(r'(?:clang|clang\+\+|gcc|g\+\+)(?:-[0-9\.]+)?$', compile_args[0]), f"Compiler doesn't look like normal clang/gcc. Time to add windows support? CMD: {compile_args}"
AssertionError: Compiler doesn't look like normal clang/gcc. Time to add windows support? CMD: ['external/local_config_cc/cc_wrapper.sh', '-U_FORTIFY_SOURCE', '-fstack-protector', '-Wall', '-Wthread-safety', '-Wself-assign', '-Wno-free-nonheap-object', '-fcolor-diagnostics', '-fno-omit-frame-pointer', '-std=c++0x', '-MD', '-MF', 'bazel-out/darwin_arm64-fastbuild/bin/src/orderbook/_objs/Orderbook/orderbook.pic.d', '-frandom-seed=bazel-out/darwin_arm64-fastbuild/bin/src/orderbook/_objs/Orderbook/orderbook.pic.o', '-fPIC', '-iquote', '.', '-iquote', 'bazel-out/darwin_arm64-fastbuild/bin', '-std=c++20', '-no-canonical-prefixes', '-Wno-builtin-macro-redefined', '-D__DATE__="redacted"', '-D__TIMESTAMP__="redacted"', '-D__TIME__="redacted"', '-c', 'src/orderbook/orderbook.cc', '-o', 'bazel-out/darwin_arm64-fastbuild/bin/src/orderbook/_objs/Orderbook/orderbook.pic.o']
 >>> Finished extracting commands for @//...

"AssertionError: Compiler doesn't look like normal clang/gcc. Time to add windows support?"

@cpsauer
Copy link
Contributor

cpsauer commented Jan 26, 2022

hah well, I'm honored you were so eager to use this tool that actually building took second fiddle :)

That particular error message alerts me that you're using an older version of this tool, since we removed it a little bit ago to add support for custom toolchains. Could I ask you to update the commit in WORKSPACE to the latest (both places it appears)? Should make it go away. (If you'd like, the Bazel debug message can subsequently be solved by adding the sha256 = that it asks for.)

Also, you mention toolchains. Is there anything special/custom you're doing there?

[I'm a little surprised it isn't auto-invoking my compiler unwrapping code for Apple platforms, as it is on my machine. If, by chance, you end up seeing errors in clangd about finding the standard library or anything like that, I'd really like to hear about it. I wonder if it's because you've got command line tools but not the macOS SDK or Xcode installed?]

Thanks for your patience and exploratory spirit!

@sekoyo
Copy link
Author

sekoyo commented Jan 26, 2022

Whoops I normally remember to update. I don't mind at all debugging, I'm impressed you have the energy to look into it 😄

That did indeed fix the error though still an empty [] and there is another error there (with latest commit from this repo):

infensus@dominics-MacBook-Pro cpp_orderbook_bazel % bazel run @hedron_compile_commands//:refresh_all
DEBUG: Rule 'hedron_compile_commands' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "81173735b139ff5826fc8404fcae325ea3cb2e0ca9dfb5705e924f166c38524e"
DEBUG: Repository hedron_compile_commands instantiated at:
  /Users/infensus/Projects/cpp_orderbook_bazel/WORKSPACE:6:13: in <toplevel>
Repository rule http_archive defined at:
  /private/var/tmp/_bazel_infensus/23a31232d51ccd0ebe7548af3f384cff/external/bazel_tools/tools/build_defs/repo/http.bzl:364:31: in <toplevel>
INFO: Analyzed target @hedron_compile_commands//:refresh_all (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
Target @hedron_compile_commands//:refresh_all up-to-date:
  bazel-bin/external/hedron_compile_commands/refresh_all.sh
INFO: Elapsed time: 0.074s, Critical Path: 0.00s
INFO: 1 process: 1 internal.
INFO: Build completed successfully, 1 total action
INFO: Build completed successfully, 1 total action
 >>> Analyzing commands used in @//...
DEBUG: Rule 'hedron_compile_commands' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "81173735b139ff5826fc8404fcae325ea3cb2e0ca9dfb5705e924f166c38524e"
DEBUG: Repository hedron_compile_commands instantiated at:
  /Users/infensus/Projects/cpp_orderbook_bazel/WORKSPACE:6:13: in <toplevel>
Repository rule http_archive defined at:
  /private/var/tmp/_bazel_infensus/23a31232d51ccd0ebe7548af3f384cff/external/bazel_tools/tools/build_defs/repo/http.bzl:364:31: in <toplevel>
DEBUG: Rule 'com_google_googletest' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "b3082d84e5b81972fdc1d8fe8a7ce9bc5dae3ed44f3f95f28897957cadb80c24"
DEBUG: Repository com_google_googletest instantiated at:
  /Users/infensus/Projects/cpp_orderbook_bazel/WORKSPACE:19:13: in <toplevel>
Repository rule http_archive defined at:
  /private/var/tmp/_bazel_infensus/23a31232d51ccd0ebe7548af3f384cff/external/bazel_tools/tools/build_defs/repo/http.bzl:364:31: in <toplevel>
DEBUG: Rule 'hedron_compile_commands' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "81173735b139ff5826fc8404fcae325ea3cb2e0ca9dfb5705e924f166c38524e"
DEBUG: Repository hedron_compile_commands instantiated at:
  /Users/infensus/Projects/cpp_orderbook_bazel/WORKSPACE:6:13: in <toplevel>
Repository rule http_archive defined at:
  /private/var/tmp/_bazel_infensus/23a31232d51ccd0ebe7548af3f384cff/external/bazel_tools/tools/build_defs/repo/http.bzl:364:31: in <toplevel>
Traceback (most recent call last):
  File "/private/var/tmp/_bazel_infensus/23a31232d51ccd0ebe7548af3f384cff/execroot/__main__/bazel-out/darwin_arm64-fastbuild/bin/external/hedron_compile_commands/extract.runfiles/hedron_compile_commands/extract.py", line 231, in <module>
    for source_files, header_files, command in outputs:
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/concurrent/futures/_base.py", line 619, in result_iterator
    yield fs.pop().result()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/concurrent/futures/_base.py", line 437, in result
    return self.__get_result()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/private/var/tmp/_bazel_infensus/23a31232d51ccd0ebe7548af3f384cff/execroot/__main__/bazel-out/darwin_arm64-fastbuild/bin/external/hedron_compile_commands/extract.runfiles/hedron_compile_commands/extract.py", line 211, in _get_cpp_command_for_files
    source_files, header_files = _get_files(args)
  File "/private/var/tmp/_bazel_infensus/23a31232d51ccd0ebe7548af3f384cff/execroot/__main__/bazel-out/darwin_arm64-fastbuild/bin/external/hedron_compile_commands/extract.runfiles/hedron_compile_commands/extract.py", line 88, in _get_files
    header_files = _get_headers(compile_args, source_files[0])
  File "/private/var/tmp/_bazel_infensus/23a31232d51ccd0ebe7548af3f384cff/execroot/__main__/bazel-out/darwin_arm64-fastbuild/bin/external/hedron_compile_commands/extract.runfiles/hedron_compile_commands/extract.py", line 60, in _get_headers
    headers_makefile_out = subprocess.check_output(header_cmd, encoding='utf-8', cwd=os.environ['BUILD_WORKSPACE_DIRECTORY']).rstrip() # Relies on our having made the workspace directory simulate the execroot with //external symlink
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/subprocess.py", line 415, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/subprocess.py", line 493, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/subprocess.py", line 858, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1704, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'external/local_config_cc/cc_wrapper.sh'
 >>> Finished extracting commands for @//...
infensus@dominics-MacBook-Pro cpp_orderbook_b

"FileNotFoundError: [Errno 2] No such file or directory: 'external/local_config_cc/cc_wrapper.sh'"

@cpsauer
Copy link
Contributor

cpsauer commented Jan 26, 2022

Well, I'd like everyone who tries to use it to have a great time with it. And when it falls short, I'd like to roll up my sleeves to make sure it's smoother next time.

[Reflecting: So far it's been mostly Bazel setup--and I've pushed a change to this repos README to make using the latest hash more clear.]

Re the above error:

  • Could you double check that the //external symlink is okay? (see README for link command). The one I see in the repo you pushed looks to be a normal folder--which might explain why it can't find paths that go through it.
    • If that doesn't work, could you run a normal bazel build and see if that creates external/local_config_cc/cc_wrapper.sh?
  • Would still love the answers to the questions in the previous for my debugging:
    • You'd mentioned toolchains. Is there anything special/custom you're doing there? [Looks like no from the error message.]
    • Is Xcode not installed on this machine? (That is, are you just using the command line tools?) [I'm trying to figure out why the build actions in your output don't reference the macOS SDK like all the others I've ever seen.]

@sekoyo
Copy link
Author

sekoyo commented Jan 28, 2022

Hey, no special toolchain apart from ARM. I had XCode command line tools but not XCode so installed that. I also removed external folder.

Not sure which one fixed it but I did notice after installing XCode it seemed to be using a different clang (/usr/bin/clang -> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang)

This caused the build to initially break (but it was working before), a bazel clean fixed the build.

Running bazel run @hedron_compile_commands//:refresh_all produced new errors HOWEVER it is working!! Intellisense seems to be fully working! Thanks a lot! Definitely nicer to use than CMake!

Here is the full output, you can see the errors seem to be around pulling the googletest code.

infensus@dominics-MacBook-Pro cpp_orderbook_bazel % bazel build src/main
INFO: Analyzed target //src/main:main (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
Target //src/main:main up-to-date:
  bazel-bin/src/main/main
INFO: Elapsed time: 0.375s, Critical Path: 0.30s
INFO: 6 processes: 4 internal, 2 darwin-sandbox.
INFO: Build completed successfully, 6 total actions
infensus@dominics-MacBook-Pro cpp_orderbook_bazel % bazel run @hedron_compile_commands//:refresh_all
INFO: Analyzed target @hedron_compile_commands//:refresh_all (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
Target @hedron_compile_commands//:refresh_all up-to-date:
  bazel-bin/external/hedron_compile_commands/refresh_all.sh
INFO: Elapsed time: 0.071s, Critical Path: 0.00s
INFO: 1 process: 1 internal.
INFO: Build completed successfully, 1 total action
INFO: Build completed successfully, 1 total action
 >>> Analyzing commands used in @//...
clang: error: no such file or directory: 'external/com_google_googletest/googlemock/src/gmock-matchers.cc'
clang: error: no input files
clang: error: no such file or directory: 'external/com_google_googletest/googlemock/src/gmock-spec-builders.cc'
clang: error: no input files
clang: error: no such file or directory: 'external/com_google_googletest/googlemock/src/gmock-internal-utils.cc'
clang: error: no input files
clang: error: no such file or directory: 'external/com_google_googletest/googlemock/src/gmock.cc'
clang: error: no input files
clang: error: no such file or directory: 'external/com_google_googletest/googletest/src/gtest-matchers.cc'
clang: error: no input files
clang: error: no such file or directory: 'external/com_google_googletest/googletest/src/gtest-printers.cc'
clang: error: no input files
clang: error: no such file or directory: 'external/com_google_googletest/googlemock/src/gmock_main.cc'
clang: error: no input files
clang: error: no such file or directory: 'external/com_google_googletest/googletest/src/gtest-port.cc'
clang: error: no input files
clang: error: no such file or directory: 'external/com_google_googletest/googletest/src/gtest-filepath.cc'
clang: error: no input files
clang: error: no such file or directory: 'external/com_google_googletest/googletest/src/gtest-death-test.cc'
clang: error: no input files
clang: error: no such file or directory: 'external/com_google_googletest/googlemock/src/gmock-cardinalities.cc'
clang: error: no input files
clang: error: no such file or directory: 'external/bazel_tools/src/tools/launcher/dummy.cc'
clang: error: no input files
clang: error: no such file or directory: 'external/com_google_googletest/googletest/src/gtest-typed-test.cc'
clang: error: no input files
clang: error: no such file or directory: 'external/com_google_googletest/googletest/src/gtest.cc'
clang: error: no input files
clang: error: no such file or directory: 'external/com_google_googletest/googletest/src/gtest-test-part.cc'
clang: error: no input files
 >>> Finished extracting commands for @//...

I am getting some squigglies in the test file but the intellisense seems to be working at the same time:

Screenshot 2022-01-28 at 00 25 39

Also it has a bunch of googletest references in compile_commands.json:

Screenshot 2022-01-28 at 00 27 41

@sekoyo
Copy link
Author

sekoyo commented Jan 28, 2022

P.S I think I tried removing external folder yesterday and issue persisted (I think! 😅) so it seems having XCode did the trick.

@cpsauer
Copy link
Contributor

cpsauer commented Jan 28, 2022

Hmm, @sekoyo, I'm still pretty suspicious that you've got an issue with the external symlink--and that that's driving all these issues. Could you check it? (Switching to Xcode just changes the compiler path to not use the symlink.)

For example, running ls -l external from the workspace root should give <blah blah blah> external -> bazel-out/../../../external

And you should be able to see those files it's complaining about missing via that symlink. If you can't, blow away the symlink and regenerate with rm external && ln -s bazel-out/../../../external .!

Really, you shouldn't have to settle for any of these problems, they'd all be caused by a symlink problem, and the "symlink" looks suspect in the repo you shared.

@sekoyo
Copy link
Author

sekoyo commented Jan 28, 2022

Ah I didn't realise that I should have external, thought it was an optional thing for convenience or perhaps something the build process would add if it needed.

ln -s bazel-out/../../../external . created the symlink folder and fixed the errors, running perfectly now and no more squiggly lines in the test file.

Thanks a lot!

@cpsauer
Copy link
Contributor

cpsauer commented Jan 29, 2022

Yay! So delighted that it's finally working as expected for you.

Great feedback for me to have. I've strengthened the wording to reduce the risk of others getting trapped, too! (92ae5f5)

Please keep me in the loop on how things go! I'd also love to hear any feedback you have about how we can make the tool--or this process better.

@cpsauer
Copy link
Contributor

cpsauer commented Jan 29, 2022

[As an aside, we may soon have it as optional and auto-creating. A wonderful contributor is working on that among other things. But it's not here just yet.]

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

No branches or pull requests

2 participants