Repository navigation
Run Google Cloud integration tests against local services inside your GitHub Actions job.
LocalCloud provides a Docker-based Google Cloud-compatible environment. This action starts the image directly and configures supported Google Cloud SDKs so your existing tests can connect to it. No LocalCloud CLI installation or Google Cloud credentials are required for the supported workflows.
What the action handles
- Starts an isolated LocalCloud container with your selected services.
- Waits for those services to become ready.
- Creates or selects your local test project.
- Exports SDK environment variables to subsequent steps.
- Discovers published ports and configures the correct endpoints.
- Automatically removes its container and temporary data volume after the job.
- Can connect to an existing LocalCloud service container, leaving its lifecycle with its owner.
Tested in this release
End-to-end tests passed on Ubuntu 24.04 AMD64 using Python SDKs for:
- Cloud Storage: bucket creation, object upload and download.
- Pub/Sub: topic and subscription creation, publishing, pulling and acknowledgement.
- BigQuery: data writes and readback.
Automatic cleanup and failed-setup cleanup were also verified.
Usage
Add this after your checkout, language setup and dependency installation steps:
- uses: cloud-orbitor/setup-localcloud@v0.1.0
with:
services: gcs,pubsub,bigquery
project-id: localcloud-ci
- run: python -m pytestThe runtime image is pinned by digest for reproducibility. Pin the action to a full commit SHA when you require an immutable action reference.
Requirements and boundaries
Automatic startup requires a Linux Docker runner and allocates at least 2 GiB to LocalCloud.
LocalCloud supports development and integration testing and quick iteration. Validate production-sensitive behavior against real Google Cloud before deployment.