build: generate fish completion at release instead of committing it - #999
Merged
Merged
Conversation
bcherry
approved these changes
Sep 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
autocomplete/fish_autocompletewas generated from the command tree and committed. Any PR that adds or changes a command then failed CI until someone regenerated the file by hand. For example, #997 failed only because of this.This PR stops committing the file and generates it during the release instead:
.gitignore.releasejob inrelease.yamlpullslkout of the linux/amd64 archive and runslk generate-fish-completion. It then adds the output to every.tar.gzand.zipbefore checksums are computed. The archives keep the same layout, soinstall-cli.shneeds no change.releasejob becauselkonly builds with cgo, and most release jobs cross-compile binaries that can't run on their runner. The fish output is the same for every target.test.yamland thego:generatedirective are removed.Tested locally by running the new step on sample linux
.tar.gzand windows.ziparchives built with a reallk. Both came out withautocomplete/fish_autocompleteadded, and it is identical to the committed file onmain.Follow-up needed: the homebrew-core
livekit-cliformula installsautocomplete/fish_autocompletefrom the source tarball. Before the first release without the file, the formula has to generate the completion instead: