This is an automated email from the ASF dual-hosted git repository.
Yicong-Huang pushed a commit to branch release/v1.1.0-incubating
in repository https://gitbox.apache.org/repos/asf/texera.git
The following commit(s) were added to refs/heads/release/v1.1.0-incubating by
this push:
new eb95855092 chore: remove stale root Dockerfile (#4662)
eb95855092 is described below
commit eb95855092d906440ac9e9357e14c4797063fe10
Author: Xinyuan Lin <[email protected]>
AuthorDate: Tue May 5 04:41:43 2026 +0000
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?
(backported from commit d837578fa4e943ce30c855108a1da458a0bb4efe)
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