Skip to content

Conversation

@titusfortner
Copy link
Member

@titusfortner titusfortner commented Dec 31, 2025

User description

The standalone chrome and firefox cache from oci are huge and aren't used by anything. If we aren't going to transfer the docker implementations to selenium repo, we should delete this.

💥 What does this PR do?

  • Remove /deploy directory
  • Remove rules_oci

🔧 Implementation Notes

  • Other option is just to add it to .bazelignore for now, which would also be just fine if we don't want to get rid of it.

💡 Additional Considerations

Proof these are safe to remove:

titus@Mac selenium % bazel query 'loadfiles(//deploys/docker/...)' --output=label | grep rules_oci
Loading: 0 packages loaded
@rules_oci//oci:defs.bzl
@rules_oci//oci/private:image.bzl
@rules_oci//oci/private:image_index.bzl
@rules_oci//oci/private:push.bzl
@rules_oci//oci/private:resource_sets.bzl
@rules_oci//oci/private:tarball.bzl
@rules_oci//oci/private:util.bzl

titus@Mac selenium % bazel query 'loadfiles(//... except //deploys/docker/...)' --output=label | grep rules_oci
Loading: 0 packages loaded

titus@Mac selenium % bazel query 'loadfiles(//deploys/docker/...)' --output=label \
  | grep '^@' | awk -F'//' '{print $1}' | sort -u > /tmp/docker_load_repos.txt
bazel query 'loadfiles(//... except //deploys/docker/...)' --output=label \
  | grep '^@' | awk -F'//' '{print $1}' | sort -u > /tmp/rest_load_repos.txt

comm -23 /tmp/docker_load_repos.txt /tmp/rest_load_repos.txt
Loading: 0 packages loaded
Loading: 0 packages loaded
@rules_oci

titus@Mac selenium % DIR='//deploys/docker/...'

bazel query "deps(${DIR})" --noimplicit_deps --notool_deps --output=label \
  | grep '^@' | awk -F'//' '{print $1}' | sort -u > /tmp/docker_deps_repos.txt

bazel query "deps(//... except ${DIR})" --noimplicit_deps --notool_deps --output=label \
  | grep '^@' | awk -F'//' '{print $1}' | sort -u > /tmp/rest_deps_repos.txt

comm -23 /tmp/docker_deps_repos.txt /tmp/rest_deps_repos.txt
Loading: 0 packages loaded
Loading: 0 packages loaded
@@rules_oci++oci+chrome_standalone_single
@@rules_oci++oci+firefox_standalone_single
@@rules_oci++oci+java_image_base_single
@chrome_standalone
@firefox_standalone
@java_image_base

🔄 Types of changes

  • Cleanup (formatting, renaming)

PR Type

Enhancement


Description

  • Remove unused Docker deployment code and rules_oci dependency

  • Delete /deploys/docker directory containing Docker image definitions

  • Remove rules_oci from MODULE.bazel and OCI image pull configurations

  • Verified removal is safe with bazel query analysis


Diagram Walkthrough

flowchart LR
  A["Docker Deploy Code<br/>rules_oci Dependency"] -->|Remove| B["Unused Docker Images<br/>Bazel Rules"]
  C["MODULE.bazel<br/>OCI Extensions"] -->|Delete| D["Cleaner Build Config<br/>Reduced Dependencies"]
Loading

File Walkthrough

Relevant files
Cleanup
docker.bzl
Remove docker image build wrapper                                               

deploys/docker/docker.bzl

  • Deleted entire file containing docker_image wrapper function
  • Removed oci_image and oci_tarball rule definitions
  • Eliminated custom docker image build abstraction layer
+0/-18   
selenium.sh
Remove container startup script                                                   

deploys/docker/selenium.sh

  • Deleted entire shell script for container startup
  • Removed X11 server, VNC, and window manager initialization logic
  • Eliminated Selenium node startup script
+0/-40   
BUILD.bazel
Remove all Docker image build targets                                       

deploys/docker/BUILD.bazel

  • Deleted entire file with 168 lines of Docker image definitions
  • Removed grid-base, distributor, event-bus, router, session-map,
    session-queue images
  • Removed chrome-node and firefox-node image configurations
  • Eliminated passwd file and tar package definitions
+0/-168 
Documentation
README.md
Remove Docker deployment documentation                                     

deploys/docker/README.md

  • Deleted entire documentation file for Docker setup
  • Removed instructions for local Docker registry configuration
  • Eliminated deployment guidance
+0/-13   
Dependencies
MODULE.bazel
Remove rules_oci dependency and OCI configuration               

MODULE.bazel

  • Removed rules_oci dependency declaration (version 1.8.0)
  • Deleted oci extension configuration and image pull definitions
  • Removed chrome_standalone, firefox_standalone, and java_image_base OCI
    image pulls
+0/-19   

@titusfortner titusfortner requested a review from diemol December 31, 2025 15:16
@selenium-ci selenium-ci added the B-build Includes scripting, bazel and CI integrations label Dec 31, 2025
@qodo-code-review
Copy link
Contributor

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-code-review
Copy link
Contributor

PR Code Suggestions ✨

No code suggestions found for the PR.

@titusfortner
Copy link
Member Author

I'm going to merge so we can clean these up

Screenshot 2025-12-31 at 10 58 46 AM

@titusfortner titusfortner merged commit f3be951 into trunk Dec 31, 2025
21 checks passed
@titusfortner titusfortner deleted the deploy branch December 31, 2025 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

B-build Includes scripting, bazel and CI integrations Review effort 2/5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants