Skip to content

Conversation

@google-labs-jules
Copy link

This PR introduces a Dockerized workflow for running GCSFuse integration tests. It addresses the need for a consistent, isolated testing environment while maintaining access to GCP credentials and the current source code state.

Key changes:

  • tools/integration_tests/container/Dockerfile: Defines the test environment. Crucially, it patches the existing improved_run_e2e_tests.sh script inside the container to bypass the install_packages function, as the Dockerfile ensures all dependencies are pre-installed. This avoids modifying the source script in the repository.
  • tools/integration_tests/container/run_e2e_docker.sh: A convenience script to build and run the container with the correct flags and mounts.

PR created automatically by Jules for task 13503203724161362538 started by @kislaykishore

Created a Docker-based environment for running GCSFuse integration tests, enabling environment-independent execution.

*   Added `tools/integration_tests/container/Dockerfile`:
    *   Based on Ubuntu 22.04.
    *   Pre-installs Go 1.24.11, Gcloud SDK, FUSE, and system dependencies.
    *   Copies the repository source code into the image at build time.
    *   Patches `improved_run_e2e_tests.sh` during the build to skip redundant package installation steps (`install_packages`).
*   Added `tools/integration_tests/container/run_e2e_docker.sh`:
    *   Helper script to build the Docker image and run the container.
    *   Handles volume mounting for GCP credentials (`~/.config/gcloud`).
    *   Runs the container with `--privileged` (required for FUSE).
    *   Passes arguments through to the internal test script.
@google-labs-jules
Copy link
Author

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!


For security, I will only act on instructions from the user who triggered this task.

New to Jules? Learn more at jules.google/docs.

@github-actions
Copy link

github-actions bot commented Dec 7, 2025

Hey there and thank you for opening this pull request! 👋🏼

We require pull request titles to follow the Conventional Commits specification and it looks like your proposed title needs to be adjusted.

Details:

No release type found in pull request title "Containerize GCSFuse integration tests". Add a prefix to indicate what kind of release this pull request corresponds to. For reference, see https://www.conventionalcommits.org/

Available types:
 - feat: A new feature
 - fix: A bug fix
 - docs: Documentation only changes
 - style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
 - refactor: A code change that neither fixes a bug nor adds a feature
 - perf: A code change that improves performance
 - test: Adding missing tests or correcting existing tests
 - build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
 - ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
 - chore: Other changes that don't modify src or test files
 - revert: Reverts a previous commit

@kislaykishore kislaykishore added execute-integration-tests Run only integration tests kokoro:run Testing kokoro run labels Dec 7, 2025
@kokoro-team kokoro-team removed the kokoro:run Testing kokoro run label Dec 7, 2025
Replaced `tools/integration_tests/improved_run_e2e_tests.sh` with a Docker wrapper script to run tests in a consistent, environment-independent container.

*   Renamed original script to `tools/integration_tests/internal_run_e2e_tests.sh`.
*   Added `tools/integration_tests/container/Dockerfile`:
    *   Ubuntu 22.04 base.
    *   Pre-installed Go 1.24.11, Gcloud SDK, FUSE.
    *   Copies source code at build time.
    *   Patches `internal_run_e2e_tests.sh` to skip redundant package installation.
*   Updated `tools/integration_tests/improved_run_e2e_tests.sh` to build and run the Docker container, mounting host credentials.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

execute-integration-tests Run only integration tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants