trigger: - master variables: CI_RUNNER_LOGS_DIR: logs localsdir: $(Build.Repository.LocalPath) builddir: /__w/1/s jobs: - job: Build pool: vmImage: 'Ubuntu-16.04' container: image: registry.fedoraproject.org/f30/fedora-toolbox options: --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --privileged steps: - template: templates/prepare-build.yml - script: | set -e echo "Running autoconf generator" ./autogen.sh displayName: Configure the project - script: | set -e git update-ref refs/heads/$(System.PullRequest.TargetBranch) origin/$(System.PullRequest.TargetBranch) make V=0 "GIT_BRANCH=$(System.PullRequest.TargetBranch)" fastlint displayName: Quick code style check condition: eq(variables['Build.Reason'], 'PullRequest') - script: | set -e echo "Running make target 'rpms'" make V=0 rpms LOG_COMPILE='gdb -return-child-result -ex run -ex "thread apply all bt" -ex "quit" --args' displayName: Build packages - script: | set -e mkdir container cp -pr dist container/ cp ipatests/azure/Dockerfile.build-container container/Dockerfile cd container docker build -t freeipa-fedora-builder . docker save freeipa-fedora-builder | gzip > '$(builddir)/freeipa-fedora-builder-container.tar.gz' displayName: Create container image for test - template: templates/publish-build.yml - job: Lint pool: vmImage: 'Ubuntu-16.04' container: image: registry.fedoraproject.org/f30/fedora-toolbox options: --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --privileged steps: - template: templates/prepare-build.yml - script: | set -e echo "Running autoconf generator" ./autogen.sh displayName: Configure the project - script: | set -e echo "Running make target 'lint'" make V=0 lint displayName: Lint sources - job: Tox pool: vmImage: 'Ubuntu-16.04' container: image: registry.fedoraproject.org/f30/fedora-toolbox options: --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --privileged steps: - template: templates/prepare-build.yml - task: UsePythonVersion@0 inputs: versionSpec: 3.7 architecture: x64 - script: | set -e sudo dnf -y install nss-tools python3 -m pip install --user --upgrade pip setuptools pycodestyle displayName: 'Install prerequisites' - script: | set -e echo "Running tox" export LANG=en_US.utf8 export LC_CTYPE=en_US.utf8 locale tox -e py37,pypi,pylint3 displayName: Tox - task: PublishTestResults@2 inputs: testResultsFiles: '.tox/**/junit-*.xml' testRunTitle: 'Tox results' condition: succeededOrFailed() - job: WebUI_Unit_Tests pool: vmImage: 'Ubuntu-16.04' container: image: registry.fedoraproject.org/f30/fedora-toolbox options: --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --privileged steps: - template: templates/prepare-build.yml - task: UsePythonVersion@0 inputs: versionSpec: 3.7 architecture: x64 - script: | set -e sudo dnf -y install npm fontconfig displayName: 'Install prerequisites' - script: | set -e echo "Running autoconf generator" ./autogen.sh displayName: Configure the project - script: | set -e echo "Running WebUI unit tests" cd $(builddir)/install/ui/js/libs && make cd $(builddir)/install/ui && npm install cd $(builddir)/install/ui && node_modules/grunt/bin/grunt --verbose test displayName: WebUI Unit Tests - task: PublishTestResults@2 inputs: testResultsFiles: 'install/ui/_build/test-reports/TEST-*.xml' testRunTitle: 'Web UI unit test results' condition: succeededOrFailed() - template: templates/test-jobs.yml parameters: jobName: BASE_XMLRPC jobTitle: BASE and XMLRPC tests testsToRun: - test_cmdline - test_install - test_ipaclient - test_ipalib - test_ipaplatform - test_ipapython - test_ipatests_plugins - test_xmlrpc testsToIgnore: - test_integration - test_webui - test_ipapython/test_keyring.py testsToDedicate: - test_xmlrpc/test_dns_plugin.py taskToRun: run-tests tasksParallel: 3