Skip to content

Conversation

@martyngigg
Copy link
Contributor

@martyngigg martyngigg commented Dec 15, 2025

Summary

Creates a Dockerfile for Superset with our extra packages in it. It is currently based on the fork we maintain at github.com/ISISNeutronMuon/superset-fork.

Adds a GitHub action to build and optionally publish the image.

Summary by CodeRabbit

  • Chores
    • Added automated Docker image publishing workflow for Superset builds triggered on repository updates and pull requests.
    • Introduced a new Superset container image with additional runtime dependencies for data processing, database connectivity and authentication.
    • Added documentation describing the container image directory and build/publish process.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 15, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

The PR introduces Docker container infrastructure for Superset, including a new GitHub Actions workflow to automate Docker image publishing, a Dockerfile configured with Python dependencies and Playwright support, and documentation for the container images directory.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow
​.github/workflows/docker-superset.yml
Adds automated Docker image publishing workflow triggered on pushes to main and relevant pull requests; checks out repo, logs into container registry, builds and (optionally) pushes images with SHA and latest tags, and produces an attestation/provenance artifact.
Superset Container Image
infra/container-images/analytics-data-platform-superset/Dockerfile
Adds Dockerfile based on a configurable ARG BASE_IMAGE; sets labels, installs Python packages (exact versions) including openpyxl, psycopg2-binary, prophet, playwright, python-ldap, trino[sqlalchemy], installs Playwright dependencies and Chromium, and switches to runtime user superset.
Container Images Documentation
infra/container-images/readme.md
Adds README describing the directory purpose and notes about building/publishing images via GitHub Actions.

Poem

🐰 In a cosy Docker burrow I sit and hum,
I stitch Python bits and Chromium plum,
Workflows ferry images on wings so fleet,
Tags of SHA and latest make the trek complete,
Superset hops ready — analytics yum!

Pre-merge checks

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarises the main change: adding a Dockerfile for Superset with extra packages included.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 025e0f4 and a99ef64.

📒 Files selected for processing (3)
  • .github/workflows/docker-superset.yml (1 hunks)
  • infra/container-images/analytics-data-platform-superset/Dockerfile (1 hunks)
  • infra/container-images/readme.md (1 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
infra/container-images/analytics-data-platform-superset/Dockerfile (1)

18-19: Be aware of significant image size impact from Playwright and Chromium.

Installing Playwright with Chromium dependencies adds substantial size to the Docker image. Docker images containing Playwright can be in gigabytes. Ensure this aligns with your deployment and storage requirements. Consider whether both install-deps and install chromium are necessary together, or if selective browser installation would suffice.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between daa2d10 and 025e0f4.

📒 Files selected for processing (3)
  • .github/workflows/docker-superset.yml (1 hunks)
  • infra/container-images/analytics-data-platform-superset/Dockerfile (1 hunks)
  • infra/container-images/readme.md (1 hunks)
🔇 Additional comments (2)
infra/container-images/readme.md (1)

1-3: Good documentation for the container images directory.

Clear and concise overview of the directory's purpose.

infra/container-images/analytics-data-platform-superset/Dockerfile (1)

10-16: Verify that the base image and its /app/docker/pip-install.sh script are accessible and compatible.

The Dockerfile references a base image ghcr.io/isisneutronmuon/superset-fork from the container registry, but no corresponding public GitHub repository exists to verify its contents. Ensure the base image is available to the build process and that /app/docker/pip-install.sh exists within it and supports the --requires-build-essential argument. Consider documenting the base image's source or building pip-install.sh locally within this Dockerfile if the base image is not reliably available.

Don't publish yet until we have run the action once on main.
@martyngigg
Copy link
Contributor Author

@coderabbitai review

@coderabbitai
Copy link

coderabbitai bot commented Dec 15, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@martyngigg martyngigg merged commit de79dee into main Dec 15, 2025
2 checks passed
@martyngigg martyngigg deleted the container-images branch December 15, 2025 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants