This is an automated email from the ASF dual-hosted git repository.

aglinxinyuan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/texera.git


The following commit(s) were added to refs/heads/main by this push:
     new d837578fa4 chore: remove stale root Dockerfile (#4662)
d837578fa4 is described below

commit d837578fa4e943ce30c855108a1da458a0bb4efe
Author: Xinyuan Lin <[email protected]>
AuthorDate: Mon May 4 21:41:20 2026 -0700

    chore: remove stale root Dockerfile (#4662)
    
    ### What changes were proposed in this PR?
    
    Delete the root `Dockerfile`. It is dead code that has been broken since
    the `core/` reorganization in late 2025 and is referenced by nothing in
    the build system.
    
    **Why it is broken on its own terms.** The file still contains:
    
    - `COPY core/gui/package.json core/gui/yarn.lock ./` and `COPY core/gui
    .` — `core/gui/` was relocated to `frontend/` in #3851 (`chore: relocate
    core/gui to frontend`).
    - `COPY core/ .` — `core/` was renamed to `common/` in #3882 (`chore:
    rename core to common`).
    - `RUN pip3 install -r requirements.txt` and `RUN pip3 install -r
    operator-requirements.txt` — those files now live under `amber/`.
    - `FROM node:18-alpine` — the active frontend builder is
    `node:24-bookworm` in `bin/texera-web-application.dockerfile` (post
    #4658).
    
    The last touch was #3877 (`chore: rename core/scripts to bin`, Oct
    2025), which only fixed one path inside this file and left the rest
    pointing at directories that no longer exist. `docker build .` against
    this file fails immediately — there is nothing to copy from `core/gui/`.
    
    **Why nothing uses it.**
    
    - `.github/workflows/build-and-push-images.yml` builds images by
    globbing `bin/*.dockerfile` only.
    - `bin/build-images.sh` and `bin/merge-image-tags.sh` likewise iterate
    `*.dockerfile` from `bin/`.
    - `bin/README.md` documents `bin/*.dockerfile` as the supported pattern
    (e.g. `docker build -f bin/texera-web-application.dockerfile -t ... .`).
    - The two `docker-compose.yml` files (`bin/single-node/`, `sql/`)
    consume pre-built images and do not declare `build:` for the root
    `Dockerfile`.
    
    `.dockerignore` is intentionally kept — it still applies as a
    build-context filter for the active `bin/*.dockerfile` builds run from
    the project root.
    
    ### Any related issues, documentation, discussions?
    
    Closes #4661.
    
    ### How was this PR tested?
    
    No automated tests apply; this is a pure deletion of an unreferenced
    file.
    
    Verified manually that no remaining file references the root
    `Dockerfile`:
    
    ```bash
    grep -rIn -E '(^|[^.a-zA-Z/])\./Dockerfile|-f Dockerfile' \
      --exclude-dir=node_modules --exclude-dir=.git . | wc -l   # → 0
    ```
    
    The active image-build paths still resolve (`bin/*.dockerfile`
    enumerated by both the local `bin/build-images.sh` and the
    `build-and-push-images.yml` matrix builder).
    
    ### Was this PR authored or co-authored using generative AI tooling?
    
    Generated-by: Claude Code (Opus 4.7)
---
 Dockerfile | 69 --------------------------------------------------------------
 1 file changed, 69 deletions(-)

diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index c1be6e7d92..0000000000
--- a/Dockerfile
+++ /dev/null
@@ -1,69 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# Apache Texera is an effort undergoing incubation at The Apache Software
-# Foundation (ASF), sponsored by the Apache Incubator PMC. Incubation is
-# required of all newly accepted projects until a further review indicates
-# that the infrastructure, communications, and decision-making process have
-# stabilized in a manner consistent with other successful ASF projects.
-# While incubation status is not necessarily a reflection of the
-# completeness or stability of the code, it does indicate that the project
-# has yet to be fully endorsed by the ASF.
-
-FROM node:18-alpine AS nodegui
-
-WORKDIR /gui
-COPY core/gui/package.json core/gui/yarn.lock ./
-RUN corepack enable && corepack prepare [email protected] --activate && yarn set 
version --yarn-path  4.5.1
-# Fake git-version.js during yarn install to prevent git from causing cache
-# invalidation of dependencies
-RUN touch git-version.js && YARN_NODE_LINKER=node-modules yarn install
-
-COPY core/gui .
-# Position of .git doesn't matter since it's only there for the revision hash
-COPY .git ./.git
-RUN apk add --no-cache git && \
-       node git-version.js && \
-       apk del git && \
-       yarn run build
-
-FROM sbtscala/scala-sbt:eclipse-temurin-jammy-11.0.17_8_1.9.3_2.13.11
-
-# copy all projects under core to /core
-WORKDIR /core
-COPY core/ .
-
-RUN apt-get update
-RUN apt-get install -y netcat unzip python3-pip
-RUN pip3 install python-lsp-server python-lsp-server[websockets]
-RUN pip3 install -r requirements.txt
-RUN pip3 install -r operator-requirements.txt
-
-WORKDIR /core
-# Add .git for runtime calls to jgit from OPversion
-COPY .git ../.git
-COPY --from=nodegui /gui/dist ./gui/dist
-
-RUN ../bin/build-services.sh
-
-CMD ["../bin/deploy-docker.sh"]
-
-EXPOSE 8080
-
-EXPOSE 9090
-
-EXPOSE 8085
\ No newline at end of file

Reply via email to