freeipa/ipatests/azure/templates/prepare-build-fedora.yml
Stanislav Levin b82515562a Azure: Make it possible to configure distro-specific stuff
This allows to run IPA tests on Azure using any distro.

To achieve this, one has to do:
1) place a platform specific template on 'ipatests/azure/templates/'
and make a soft link from 'ipatests/azure/templates/variables.yml' to
the new template.
2) place a configuration templates on these paths
3) templates have to answer the questions such as:
  a) which Docker image to use to build IPA packages (rpm, deb, etc.)
  b) how to prepare Build environment
  c) how to build IPA packages
  d) how to prepare environment to run Tox tests
  e) how to prepare environment to run WebUI unittests
  f) which base Docker image to use to build the new image to run
     IPA tests within it

Fixes: https://pagure.io/freeipa/issue/8202
Signed-off-by: Stanislav Levin <slev@altlinux.org>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2020-02-25 18:02:12 +02:00

34 lines
1.2 KiB
YAML

steps:
- script: |
set -e
sudo rm -rf /var/cache/dnf/*
echo "dnf.conf: enable fastestmirror, use 8 download workers, lower timeout to fail faster, and add more retries"
sudo tee -a /etc/dnf/dnf.conf <<EOF > /dev/null
fastestmirror = True
max_parallel_downloads = 8
timeout = 8
retries = 20
EOF
echo "Fedora mirror metalink content:"
for metalink in $(sudo dnf repolist -v |grep Repo-metalink | awk '{print $2}' ) ; do echo '###############' ; echo '####' ; echo $metalink ; echo '####' ; curl $metalink ; done
echo "Fastestmirror results:"
sudo cat /var/cache/dnf/fastestmirror.cache
sudo dnf -y module enable nodejs:12
sudo dnf makecache || :
echo "Installing base development environment"
sudo dnf install -y \
gdb-minimal \
make \
autoconf \
rpm-build \
gettext-devel \
automake \
libtool \
docker \
python3-paramiko \
python3-pyyaml \
echo "Installing FreeIPA development dependencies"
sudo dnf builddep -y --skip-broken -D "with_wheels 1" -D "with_lint 1" --spec freeipa.spec.in --best --allowerasing --setopt=install_weak_deps=False
displayName: Prepare build environment