Title: #3137: Azure pipelines setup
Sets up a pipeline to run FreeIPA build and tests in Azure Pipelines.
Azure Pipelines provides 10 parallel free runners for open source projects.
Use them to run following jobs:
- Build: build RPMs and Fedora 30 container with them
- Lint: run linting of the source code
- Tox: run py36,pypi,pylint tests using Tox
- Web UI unit tests: run Web UI unit tests with Grunt/QUnit/PhantomJS
- XMLRPC tests: install FreeIPA server and run XMLRPC tests against it
All jobs are running in Fedora 30 containers. Build, Lint, Tox, and Web UI unit tests run
inside f30/fedora-toolbox container. Build job generates a container with pre-installed
FreeIPA packages using official fedora:30 container. All containers are picked up from the
Artifacts from the build job are pushed to a pipeline storage and reused in the XMLRPC
tests. They also are accessible in the 'Summary' tab to download.
XUnit and QUnit outputs from the tests that produce it are reported in the 'Tests'
Logs from individual steps from each job are available for review in the 'Logs'
tab. They also can be downloaded.
To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/3137/head:pr3137
git checkout pr3137