The docker-compose file starts an OBS instance (on 15.0 atm) and runs
the test suite in a test container (tumbleweed), so all tests run in
an isolated environment accessing OBS at api:3000
The container will be built on OBS and be used on travis to avoid waiting
for the container to build (or to error because of download.opensuse.org madness)
The default user is Admin:opensuse and the docker compose opens
only one port at 3737 running the api/webui
This can be used for CI on sources or to build against it with osc
(if you add interconnect project), but it won't build packages
There is no need for Tumbleweed base as only the latest stable osc tools
and openSUSE:Tools packages should be needed. Unlike run-time for
repo-checker which is limited by latest solver stack the distribution
test suite has no need.
Currently, there is a zypper related segfault, #1887, that breaks the
test suite and demonstrates an advantage to switching to Leap.
See #1732 for details, but summarized the CI uses a local path which
differs from the normal remote URL which causes tar_scm service to
complain and no re-create the obscpio. See
openSUSE/obs-service-tar_scm@44b3bee for the relevant change.
Even after trying to workaround requests sourced from target package
(ex. Factory -> Leap) by using -U the query still behaves incorrectly
since both -U and -M do not return request created by user as documentation
suggests, but rather those who are last user in state. This works as
expected directly after a request is created, but not once another user
modifies it.
At this point just avoid the mess entirely and issue query for exactly
what is desired which avoids user altogether.
rather than find / xargs we run flake8 over everything which uses all
available cpus by default. Also set max line length to 100 because jimmy
likes it.
Instead of performing a slim rpm build and check directly inside the
container a proper build is performed using `osc build`. The target
package is checked out the _service file pointed at the local copy
and then `osc service disabledrun` before building.
This at least allows the most glaring errors to be found before they
get merged. Almost all lintstyle and make flake8 errors are ignored
right now, to be cleaned up once the testing is in place.