sourcegraph/docker-images
Anton Sviridov aa76466265
SCIP Tree-sitter CLI evaluation logic + workspace indexing mode (#57894)
* Support indexing entire workspace
* Separate evaluate and index subcommands into different modules
* Add --evaluate argument to index command, use serde for json
* Punish candidates with high ambiguity

Candidate ambiguity is a measure of how detailed the candidate SCIP in
comparison to ground truth.

When a candidate symbol has high ambiguity, it means that it occurs in a
lot of places where ground truth SCIP uses different symbols.

A demonstration of this method overloads in Java.
If you have 20 overloads of the same method (but with different
parameters), scip-java actually produces 20 different symbols (e.g.
"NodeRenderer#render(+19)").

Our current methods just produce a single symbol "NodeRenderer#render()"
for all those occurrences.

This commit penalises such occurrences by the logarithm of ambiguity.

* Introduce normalised weighting of candidates

After computing the weights (using same jaccard measure) of individual
pairs of (candidate, ground truth) symbols, we collect all the ground
truth symbols that can be assigned to a given candidate, and normalise
the weights of each pair by dividing it by sum of all weights.

The idea behind this is to reassert the fact that mapping of symbols is
fuzzy, and therefore we shouldn't be selecting just 1 symbol - instead we spread
the fuzziness over all the occurrences, normalise them so they add up to
one.

Note that for a single alternative the weight will be 1, but that's not
a problem because even if some occurrences were missed, they will be
counted as part of false negatives, heavily discounting the effect of
this spurious 1.0 TP

* bzl: Remove library target from Rust crate (#58221)

* fix: Stop sanitizing path unnecessarily

* cleanup: Remove incorrect dep on CLI in highlighter binary

* bzl: Re-add library target for cargo compat

* build: Add comment for build targets

* config: Hoist walkdir to workspace-level dep

---------

Co-authored-by: Varun Gandhi <varun.gandhi@sourcegraph.com>
2023-11-14 13:02:30 +00:00
..
alpine-3.14 Update to use curl from Alpine 3.17 (#50584) 2023-04-13 09:27:51 +00:00
blobstore Update s3proxy to latest custom release (v2) (#53921) 2023-06-22 12:03:51 +00:00
cadvisor Bazel: fix typo (#55933) 2023-08-16 14:09:46 -06:00
codeinsights-db bzl: enact changes from rfc 793 (#53503) 2023-06-14 22:00:12 +02:00
codeintel-db bzl: enact changes from rfc 793 (#53503) 2023-06-14 22:00:12 +02:00
dind Update docker dind image to 24.0.6 to fix vulns (#57177) 2023-10-02 09:57:06 +01:00
executor-vm executor-vm: Bump source image to resolve vulnerabilities (#49262) 2023-03-20 12:24:34 +01:00
grafana Update grafana version and fix grafana issues in server (#54036) 2023-06-23 17:50:28 +01:00
indexed-searcher dev: drop outdated build scripts + minor updates (#53841) 2023-06-21 18:58:39 +02:00
initcontainer bzl: make all container_structure_test exclusive (#53502) 2023-06-14 17:17:20 +00:00
jaeger-agent dev: drop outdated build scripts + minor updates (#53841) 2023-06-21 18:58:39 +02:00
jaeger-all-in-one dev: drop outdated build scripts + minor updates (#53841) 2023-06-21 18:58:39 +02:00
node-exporter dev: drop outdated build scripts + minor updates (#53841) 2023-06-21 18:58:39 +02:00
opentelemetry-collector dev: drop outdated build scripts + minor updates (#53841) 2023-06-21 18:58:39 +02:00
postgres_exporter dev: drop outdated build scripts + minor updates (#53841) 2023-06-21 18:58:39 +02:00
postgres-12-alpine chore: clean up CODENOTIFY for @sourcegraph/delivery (#57046) 2023-09-26 15:20:42 -04:00
prometheus logger: update log lib and remove use of description (#57690) 2023-10-18 17:29:08 +02:00
prometheus-gcp wolfi: build prometheus-gcp image (#54752) 2023-07-10 11:47:08 -05:00
qdrant Qdrant: add docker image (#55986) 2023-08-17 14:28:04 -06:00
redis_exporter dev: drop outdated build scripts + minor updates (#53841) 2023-06-21 18:58:39 +02:00
redis-cache dev: drop outdated build scripts + minor updates (#53841) 2023-06-21 18:58:39 +02:00
redis-store dev: drop outdated build scripts + minor updates (#53841) 2023-06-21 18:58:39 +02:00
search-indexer dev: drop outdated build scripts + minor updates (#53841) 2023-06-21 18:58:39 +02:00
sg dev: drop outdated build scripts + minor updates (#53841) 2023-06-21 18:58:39 +02:00
syntax-highlighter SCIP Tree-sitter CLI evaluation logic + workspace indexing mode (#57894) 2023-11-14 13:02:30 +00:00
README.md enterprise: Move last directory out (#57392) 2023-10-05 20:15:40 +00:00

Sourcegraph derivative Docker images

This directory contains Sourcegraph docker images which are derivatives of an existing Docker image, but with better defaults for our use cases. For example:

  • sourcegraph/alpine handles setting up a sourcegraph user account, installing common packages.
  • sourcegraph/postgres-11.4 is postgres-11.4 but with some Sourcegraph defaults.

If you are looking for our non-derivative Docker images, see e.g. /cmd/.../Dockerfile instead.

Building

All images in this directory are built and published automatically on CI:

Adding a new image

  1. Create a build.sh and add your publishing script to it - the script should end with docker tag ... "$IMAGE". See the scripts in this directory for examples.
  2. Ensure your new script is executable with chmod +x build.sh (you can try it via e.g. IMAGE=fake-repo/cadvisor:latest docker-images/$SERVICE/build.sh, or by building a test image)
  3. Add an image to the automated builds pipeline by adding it to SourcegraphDockerImages.