Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Ignore everything except what we need for the Go integration tests
*
<!-- *
!integ-tests/go
!engine/language_client_go
!go.mod
!go.sum
!go.sum -->

# Exclude large build artifacts and caches
engine/target/
Expand Down
40 changes: 40 additions & 0 deletions .github/workflows/ci-onboarding.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Onboarding Setup

on:
push:
branches: [ canary ]
pull_request:
branches: [ canary ]

jobs:
setup-and-build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Rust (1.89)
uses: ./.github/actions/setup-rust
with:
toolchain: 1.89

- name: Install mise and repo tools (jdx/mise-action@v3)
uses: jdx/mise-action@v3

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'Onboarding Setup' step
Uses Step
uses 'jdx/mise-action' with ref 'v3', not a pinned commit hash
with:
install: true
cache: true
reshim: true
github_token: ${{ secrets.GITHUB_TOKEN }}
# Let the action read the repo's mise.toml /.tool-versions by default
working_directory: .

- name: Run project setup
env:
CI: true
run: |
set -euxo pipefail
bash ./scripts/setup-dev.sh

- name: Build project
run: |
pnpm build
57 changes: 57 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
FROM --platform=linux/amd64 ubuntu:22.04


# Install system dependencies and common Rust build tools
RUN apt-get update && \
apt-get install -y \
curl \
git \
build-essential \
ca-certificates \
openssh-server \
sudo \
python3 \
python3-pip \
nodejs \
npm


# Install mise (tool version manager)
RUN curl https://mise.jdx.dev/install.sh | bash \
&& ln -s /root/.local/bin/mise /usr/local/bin/mise

ENV PATH="/root/.local/bin:${PATH}"

# Install Rust 1.89
RUN curl https://sh.rustup.rs -sSf | bash -s -- -y --default-toolchain 1.89.0
ENV PATH="/root/.cargo/bin:${PATH}"


# Suppress jemalloc info messages
ENV MALLOC_CONF="background_thread:false,stats_print:false"


# Create a working directory
WORKDIR /workspace

# Copy the local source directory into the container
COPY . /workspace


# Expose SSH port
EXPOSE 22

# Set up SSH (optional, for interactive access)
RUN mkdir /var/run/sshd && \
echo 'root:root' | chpasswd && \
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

# Ensure mise and Rust are activated for all shells
RUN echo 'export PATH="/root/.local/bin:/root/.cargo/bin:$PATH"' >> /root/.bashrc && \
echo 'eval "$(mise activate bash --shims)"' >> /root/.bashrc && \
echo 'eval "$(mise activate bash)"' >> /root/.bashrc && \
echo 'export PATH="/root/.local/bin:/root/.cargo/bin:$PATH"' >> /root/.zshrc && \
echo 'eval "$(mise activate zsh --shims)"' >> /root/.zshrc && \
echo 'eval "$(mise activate zsh)"' >> /root/.zshrc

CMD ["/usr/sbin/sshd", "-D"]
137 changes: 1 addition & 136 deletions engine/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion engine/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ members = [
"cli",
"tools",
"language_client_python",
"language_client_ruby/ext/ruby_ffi",
# disabled temporarily while we are working on migrating ruby to ffi
# "language_client_ruby/ext/ruby_ffi",
"language_client_typescript",
"language_server",
"language_client_cffi",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const sanitizeSvgForError = (error: unknown) => {
export default function MermaidDiagram({ chart, className }: MermaidDiagramProps) {
const containerRef = useRef<HTMLDivElement | null>(null);
const [svg, setSvg] = useState<string>("");
const idRef = useRef<string>();
const idRef = useRef<string>("");

if (!idRef.current) {
idRef.current = `mermaid-${Math.random().toString(36).slice(2, 11)}`;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class WatchHeaderFilesPlugin {
}

apply(compiler: any) {
compiler.hooks.afterCompile.tap("WatchHeaderFilesPlugin", (compilation) => {
compiler.hooks.afterCompile.tap("WatchHeaderFilesPlugin", (compilation: any) => {
compilation.contextDependencies.add(this.directory);

for (const file of collectWatchedFiles(this.directory)) {
Expand Down
5 changes: 3 additions & 2 deletions engine/language_client_python/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions mise.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
# Core languages
go = "1.23.11"
python = "3.13" # Will use uv for Python package management
ruby = "3.2.2"
# disabling ruby for now
# ruby = "3.2.2"
node = "lts" # For pnpm
java = "temurin-23"

Expand All @@ -21,8 +22,7 @@ java = "temurin-23"
"go:golang.org/x/tools/cmd/goimports" = "0.36.0"

# Python tools
"pipx:uv" = "latest"
"pipx:ruff" = "latest"
uv = "latest"
"pipx:maturin" = "latest"

# Node tools
Expand Down
Loading
Loading