From 9db45312e4705a47ef96827eced2eb1d291a4202 Mon Sep 17 00:00:00 2001 From: Piotr Mlocek Date: Wed, 4 Mar 2026 09:00:48 -0800 Subject: [PATCH] chore(ci): remove Gitlab CI config --- .gitlab-ci.yml | 335 ------------------------------------------------- 1 file changed, 335 deletions(-) delete mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index c747eebf..00000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,335 +0,0 @@ -stages: - - build-ci-image - - lint - - test - - publish - - release - -workflow: - rules: - - if: $CI_COMMIT_TAG - - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS - when: never - - if: $CI_MERGE_REQUEST_IID - - if: $CI_COMMIT_BRANCH - -variables: - CARGO_TERM_COLOR: "always" - CARGO_INCREMENTAL: "0" - CI_IMAGE: $CI_REGISTRY_IMAGE/ci:latest - CI_IMAGE_CACHE: $CI_REGISTRY_IMAGE/ci:buildcache - MISE_AUTO_INSTALL: "0" - MISE_TASK_RUN_AUTO_INSTALL: "0" - MISE_NOT_FOUND_AUTO_INSTALL: "0" - -default: - image: $CI_IMAGE - tags: - - agent-dev-kit-build - -cache: - - key: - files: - - uv.lock - paths: - - .venv/ - - .cache/uv/ - - key: - files: - - Cargo.lock - prefix: "sccache-$CI_RUNNER_EXECUTABLE_ARCH" - paths: - - .cache/sccache/ - - key: - files: - - Cargo.lock - - tasks/rust.toml - prefix: "target-$CI_RUNNER_EXECUTABLE_ARCH" - paths: - - target/ - - key: "buildkit-$CI_COMMIT_REF_SLUG" - paths: - - .cache/buildkit/ - -.rust_job_rules: - rules: - - changes: - - Cargo.toml - - Cargo.lock - - crates/**/* - - proto/**/* - - tasks/rust.toml - - tasks/test.toml - - tasks/ci.toml - - mise.toml - - .gitlab-ci.yml - - when: never - -.python_job_rules: - rules: - - changes: - - pyproject.toml - - uv.lock - - python/**/* - - scripts/**/* - - proto/**/* - - tasks/python.toml - - tasks/test.toml - - tasks/ci.toml - - mise.toml - - .gitlab-ci.yml - - when: never - -.e2e_job_rules: - rules: - - changes: - - e2e/**/* - - deploy/docker/**/* - - deploy/helm/**/* - - deploy/kube/**/* - - tasks/cluster.toml - - tasks/docker.toml - - tasks/test.toml - - tasks/scripts/**/* - - crates/**/* - - proto/**/* - - mise.toml - - .gitlab-ci.yml - - when: never - -# ============================================================================= -# CI Image Build (runs only when dependencies change) -# ============================================================================= -build_ci_image: - stage: build-ci-image - image: docker:24 - services: - - docker:24-dind - cache: [] - tags: - - agent-dev-kit-build - variables: - DOCKER_HOST: tcp://docker:2375 - DOCKER_TLS_CERTDIR: "" - DOCKER_TLS_VERIFY: "" - DOCKER_CERT_PATH: "" - DOCKER_BUILDKIT: "1" - before_script: [] # Override default before_script (docker:24 doesn't have uv) - rules: - - changes: - - deploy/docker/Dockerfile.ci - - mise.toml - - tasks/**/* - - .gitlab-ci.yml - - when: never - script: - - until docker info >/dev/null 2>&1; do sleep 1; done - - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY" - - docker buildx create --use --name ci-builder || docker buildx use ci-builder - - | - docker buildx build \ - --pull \ - --cache-from type=registry,ref=$CI_IMAGE \ - --cache-to type=registry,ref=$CI_IMAGE_CACHE,mode=max \ - --build-arg BUILDKIT_INLINE_CACHE=1 \ - -f deploy/docker/Dockerfile.ci \ - -t $CI_IMAGE \ - --push \ - . - -# ============================================================================= -# Lint Jobs -# ============================================================================= -lint: - stage: lint - rules: - - if: $CI_COMMIT_TAG - when: never - - when: on_success - before_script: - - uv sync --frozen - script: - - mise run lint - -# ============================================================================= -# Test Jobs -# ============================================================================= -rust_test: - extends: .rust_job_rules - stage: test - rules: - - if: $CI_COMMIT_TAG - when: never - - when: on_success - script: - - PATH="/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" /root/.cargo/bin/cargo test --workspace - -python_test: - extends: .python_job_rules - stage: test - rules: - - if: $CI_COMMIT_TAG - when: never - - when: on_success - before_script: - - uv sync --frozen - script: - - | - uv run python -m grpc_tools.protoc \ - -Iproto \ - --python_out=python/navigator/_proto \ - --pyi_out=python/navigator/_proto \ - --grpc_python_out=python/navigator/_proto \ - proto/inference.proto \ - proto/navigator.proto \ - proto/datamodel.proto \ - proto/sandbox.proto - - | - uv run python - <<'PY' - from pathlib import Path - import re - - line_rewrites = { - "python/navigator/_proto/inference_pb2_grpc.py": [ - (r"^import inference_pb2 as inference__pb2$", "from . import inference_pb2 as inference__pb2"), - ], - "python/navigator/_proto/navigator_pb2_grpc.py": [ - (r"^import navigator_pb2 as navigator__pb2$", "from . import navigator_pb2 as navigator__pb2"), - (r"^import sandbox_pb2 as sandbox__pb2$", "from . import sandbox_pb2 as sandbox__pb2"), - ], - "python/navigator/_proto/navigator_pb2.py": [ - (r"^import datamodel_pb2 as datamodel__pb2$", "from . import datamodel_pb2 as datamodel__pb2"), - (r"^import sandbox_pb2 as sandbox__pb2$", "from . import sandbox_pb2 as sandbox__pb2"), - ], - "python/navigator/_proto/datamodel_pb2.py": [ - (r"^import sandbox_pb2 as sandbox__pb2$", "from . import sandbox_pb2 as sandbox__pb2"), - ], - "python/navigator/_proto/datamodel_pb2_grpc.py": [ - (r"^import datamodel_pb2 as datamodel__pb2$", "from . import datamodel_pb2 as datamodel__pb2"), - ], - "python/navigator/_proto/sandbox_pb2_grpc.py": [ - (r"^import sandbox_pb2 as sandbox__pb2$", "from . import sandbox_pb2 as sandbox__pb2"), - ], - } - - for path, rules in line_rewrites.items(): - file_path = Path(path) - text = file_path.read_text() - text = text.replace("from . from . import", "from . import") - for pattern, replacement in rules: - text = re.sub(pattern, replacement, text, flags=re.MULTILINE) - file_path.write_text(text) - PY - - uv run pytest python/ - -python_e2e_sandbox_test: - extends: .e2e_job_rules - stage: test - rules: - - when: never - services: - - docker:24-dind - tags: - - agent-dev-kit-build - variables: - DOCKER_HOST: tcp://docker:2375 - DOCKER_TLS_CERTDIR: "" - DOCKER_TLS_VERIFY: "" - DOCKER_CERT_PATH: "" - IMAGE_TAG: "$CI_COMMIT_SHA" - IMAGE_REPO_BASE: "$CI_REGISTRY_IMAGE" - NEMOCLAW_CLUSTER_IMAGE: "navigator/cluster:$CI_COMMIT_SHA" - NEMOCLAW_REGISTRY_INSECURE: "false" - before_script: - - uv sync --frozen - - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY" - script: - - socat UNIX-LISTEN:/var/run/docker.sock,fork,reuseaddr TCP:docker:2375 & - - sleep 1 - - mise run --no-prepare docker:build:cluster - - mise run --no-prepare cluster:build:full - - mise run --no-prepare test:e2e - -# ============================================================================= -# Publish Jobs -# ============================================================================= -publish_main_artifacts: - stage: publish - timeout: 2h - services: - - docker:24-dind - tags: - - agent-dev-kit-build - variables: - DOCKER_HOST: tcp://docker:2375 - DOCKER_TLS_CERTDIR: "" - DOCKER_TLS_VERIFY: "" - DOCKER_CERT_PATH: "" - DOCKER_BUILDKIT: "1" - GIT_DEPTH: "0" # full commit graph needed for setuptools_scm version computation - GIT_CLONE_FLAGS: "--filter=blob:none" # skip blob download to keep clone fast - OSXCROSS_IMAGE: "$CI_REGISTRY_IMAGE/third_party/osxcross:latest" - rules: - - if: $CI_COMMIT_BRANCH == "main" - before_script: - - uv sync --frozen - - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY" - - | - if ! docker pull "$OSXCROSS_IMAGE" >/dev/null 2>&1; then - docker pull crazymax/osxcross:latest - docker tag crazymax/osxcross:latest "$OSXCROSS_IMAGE" - docker push "$OSXCROSS_IMAGE" - fi - # Authenticate to ECR - - aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 524473328983.dkr.ecr.us-west-2.amazonaws.com - script: - - mise run publish:main - -publish_tag_artifacts: - stage: release - timeout: 2h - services: - - docker:24-dind - tags: - - agent-dev-kit-build - variables: - DOCKER_HOST: tcp://docker:2375 - DOCKER_TLS_CERTDIR: "" - DOCKER_TLS_VERIFY: "" - DOCKER_CERT_PATH: "" - DOCKER_BUILDKIT: "1" - GIT_DEPTH: "0" - OSXCROSS_IMAGE: "$CI_REGISTRY_IMAGE/third_party/osxcross:latest" - rules: - - if: $CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+$/ - before_script: - - uv sync --frozen - - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY" - - | - if ! docker pull "$OSXCROSS_IMAGE" >/dev/null 2>&1; then - docker pull crazymax/osxcross:latest - docker tag crazymax/osxcross:latest "$OSXCROSS_IMAGE" - docker push "$OSXCROSS_IMAGE" - fi - # Authenticate to ECR - - aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 524473328983.dkr.ecr.us-west-2.amazonaws.com - script: - - mise run publish:tag - -create_release_notes: - stage: release - needs: ["publish_tag_artifacts"] - variables: - GIT_DEPTH: "0" - GITLAB_TOKEN: $CI_JOB_TOKEN - rules: - - if: $CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+$/ - before_script: [] - script: - - curl -fsSL https://github.com/orhun/git-cliff/releases/download/v2.10.0/git-cliff-2.10.0-x86_64-unknown-linux-gnu.tar.gz | tar xz -C /tmp - - install -m 0755 /tmp/git-cliff-2.10.0/git-cliff /usr/local/bin/git-cliff - - curl -fsSL https://gitlab.com/gitlab-org/cli/-/releases/v1.75.0/downloads/glab_1.75.0_linux_amd64.tar.gz | tar xz -C /tmp - - install -m 0755 /tmp/bin/glab /usr/local/bin/glab - - git fetch --tags --force - - git-cliff --config cliff.toml --latest --strip header > /tmp/release-notes.md - - glab release create "$CI_COMMIT_TAG" --repo "$CI_PROJECT_PATH" --name "$CI_COMMIT_TAG" --notes-file /tmp/release-notes.md