hotosm / tasking-manager

Tasking Manager - The tool to team up for mapping in OpenStreetMap
https://wiki.openstreetmap.org/wiki/Tasking_Manager
BSD 2-Clause "Simplified" License
496 stars 267 forks source link

Implement end-to-end basic tests #3653

Open frafra opened 3 years ago

frafra commented 3 years ago

I would propose to have a simple script bringing up the whole system using Docker and trying to access to few pages (like / and /explore), to check that there is no major regression in the Docker setup and images.

I could suggest to use https://github.com/seleniumbase/SeleniumBase (selenium+pytest) and add this step to the CI pipeline.

willemarcel commented 3 years ago

It is a good idea! We provide the dockerfiles, but we don't use them. That is the reason there are so many issues on it.

frafra commented 3 years ago

I would like to work more on that, but before spending time on that I would prefer to have the various PR merged and other issues discussed, because building a CI on top of slow/non-working Docker files is far from optimal :)

A bit of context: those recent issues/PR are related to the effort of the Italian OpenStreetMap community to fix/upgrade/improve our existing Tasking Manager service and it has been decided to use Docker. I hope that they could be merged in the next stable release or the one after that, so we do not have to maintain a separate branch with all the changes needed to make it work and avoid using the develop branch as base.

eternaltyro commented 1 year ago

A bit of update on this front:

  1. Work is underway to make Tasking Manager container-first. At least the backend component.
  2. I am working to streamline the CI pipelines. I have been steadily improving (and decluttering) our Circle-CI pipelines and will incorporate container image builds on it in the near future
  3. Existing PRs that help with this are being reviewed in earnest. But our resources are limited and this might take a while. But we intend to apply most of the upgrades in this quarter.
  4. No immediate plans for using Selenium but we can aim to land it in the next quarter - once the fundamentals are fixed.