Scope graph queries by symbol identity (#5187) (#5205) #1420
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
| name: License Policy | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - 'LICENSE' | |
| - 'LICENSES/**' | |
| - 'COMMERCIAL_LICENSE.md' | |
| - 'INTEGRATION_POLICY.md' | |
| - 'TRADEMARKS.md' | |
| - 'README.md' | |
| - 'USER_GUIDE.md' | |
| - 'DISTRIBUTION.md' | |
| - 'docs/NUGET_README.md' | |
| - 'src/CodeIndex/CodeIndex.csproj' | |
| - 'src/CodeIndex/Cli/ConsoleUi.cs' | |
| - 'install_modules/20-installer.sh' | |
| - 'install_modules/40-uninstall.sh' | |
| - '.github/workflows/release.yml' | |
| - '.github/workflows/license-policy.yml' | |
| - 'tests/CodeIndex.Tests/LicensePolicyTests.cs' | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - 'LICENSE' | |
| - 'LICENSES/**' | |
| - 'COMMERCIAL_LICENSE.md' | |
| - 'INTEGRATION_POLICY.md' | |
| - 'TRADEMARKS.md' | |
| - 'README.md' | |
| - 'USER_GUIDE.md' | |
| - 'DISTRIBUTION.md' | |
| - 'docs/NUGET_README.md' | |
| - 'src/CodeIndex/CodeIndex.csproj' | |
| - 'src/CodeIndex/Cli/ConsoleUi.cs' | |
| - 'install_modules/20-installer.sh' | |
| - 'install_modules/40-uninstall.sh' | |
| - '.github/workflows/release.yml' | |
| - '.github/workflows/license-policy.yml' | |
| - 'tests/CodeIndex.Tests/LicensePolicyTests.cs' | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| permissions: | |
| contents: read | |
| jobs: | |
| policy: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Validate license and distribution policy metadata | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| grep -F "FSL-1.1-ALv2" LICENSE >/dev/null | |
| grep -F "Copyright 2026 Widthdom" LICENSE >/dev/null | |
| grep -F "LICENSES/FSL-1.1-ALv2.txt" LICENSE >/dev/null | |
| grep -F "LICENSES/Apache-2.0.txt" LICENSE >/dev/null | |
| test -f LICENSES/FSL-1.1-ALv2.txt | |
| test -f LICENSES/Apache-2.0.txt | |
| test -f INTEGRATION_POLICY.md | |
| grep -F "Functional Source License, Version 1.1, ALv2 Future License" LICENSES/FSL-1.1-ALv2.txt >/dev/null | |
| grep -F "Apache License" LICENSES/Apache-2.0.txt >/dev/null | |
| grep -F "Allowed Without a Separate Agreement" COMMERCIAL_LICENSE.md >/dev/null | |
| grep -F "AI Agent, IDE, Editor, CI, and MCP Integration Policy" INTEGRATION_POLICY.md >/dev/null | |
| grep -F "compatible with CodeIndex" TRADEMARKS.md >/dev/null | |
| grep -F "License-FSL--1.1--ALv2-orange" README.md >/dev/null | |
| grep -F "source-available / Fair Source-style" README.md >/dev/null | |
| grep -F "<PackageLicenseFile>LICENSE</PackageLicenseFile>" src/CodeIndex/CodeIndex.csproj >/dev/null | |
| grep -F "<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>" src/CodeIndex/CodeIndex.csproj >/dev/null | |
| grep -F 'Include="..\..\LICENSE" Pack="true"' src/CodeIndex/CodeIndex.csproj >/dev/null | |
| grep -F 'Include="..\..\COMMERCIAL_LICENSE.md" Pack="true"' src/CodeIndex/CodeIndex.csproj >/dev/null | |
| grep -F 'Include="..\..\INTEGRATION_POLICY.md" Pack="true"' src/CodeIndex/CodeIndex.csproj >/dev/null | |
| grep -F 'Include="..\..\TRADEMARKS.md" Pack="true"' src/CodeIndex/CodeIndex.csproj >/dev/null | |
| grep -F 'Include="..\..\LICENSES\FSL-1.1-ALv2.txt" Pack="true"' src/CodeIndex/CodeIndex.csproj >/dev/null | |
| grep -F 'Include="..\..\LICENSES\Apache-2.0.txt" Pack="true"' src/CodeIndex/CodeIndex.csproj >/dev/null | |
| grep -F 'CopyToPublishDirectory="PreserveNewest"' src/CodeIndex/CodeIndex.csproj >/dev/null | |
| if grep -R -n -E 'License-PolyForm|Licensed under PolyForm|PolyForm Perimeter License 1.0.0' \ | |
| LICENSE README.md COMMERCIAL_LICENSE.md TRADEMARKS.md src/CodeIndex/CodeIndex.csproj; then | |
| echo "Stale PolyForm licensing metadata found in active policy files." >&2 | |
| exit 1 | |
| fi | |
| if grep -R -n -E 'License-MIT|PackageLicenseExpression>MIT|MIT License|sublicense, and/or sell' \ | |
| LICENSE README.md src/CodeIndex/CodeIndex.csproj; then | |
| echo "Stale MIT licensing metadata found." >&2 | |
| exit 1 | |
| fi | |
| grep -F "if: github.repository == 'Widthdom/CodeIndex'" .github/workflows/release.yml >/dev/null | |
| grep -F "LICENSE LICENSES/FSL-1.1-ALv2.txt LICENSES/Apache-2.0.txt COMMERCIAL_LICENSE.md INTEGRATION_POLICY.md TRADEMARKS.md" .github/workflows/release.yml >/dev/null | |
| - name: Set up .NET | |
| uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 | |
| with: | |
| dotnet-version: | | |
| 8.0.413 | |
| 9.0.301 | |
| cache: true | |
| cache-dependency-path: | | |
| src/CodeIndex/packages.lock.json | |
| tests/CodeIndex.HookIsolationFixture/packages.lock.json | |
| tests/CodeIndex.PostExtractionHookFixture/packages.lock.json | |
| tests/CodeIndex.PluginIsolationFixture/packages.lock.json | |
| tests/CodeIndex.Tests/packages.lock.json | |
| tools/CodeIndex.Changelog/packages.lock.json | |
| tools/CodeIndex.PackageNormalize/packages.lock.json | |
| tools/CodeIndex.TestTelemetry/packages.lock.json | |
| - name: Restore license policy test dependencies | |
| run: dotnet restore tests/CodeIndex.Tests/CodeIndex.Tests.csproj -p:RestoreTargetFrameworks=net8.0 --locked-mode | |
| - name: Run license policy contract tests | |
| run: dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj --configuration Release --framework net8.0 --filter FullyQualifiedName~LicensePolicyTests --no-restore --nologo |