Skip to content
This repository was archived by the owner on Jun 11, 2026. It is now read-only.
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

GitHub Action for Rich Code Navigation indexing

GitHub Actions status

This action indexes the repo it runs within and uploads the language service data to the Rich Code Nav service.

Pre-requisite: You must sign-up and be approved for Rich Code Navigation Private Preview prior to installing this GitHub Action.

Example usage

- uses: microsoft/RichCodeNavIndexer@v0.1with:
repo-token: ${{ github.token }}

Inputs

You may have specific requirements that need additional configurations beyond the default. There are a number of optional inputs that are accepted to support various repository requirements.

NameDefaultDescription
repo-tokenRequired input to get access to the repo and should be set to ${{ github.token }}.
languagesList of languages to use when discovering repository symbols, separated by ,
environmentproductiondevelopment, internal, or production
nugetFeedFeed source to use when installing Rich Code Navigation NuGet packages
nugetVersionlatestThe version of the Rich Code Navigation nuget packages to use. Use latest to download the latest package (including pre-releases).
configFilesThe config file(s) for the project(s) to be indexed either as glob patterns or specific file paths relative to the root of the repo, separated by ','
richNavLogOutputDirectoryA comma-separated list of log files created from the build when RichCodeNav.EnvVarDump is a package reference
sourceRootDirThe directory on the machine where the source code is located, if different from the default.
uploadRichNavArtifactsfalseA boolean indicating whether Rich Nav log files should be uploaded as a build artifact. Not yet supported for GitHub Actions. Instead, please use the output variable lspLogsPath to publish Rich Nav artifacts.
maxParallelIndexingJobs2The number of indexers to be run in parallel.
typescriptVersion0.6.0-next.22Optional version of TypeScript tools to use. See https://www.npmjs.com/package/lsif. For Typescript to run, you'll need to install node >= 14.5 prior to this task.
csharpVersion4.3.0-3.22307.3Optional version of Csharp tools to use. For versions see https://dnceng.visualstudio.com/public/_packaging?_a=feed&feed=dotnet-tools
javaVersion0.5.2Optional version of Java tools to use. For versions see https://github.com/microsoft/lsif-java/releases. For Java to run, you'll need to install the Java JDK >= 11 prior to this task.
advancedOptionsCppAdditional command line arguments to the c++ LSIF tool. E.g. --arch x86 --verbose
defaultExpiry30The default maximum number of days for an index to be saved (may be overridden by prExpiry and branchRetention settings)
prExpiry7The maximum number of days for the index of a PR to be saved
branchRetentionA comma-separated list of specific branches and maximum number of days to retain; e.g. main, 15, release/production, 30
msbuildLogOutputDirectorysource directoryFor C#: Specify a different directory if binlogs are not in the source root directory

Outputs

NameDescription
lspLogsPathThe path to LSP logs that may be uploaded as an artifact for diagnostics.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

About

A GitHub Action that adds rich code navigation to a repo's branches and pull requests.

Resources

Code of conduct

Contributing

Security policy

Stars

28 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages