cody-slack: Dockerfile and CI integration (#52292)

1. Builds Cody-Slack with esbuild.
2. Adds Dockerfile for the Cody-Slack app.
3. Adds health check endpoint to the Cody-Slack app.
4. Adds logic to build and publish Docker images described in
`./client/<package_name>`.
This commit is contained in:
Valery Bugakov 2023-05-24 05:06:43 -07:00 committed by GitHub
parent c205dedff2
commit 4f4ced59a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 148 additions and 35 deletions

View File

@ -146,9 +146,9 @@ jest_npm_repositories()
# rules_esbuild setup ===========================
http_archive(
name = "aspect_rules_esbuild",
sha256 = "621c8ccb8a1400951c52357377eda4c575c6c901689bb629969881e0be8a8614",
strip_prefix = "rules_esbuild-175023fede7d2532dd35d89cb43b43cbe9e75678",
url = "https://github.com/aspect-build/rules_esbuild/archive/175023fede7d2532dd35d89cb43b43cbe9e75678.tar.gz",
sha256 = "2ea31bd97181a315e048be693ddc2815fddda0f3a12ca7b7cc6e91e80f31bac7",
strip_prefix = "rules_esbuild-0.14.4",
url = "https://github.com/aspect-build/rules_esbuild/releases/download/v0.14.4/rules_esbuild-v0.14.4.tar.gz",
)
load("@aspect_rules_esbuild//esbuild:dependencies.bzl", "rules_esbuild_dependencies")

View File

@ -1,8 +1,9 @@
load("@aspect_rules_js//npm:defs.bzl", "npm_package")
load("@aspect_rules_ts//ts:defs.bzl", "ts_config")
load("@aspect_bazel_lib//lib:copy_to_bin.bzl", "copy_to_bin")
load("@npm//:defs.bzl", "npm_link_all_packages")
load("//dev:defs.bzl", "ts_project")
load("//dev:eslint.bzl", "eslint_config")
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
npm_link_all_packages(name = "node_modules")
@ -51,10 +52,23 @@ ts_project(
],
)
npm_package(
name = "cody-slack_pkg",
srcs = [
"package.json",
":cody-slack",
],
copy_to_bin(
name = "package_json_prod",
srcs = ["package/package.json"],
visibility = ["//visibility:public"],
)
esbuild(
name = "bundle",
entry_point = "src/app.ts",
external = [
"jsonc-parser", # UMD module
"hnswlib-node",
],
format = "cjs",
output = "app.js",
platform = "node",
sourcemap = "linked",
target = "node16",
deps = [":cody-slack"],
)

View File

@ -0,0 +1,20 @@
# Choose the latest LTS (Long Term Support) version of node as our base image
FROM node:lts
ARG PROJECT_ROOT="."
# Create a directory for our application
WORKDIR /app
# Copy only the build artifact and package.json into our app directory
COPY ${PROJECT_ROOT}/dist .
COPY ${PROJECT_ROOT}/package .
# Install only production dependencies
RUN npm install --omit=dev --silent
# The application's default port is picked from the environment
EXPOSE $PORT
# Start the application
CMD [ "node", "app.js" ]

39
client/cody-slack/build.sh Executable file
View File

@ -0,0 +1,39 @@
#!/usr/bin/env bash
# Navigate to the directory two levels above the one where the current script is located.
cd "$(dirname "${BASH_SOURCE[0]}")"/../..
set -ex
# Create a temporary directory for output and ensure it's cleaned up on exit
OUTPUT=$(mktemp -d -t cody_slack_dockerbuild_XXXXXXX)
cleanup() {
rm -rf "$OUTPUT"
}
trap cleanup EXIT
# Define targets and directories for the build
declare -A targets=(
["//client/cody-slack:bundle"]="$OUTPUT/dist"
["//client/cody-slack:package_json_prod"]="$OUTPUT/package"
)
# Build and copy the targets
for target in "${!targets[@]}"; do
./dev/ci/bazel.sh build "$target"
mkdir -p "${targets[$target]}"
mapfile -t files < <(./dev/ci/bazel.sh cquery "$target" --output=files)
for file in "${files[@]}"
do
cp "$file" "${targets[$target]}"
done
done
# Build the docker image
docker build -f client/cody-slack/Dockerfile -t "$IMAGE" "$OUTPUT" \
--progress=plain \
--build-arg COMMIT_SHA \
--build-arg DATE \
--build-arg VERSION
exit $?

View File

@ -10,10 +10,9 @@
"lint": "pnpm run lint:js",
"lint:js": "eslint --cache '**/*.[tj]s?(x)'",
"build": "esbuild ./src/app.ts --bundle --outfile=dist/app.js --external:hnswlib-node --format=cjs --platform=node",
"build-ts": "tsc -b --emitDeclarationOnly",
"release": "pnpm run build && cd dist && git add . && git commit -m wip && git push heroku master",
"build:gcp": "esbuild ./src/app.ts --bundle --outfile=package/app.js --external:hnswlib-node --format=cjs --platform=node",
"release:gcp": "pnpm run build && cd package && git add . && git commit -m wip && git push gcp main"
"build:ts": "tsc -b --emitDeclarationOnly",
"build:docker": "IMAGE=cody-slack:0.0.1 ./build.sh",
"release": "pnpm run build && cd dist && git add . && git commit -m wip && git push heroku master"
},
"dependencies": {
"@slack/bolt": "^3.12.2",

View File

@ -9,6 +9,7 @@
"start": "node ./app.js"
},
"dependencies": {
"hnswlib-node": "^1.4.2"
"hnswlib-node": "^1.4.2",
"jsonc-parser": "^3.0.0"
}
}

View File

@ -9,6 +9,16 @@ export const app = new App({
token: ENVIRONMENT_CONFIG.SLACK_BOT_TOKEN,
signingSecret: ENVIRONMENT_CONFIG.SLACK_SIGNING_SECRET,
logLevel: LogLevel.INFO,
customRoutes: [
{
path: '/healthz',
method: ['GET'],
handler: (req, res) => {
res.writeHead(200)
res.end(`Things are going just fine at ${req.headers.host}!`)
},
},
],
})
export const webClient = new WebClient(ENVIRONMENT_CONFIG.SLACK_BOT_TOKEN)

View File

@ -194,7 +194,7 @@ Base pipeline (more steps might be included based on branch changes):
- **Metadata**: Pipeline metadata
- **Pipeline setup**: Trigger async
- **Image builds**: Build syntax-highlighter, Build Docker images, Build Docker images, Build Docker images, Build executor image, Build executor binary, Build docker registry mirror image
- **Image security scans**: Scan symbols, Scan executor, Scan alpine-3.14, Scan postgres-12-alpine, Scan cadvisor, Scan codeinsights-db, Scan codeintel-db, Scan frontend, Scan github-proxy, Scan gitserver, Scan grafana, Scan indexed-searcher, Scan migrator, Scan node-exporter, Scan opentelemetry-collector, Scan postgres_exporter, Scan precise-code-intel-worker, Scan prometheus, Scan prometheus-gcp, Scan redis-cache, Scan redis-store, Scan redis_exporter, Scan repo-updater, Scan search-indexer, Scan searcher, Scan syntax-highlighter, Scan worker, Scan batcheshelper, Scan blobstore2, Scan bundled-executor, Scan dind, Scan embeddings, Scan executor-kubernetes, Scan executor-vm, Scan jaeger-agent, Scan jaeger-all-in-one, Scan llm-proxy, Scan sg
- **Image security scans**: Scan symbols, Scan executor, Scan alpine-3.14, Scan postgres-12-alpine, Scan cadvisor, Scan codeinsights-db, Scan codeintel-db, Scan frontend, Scan github-proxy, Scan gitserver, Scan grafana, Scan indexed-searcher, Scan migrator, Scan node-exporter, Scan opentelemetry-collector, Scan postgres_exporter, Scan precise-code-intel-worker, Scan prometheus, Scan prometheus-gcp, Scan redis-cache, Scan redis-store, Scan redis_exporter, Scan repo-updater, Scan search-indexer, Scan searcher, Scan syntax-highlighter, Scan worker, Scan batcheshelper, Scan blobstore2, Scan bundled-executor, Scan dind, Scan embeddings, Scan executor-kubernetes, Scan executor-vm, Scan jaeger-agent, Scan jaeger-all-in-one, Scan llm-proxy, Scan sg, Scan cody-slack
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
@ -202,7 +202,7 @@ Base pipeline (more steps might be included based on branch changes):
- **Client checks**: Upload Storybook to Chromatic, Enterprise build, Build (client/jetbrains), Tests for VS Code extension, Unit, integration, and E2E tests for the Cody VS Code extension, ESLint (all), ESLint (web), Stylelint (all)
- **Integration tests**: Backend integration tests (gRPC), Backend integration tests, Code Intel QA
- **End-to-end tests**: Executors E2E, Sourcegraph E2E, Sourcegraph Upgrade
- **Publish images**: symbols, server, executor, alpine-3.14, postgres-12-alpine, blobstore, cadvisor, codeinsights-db, codeintel-db, frontend, github-proxy, gitserver, grafana, indexed-searcher, migrator, node-exporter, opentelemetry-collector, postgres_exporter, precise-code-intel-worker, prometheus, prometheus-gcp, redis-cache, redis-store, redis_exporter, repo-updater, search-indexer, searcher, syntax-highlighter, worker, batcheshelper, blobstore2, bundled-executor, dind, embeddings, executor-kubernetes, executor-vm, jaeger-agent, jaeger-all-in-one, llm-proxy, sg, Publish executor image, Publish executor binary, Publish docker registry mirror image
- **Publish images**: symbols, server, executor, alpine-3.14, postgres-12-alpine, blobstore, cadvisor, codeinsights-db, codeintel-db, frontend, github-proxy, gitserver, grafana, indexed-searcher, migrator, node-exporter, opentelemetry-collector, postgres_exporter, precise-code-intel-worker, prometheus, prometheus-gcp, redis-cache, redis-store, redis_exporter, repo-updater, search-indexer, searcher, syntax-highlighter, worker, batcheshelper, blobstore2, bundled-executor, dind, embeddings, executor-kubernetes, executor-vm, jaeger-agent, jaeger-all-in-one, llm-proxy, sg, cody-slack, Publish executor image, Publish executor binary, Publish docker registry mirror image
### Release branch
@ -213,7 +213,7 @@ Base pipeline (more steps might be included based on branch changes):
- **Metadata**: Pipeline metadata
- **Pipeline setup**: Trigger async
- **Image builds**: Build syntax-highlighter, Build Docker images, Build Docker images, Build Docker images, Build executor image, Build executor binary, Build docker registry mirror image
- **Image security scans**: Scan symbols, Scan executor, Scan alpine-3.14, Scan postgres-12-alpine, Scan cadvisor, Scan codeinsights-db, Scan codeintel-db, Scan frontend, Scan github-proxy, Scan gitserver, Scan grafana, Scan indexed-searcher, Scan migrator, Scan node-exporter, Scan opentelemetry-collector, Scan postgres_exporter, Scan precise-code-intel-worker, Scan prometheus, Scan prometheus-gcp, Scan redis-cache, Scan redis-store, Scan redis_exporter, Scan repo-updater, Scan search-indexer, Scan searcher, Scan syntax-highlighter, Scan worker, Scan batcheshelper, Scan blobstore2, Scan bundled-executor, Scan dind, Scan embeddings, Scan executor-kubernetes, Scan executor-vm, Scan jaeger-agent, Scan jaeger-all-in-one, Scan llm-proxy, Scan sg
- **Image security scans**: Scan symbols, Scan executor, Scan alpine-3.14, Scan postgres-12-alpine, Scan cadvisor, Scan codeinsights-db, Scan codeintel-db, Scan frontend, Scan github-proxy, Scan gitserver, Scan grafana, Scan indexed-searcher, Scan migrator, Scan node-exporter, Scan opentelemetry-collector, Scan postgres_exporter, Scan precise-code-intel-worker, Scan prometheus, Scan prometheus-gcp, Scan redis-cache, Scan redis-store, Scan redis_exporter, Scan repo-updater, Scan search-indexer, Scan searcher, Scan syntax-highlighter, Scan worker, Scan batcheshelper, Scan blobstore2, Scan bundled-executor, Scan dind, Scan embeddings, Scan executor-kubernetes, Scan executor-vm, Scan jaeger-agent, Scan jaeger-all-in-one, Scan llm-proxy, Scan sg, Scan cody-slack
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
@ -221,7 +221,7 @@ Base pipeline (more steps might be included based on branch changes):
- **Client checks**: Upload Storybook to Chromatic, Enterprise build, Build (client/jetbrains), Tests for VS Code extension, Unit, integration, and E2E tests for the Cody VS Code extension, ESLint (all), ESLint (web), Stylelint (all)
- **Integration tests**: Backend integration tests (gRPC), Backend integration tests, Code Intel QA
- **End-to-end tests**: Executors E2E, Sourcegraph E2E, Sourcegraph Upgrade
- **Publish images**: symbols, server, executor, alpine-3.14, postgres-12-alpine, blobstore, cadvisor, codeinsights-db, codeintel-db, frontend, github-proxy, gitserver, grafana, indexed-searcher, migrator, node-exporter, opentelemetry-collector, postgres_exporter, precise-code-intel-worker, prometheus, prometheus-gcp, redis-cache, redis-store, redis_exporter, repo-updater, search-indexer, searcher, syntax-highlighter, worker, batcheshelper, blobstore2, bundled-executor, dind, embeddings, executor-kubernetes, executor-vm, jaeger-agent, jaeger-all-in-one, llm-proxy, sg
- **Publish images**: symbols, server, executor, alpine-3.14, postgres-12-alpine, blobstore, cadvisor, codeinsights-db, codeintel-db, frontend, github-proxy, gitserver, grafana, indexed-searcher, migrator, node-exporter, opentelemetry-collector, postgres_exporter, precise-code-intel-worker, prometheus, prometheus-gcp, redis-cache, redis-store, redis_exporter, repo-updater, search-indexer, searcher, syntax-highlighter, worker, batcheshelper, blobstore2, bundled-executor, dind, embeddings, executor-kubernetes, executor-vm, jaeger-agent, jaeger-all-in-one, llm-proxy, sg, cody-slack
### Browser extension release build
@ -273,7 +273,7 @@ Base pipeline (more steps might be included based on branch changes):
- **Metadata**: Pipeline metadata
- **Pipeline setup**: Trigger async
- **Image builds**: Build syntax-highlighter, Build Docker images, Build Docker images, Build Docker images, Build executor image, Build executor binary
- **Image security scans**: Scan symbols, Scan executor, Scan alpine-3.14, Scan postgres-12-alpine, Scan cadvisor, Scan codeinsights-db, Scan codeintel-db, Scan frontend, Scan github-proxy, Scan gitserver, Scan grafana, Scan indexed-searcher, Scan migrator, Scan node-exporter, Scan opentelemetry-collector, Scan postgres_exporter, Scan precise-code-intel-worker, Scan prometheus, Scan prometheus-gcp, Scan redis-cache, Scan redis-store, Scan redis_exporter, Scan repo-updater, Scan search-indexer, Scan searcher, Scan syntax-highlighter, Scan worker, Scan batcheshelper, Scan blobstore2, Scan bundled-executor, Scan dind, Scan embeddings, Scan executor-kubernetes, Scan executor-vm, Scan jaeger-agent, Scan jaeger-all-in-one, Scan llm-proxy, Scan sg
- **Image security scans**: Scan symbols, Scan executor, Scan alpine-3.14, Scan postgres-12-alpine, Scan cadvisor, Scan codeinsights-db, Scan codeintel-db, Scan frontend, Scan github-proxy, Scan gitserver, Scan grafana, Scan indexed-searcher, Scan migrator, Scan node-exporter, Scan opentelemetry-collector, Scan postgres_exporter, Scan precise-code-intel-worker, Scan prometheus, Scan prometheus-gcp, Scan redis-cache, Scan redis-store, Scan redis_exporter, Scan repo-updater, Scan search-indexer, Scan searcher, Scan syntax-highlighter, Scan worker, Scan batcheshelper, Scan blobstore2, Scan bundled-executor, Scan dind, Scan embeddings, Scan executor-kubernetes, Scan executor-vm, Scan jaeger-agent, Scan jaeger-all-in-one, Scan llm-proxy, Scan sg, Scan cody-slack
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
@ -281,7 +281,7 @@ Base pipeline (more steps might be included based on branch changes):
- **Client checks**: Upload Storybook to Chromatic, Enterprise build, Build (client/jetbrains), Tests for VS Code extension, Unit, integration, and E2E tests for the Cody VS Code extension, ESLint (all), ESLint (web), Stylelint (all)
- **Integration tests**: Backend integration tests (gRPC), Backend integration tests, Code Intel QA
- **End-to-end tests**: Executors E2E, Sourcegraph E2E, Sourcegraph Upgrade
- **Publish images**: symbols, server, executor, alpine-3.14, postgres-12-alpine, blobstore, cadvisor, codeinsights-db, codeintel-db, frontend, github-proxy, gitserver, grafana, indexed-searcher, migrator, node-exporter, opentelemetry-collector, postgres_exporter, precise-code-intel-worker, prometheus, prometheus-gcp, redis-cache, redis-store, redis_exporter, repo-updater, search-indexer, searcher, syntax-highlighter, worker, batcheshelper, blobstore2, bundled-executor, dind, embeddings, executor-kubernetes, executor-vm, jaeger-agent, jaeger-all-in-one, llm-proxy, sg, Publish executor image, Publish executor binary
- **Publish images**: symbols, server, executor, alpine-3.14, postgres-12-alpine, blobstore, cadvisor, codeinsights-db, codeintel-db, frontend, github-proxy, gitserver, grafana, indexed-searcher, migrator, node-exporter, opentelemetry-collector, postgres_exporter, precise-code-intel-worker, prometheus, prometheus-gcp, redis-cache, redis-store, redis_exporter, repo-updater, search-indexer, searcher, syntax-highlighter, worker, batcheshelper, blobstore2, bundled-executor, dind, embeddings, executor-kubernetes, executor-vm, jaeger-agent, jaeger-all-in-one, llm-proxy, sg, cody-slack, Publish executor image, Publish executor binary
### Main dry run
@ -297,7 +297,7 @@ Base pipeline (more steps might be included based on branch changes):
- **Metadata**: Pipeline metadata
- **Pipeline setup**: Trigger async
- **Image builds**: Build syntax-highlighter, Build Docker images, Build Docker images, Build Docker images, Build executor image, Build executor binary
- **Image security scans**: Scan symbols, Scan executor, Scan alpine-3.14, Scan postgres-12-alpine, Scan cadvisor, Scan codeinsights-db, Scan codeintel-db, Scan frontend, Scan github-proxy, Scan gitserver, Scan grafana, Scan indexed-searcher, Scan migrator, Scan node-exporter, Scan opentelemetry-collector, Scan postgres_exporter, Scan precise-code-intel-worker, Scan prometheus, Scan prometheus-gcp, Scan redis-cache, Scan redis-store, Scan redis_exporter, Scan repo-updater, Scan search-indexer, Scan searcher, Scan syntax-highlighter, Scan worker, Scan batcheshelper, Scan blobstore2, Scan bundled-executor, Scan dind, Scan embeddings, Scan executor-kubernetes, Scan executor-vm, Scan jaeger-agent, Scan jaeger-all-in-one, Scan llm-proxy, Scan sg
- **Image security scans**: Scan symbols, Scan executor, Scan alpine-3.14, Scan postgres-12-alpine, Scan cadvisor, Scan codeinsights-db, Scan codeintel-db, Scan frontend, Scan github-proxy, Scan gitserver, Scan grafana, Scan indexed-searcher, Scan migrator, Scan node-exporter, Scan opentelemetry-collector, Scan postgres_exporter, Scan precise-code-intel-worker, Scan prometheus, Scan prometheus-gcp, Scan redis-cache, Scan redis-store, Scan redis_exporter, Scan repo-updater, Scan search-indexer, Scan searcher, Scan syntax-highlighter, Scan worker, Scan batcheshelper, Scan blobstore2, Scan bundled-executor, Scan dind, Scan embeddings, Scan executor-kubernetes, Scan executor-vm, Scan jaeger-agent, Scan jaeger-all-in-one, Scan llm-proxy, Scan sg, Scan cody-slack
- Ensure buildfiles are up to date
- Tests
- BackCompat Tests
@ -305,7 +305,7 @@ Base pipeline (more steps might be included based on branch changes):
- **Client checks**: Upload Storybook to Chromatic, Enterprise build, Build (client/jetbrains), Tests for VS Code extension, Unit, integration, and E2E tests for the Cody VS Code extension, ESLint (all), ESLint (web), Stylelint (all)
- **Integration tests**: Backend integration tests (gRPC), Backend integration tests, Code Intel QA
- **End-to-end tests**: Executors E2E, Sourcegraph E2E, Sourcegraph Upgrade
- **Publish images**: symbols, server, executor, alpine-3.14, postgres-12-alpine, blobstore, cadvisor, codeinsights-db, codeintel-db, frontend, github-proxy, gitserver, grafana, indexed-searcher, migrator, node-exporter, opentelemetry-collector, postgres_exporter, precise-code-intel-worker, prometheus, prometheus-gcp, redis-cache, redis-store, redis_exporter, repo-updater, search-indexer, searcher, syntax-highlighter, worker, batcheshelper, blobstore2, bundled-executor, dind, embeddings, executor-kubernetes, executor-vm, jaeger-agent, jaeger-all-in-one, llm-proxy, sg
- **Publish images**: symbols, server, executor, alpine-3.14, postgres-12-alpine, blobstore, cadvisor, codeinsights-db, codeintel-db, frontend, github-proxy, gitserver, grafana, indexed-searcher, migrator, node-exporter, opentelemetry-collector, postgres_exporter, precise-code-intel-worker, prometheus, prometheus-gcp, redis-cache, redis-store, redis_exporter, repo-updater, search-indexer, searcher, syntax-highlighter, worker, batcheshelper, blobstore2, bundled-executor, dind, embeddings, executor-kubernetes, executor-vm, jaeger-agent, jaeger-all-in-one, llm-proxy, sg, cody-slack
### Patch image

View File

@ -101,7 +101,8 @@ Available commands in `sg.config.yaml`:
* codeintel-executor
* codeintel-executor-firecracker
* codeintel-worker
* cody-slack: Start Cody-Slack locally server locally
* cody-slack-dev: Start Cody-Slack dev locally
* cody-slack-docker: Start Cody-Slack locally prod in Docker
* debug-env: Debug env vars
* docsite: Docsite instance serving the docs
* embeddings

View File

@ -67,7 +67,8 @@ var SourcegraphDockerImagesMisc = []string{
"jaeger-agent",
"jaeger-all-in-one",
"llm-proxy",
"sg"}
"sg",
"cody-slack"}
// These are images that use the musl build chain for bazel, and break the cache if built
// on a system with glibc. They are built on a separate pipeline. They're also the images current e2e/integration

View File

@ -224,6 +224,9 @@ func bazelBuildCandidateDockerImages(apps []string, version string, tag string,
bk.Cmd("ls -lah "+buildScriptPath),
bk.Cmd(buildScriptPath),
)
} else if _, err := os.Stat(filepath.Join("client", app)); err == nil {
// Building Docker image located under $REPO_ROOT/client/
cmds = append(cmds, bk.AnnotatedCmd("client/"+app+"/build.sh", buildAnnotationOptions))
} else {
// Building Docker images located under $REPO_ROOT/cmd/
cmdDir := func() string {
@ -324,6 +327,9 @@ func bazelBuildCandidateDockerImage(app string, version string, tag string, rt r
bk.Cmd("ls -lah "+buildScriptPath),
bk.Cmd(buildScriptPath),
)
} else if _, err := os.Stat(filepath.Join("client", app)); err == nil {
// Building Docker image located under $REPO_ROOT/client/
cmds = append(cmds, bk.AnnotatedCmd("client/"+app+"/build.sh", buildAnnotationOptions))
} else {
// Building Docker images located under $REPO_ROOT/cmd/
cmdDir := func() string {

View File

@ -834,6 +834,9 @@ func buildCandidateDockerImage(app, version, tag string, uploadSourcemaps bool)
cmds = append(cmds,
bk.Cmd("ls -lah "+filepath.Join("docker-images", app, "build.sh")),
bk.Cmd(filepath.Join("docker-images", app, "build.sh")))
} else if _, err := os.Stat(filepath.Join("client", app)); err == nil {
// Building Docker image located under $REPO_ROOT/client/
cmds = append(cmds, bk.AnnotatedCmd("client/"+app+"/build.sh", buildAnnotationOptions))
} else {
// Building Docker images located under $REPO_ROOT/cmd/
cmdDir := func() string {

View File

@ -474,15 +474,34 @@ commands:
INTEGRATION_TESTS: true
NODE_ENV: production
cody-slack:
description: Start Cody-Slack locally server locally
cody-slack-dev:
description: Start Cody-Slack dev locally
cmd: pnpm --filter @sourcegraph/cody-slack run start
env:
env: &cody_slack_env
GITHUB_TOKEN: XXX
OPENAI_API_KEY: XXX
SLACK_APP_TOKEN: XXX
SLACK_SIGNING_SECRET: XXX
SLACK_BOT_TOKEN: XXX
SOURCEGRAPH_ACCESS_TOKEN: XXX
cody-slack-docker:
description: Start Cody-Slack locally prod in Docker
cmd: |
docker run -p 0.0.0.0:${PORT}:${PORT} \
-e SRC_FRONTEND_INTERNAL="${SRC_FRONTEND_INTERNAL}" \
-e GITHUB_TOKEN="${GITHUB_TOKEN}" \
-e OPENAI_API_KEY="${OPENAI_API_KEY}" \
-e SLACK_APP_TOKEN="${SLACK_APP_TOKEN}" \
-e SLACK_SIGNING_SECRET="${SLACK_SIGNING_SECRET}" \
-e SLACK_BOT_TOKEN="${SLACK_BOT_TOKEN}" \
-e SOURCEGRAPH_ACCESS_TOKEN="${SOURCEGRAPH_ACCESS_TOKEN}" \
${IMAGE}
env:
<<: *cody_slack_env
PORT: 3000
IMAGE: cody-slack:0.0.1
docsite:
description: Docsite instance serving the docs
cmd: .bin/docsite_${DOCSITE_VERSION} -config doc/docsite.json serve -http=localhost:5080
@ -964,13 +983,13 @@ bazelCommands:
ignoreStderr: true
env:
# Environment copied from Dockerfile
WORKERS: "1"
ROCKET_ENV: "production"
ROCKET_LIMITS: "{json=10485760}"
ROCKET_SECRET_KEY: "SeerutKeyIsI7releuantAndknvsuZPluaseIgnorYA="
ROCKET_KEEP_ALIVE: "0"
ROCKET_PORT: "9238"
QUIET: "true"
WORKERS: '1'
ROCKET_ENV: 'production'
ROCKET_LIMITS: '{json=10485760}'
ROCKET_SECRET_KEY: 'SeerutKeyIsI7releuantAndknvsuZPluaseIgnorYA='
ROCKET_KEEP_ALIVE: '0'
ROCKET_PORT: '9238'
QUIET: 'true'
github-proxy:
target: //cmd/github-proxy
frontend: