Report the structure of your build to SeaLights. Following this step, you will see the build structure in the SeaLights dashboard.
Statically instrument the code files, creating a version of the files for testing (the original code is not modified). The instrumentation inserts code to gather and send coverage (function signatures only, no runtime arguments) to SeaLights.

Scanning a standalone project

./slcli scan --bsid buildSessionId.txt  --path-to-scanner <path-to-build-scanner-executable>/slgoagent --workspacepath <path-to-app-dir> --disable-on-init true \
    --scm git --scmBaseUrl <base-url> --scmVersion "0" --scmProvider github

If working from the root directory of your project, you can use the following command

./slcli scan --bsid buildSessionId.txt --path-to-scanner ./slgoagent --workspacepath ./ --scm git --disable-on-init true

If you want to identify the parameters for the scm options, please refer to https://sealights.atlassian.net/wiki/x/CIDUPg?atlOrigin=eyJpIjoiZGJhYWYwMDRhZmEwNDlmZjhlY2U3MGQzMmY2MGQxYjEiLCJwIjoiYyJ9

Scanning a Lambda project

./slcli scan --collector-url http://<your-collector-url>/api --light-mode true \
    --bsid buildSessionId.txt --path-to-scanner ./<path-to-build-scanner-executable>/slgoagent --workspacepath <path-to-app-dir> --disable-on-init true \
    --scm git --scmBaseUrl <base-url> --scmVersion "0" --scmProvider github 

Unit Test Coverage in Lambda Workflows

Using --light-mode true during the scan step may result in inaccurate Unit Test coverage data, depending on your workflow. If you find this is the case, you should take the following steps:
1. Remove light-mode true from the slcli scan command
2. Set the environment variable SEALIGHTS_LIGHT_MODE: "true"

As noted, “light-mode” is a necessary parameter when deploying a Lambda function with SeaLights. Using this approach allows the unit test coverage data to be accurately resolved, while still deploying the Lambda layer with the correct configuration.

Ignoring Files during the build scan

To ignore certain files during the buildscan phase, create an .slignore file and place it at the root folder of the project. The agent will automatically look for this file during the execution of the command.

Below is a sample content of the file

types # ignoring all the files and folders below types folder
types/results # ignoring all the files and folders below types/results folder
server/calc.go # ignoring only calc.go file under the server folder
**/result.go # ignoring all the result.go files under all the folders
cmd