Skip to content
microsoft image/svg+xml

GitHub Action

Rich Code Nav Indexer

v0.1.9 Pre-release

Rich Code Nav Indexer

microsoft image/svg+xml

Rich Code Nav Indexer

Indexes a repo to the Rich Code Nav cloud service

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Rich Code Nav Indexer

uses: microsoft/[email protected]

Learn more about this action in microsoft/RichCodeNavIndexer

Choose a version

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/[email protected]
  with:
    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.

Name Default Description
repo-token Required input to get access to the repo and should be set to ${{ github.token }}.
languages List of languages to use when discovering repository symbols, separated by ,
environment production development, internal, or production
nugetFeed Feed source to use when installing Rich Code Navigation NuGet packages
nugetVersion latest The version of the Rich Code Navigation nuget packages to use. Use latest to download the latest package (including pre-releases).
configFiles The 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 ','
richNavLogOutputDirectory A comma-separated list of log files created from the build when RichCodeNav.EnvVarDump is a package reference
sourceRootDir The directory on the machine where the source code is located, if different from the default.
uploadRichNavArtifacts false A 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.
maxParallelIndexingJobs 2 The number of indexers to be run in parallel.
typescriptVersion 0.6.0-next.22 Optional 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.
csharpVersion 4.3.0-3.22307.3 Optional version of Csharp tools to use. For versions see https://dnceng.visualstudio.com/public/_packaging?_a=feed&feed=dotnet-tools
javaVersion 0.5.2 Optional 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.
advancedOptionsCpp Additional command line arguments to the c++ LSIF tool. E.g. --arch x86 --verbose
defaultExpiry 30 The default maximum number of days for an index to be saved (may be overridden by prExpiry and branchRetention settings)
prExpiry 7 The maximum number of days for the index of a PR to be saved
branchRetention A comma-separated list of specific branches and maximum number of days to retain; e.g. main, 15, release/production, 30
msbuildLogOutputDirectory source directory For C#: Specify a different directory if binlogs are not in the source root directory

Outputs

Name Description
lspLogsPath The 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 [email protected] with any additional questions or comments.