Skip to content

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 03 Nov 07:37
· 20 commits to master since this release
b14307c

Compare: v0.6.0...v0.6.1

The public demo and its deployment, and the CI that keeps it current.

Added

  • A public demo host on Google Cloud, described as Terraform in deploy/gcp/terraform/: the APIs, a static address, the firewall (80 and 443 public, SSH through IAP), an Earth Engine service account that the VM runs as, a Debian 12 VM that provisions itself on first boot (deploy/gcp/startup.sh: Docker Engine, Compose v2, Caddy, the repository, a .env with every non-secret value), and an optional Cloud DNS zone. deploy/gcp/finish.sh starts the stack and runs the runbook's checks; deploy/gcp/update.sh moves the host to a release.
  • Automatic deploys (.github/workflows/deploy.yml): after the images of a release tag or of master are published, the demo host is updated over an IAP tunnel. GitHub Actions authenticates through Workload Identity Federation, so no key is stored; the project id and the host come from repository variables. Terraform plans on pull requests that touch the configuration and applies on master once remote state is set up (TF_STATE_BUCKET). The host's sign-in, allowlist and LLM-provider settings come from a GitHub environment, demo: each deploy writes its variables and secrets into the host's .env (deploy/gcp/configure.sh).
  • docker-compose.ghcr.yml runs the published images instead of building them (DT4LC_IMAGE_TAG).
  • Release rules in CI: the Release gate check admits pull requests into master from dev (a release), hotfix/* (a patch bump) or docs/* (documentation and workflows only); Sync dev with master opens a pull request from master into dev after each push to master; a documentation-only push to master builds no images.
  • GEE_USE_DEFAULT_CREDENTIALS=true lets Earth Engine use the host's default credentials, the attached service account on Google Cloud or gcloud auth application-default login, instead of a key file. Organisation policy forbids service-account keys on new Google Cloud projects.
  • scripts/ghcr_prune.py deletes stale container package versions by tag pattern.
  • README badges (CI, release, DOI, JOSS status, licence) and the Zenodo DOIs in CITATION.cff.

Changed

  • The backend image installs torch from the CPU wheel index (TORCH_INDEX build argument), so it no longer carries the CUDA libraries that no container used: 1.1 GB instead of 12.3 GB. A GPU image is --build-arg TORCH_INDEX=https://download.pytorch.org/whl/cu124.
  • CITATION.cff cites the Zenodo concept DOI, which resolves to the latest release.
  • Hotfixes have a documented path: hotfix/<topic> from master, a patch bump, a pull request into master, then master back into dev (CONTRIBUTING).

Container Images

Both images are published to GitHub Container Registry. Pull with:

docker pull ghcr.io/ipt-mmda/dt4lc/backend:0.6.1
docker pull ghcr.io/ipt-mmda/dt4lc/frontend:0.6.1

Run with Docker Compose

The compose file builds the images from source:

git clone --branch v0.6.1 https://github.com/IPT-MMDA/dt4lc.git
cd dt4lc
cp .env.example .env  # API keys are optional; without them the bundled Ollama model is used
docker compose --profile ollama up -d  # UI at http://localhost, API docs at http://localhost/docs