X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ci-management.git;a=blobdiff_plain;f=jjb%2Fakraino-templates%2Fakraino-ta-common-macros.yaml;h=14d640357639cd6df7cf94c76d41ff311b5b08de;hp=33f7f00186fa954f0f117ecd642d8106210e877f;hb=8ca988962cb61ddbb058cb73d144031a57ff30da;hpb=02cd102129bedb9c40657955f9efce563e9add5f diff --git a/jjb/akraino-templates/akraino-ta-common-macros.yaml b/jjb/akraino-templates/akraino-ta-common-macros.yaml index 33f7f00..14d6403 100644 --- a/jjb/akraino-templates/akraino-ta-common-macros.yaml +++ b/jjb/akraino-templates/akraino-ta-common-macros.yaml @@ -76,12 +76,20 @@ ########### # BUILDER # ########### +- builder: + name: lf-display-node-uuid + builders: + - shell: |2- + echo "---> Node UUID:" + curl -s http://169.254.169.254/openstack/latest/meta_data.json | python -c 'import sys, json; data = json.load(sys.stdin); print(data["uuid"])' + - builder: name: ta-builder-tox builders: - lf-pip-install: pip-packages: tox - shell: |2- + #!/bin/bash -ex source /tmp/v/tox/bin/activate for f in $(find $GERRIT_PROJECT -name tox.ini); do pushd $(dirname $f) @@ -93,18 +101,46 @@ name: ta-builder-rpm builders: - shell: |2- - sudo yum install -y createrepo - ta/build-tools/build_rpms.sh \ - -m ta/manifest \ - -r ta/rpmbuilder \ - -w work \ - {project-to-build} - find work/ + #!/bin/bash -ex + # Skip RPM build in case no *.spec file is found within the {project-to-build} + if [ -n "$(find {project-to-build} -name '*.spec')" ] + then + if apt --version 2>1 >/dev/null; then + sudo groupadd mock || true + sudo usermod -aG mock $USER + sudo apt update + # Explicitly install mock dependencies + sudo apt install -y createrepo alien systemd-container python-pip \ + python-decoratortools yum-utils usermode pigz + # We need a specific version of mock (1.4.14) and devtools + # not available in Ubuntu/Debian repos, so fetch them from RHEL mirrors + wget http://mirror.centos.org/centos/7.6.1810/os/x86_64/Packages/rpmdevtools-8.3-5.el7.noarch.rpm \ + https://kojipkgs.fedoraproject.org/packages/mock/1.4.14/2.el7/noarch/mock-1.4.14-2.el7.noarch.rpm + sudo alien -d *.rpm + sudo dpkg -i *.deb + rm -rf *.rpm *.deb + # RHEL tools hardcode the full path for certain distro tools + sudo ln -sf /bin/tar /usr/bin/gtar + sudo ln -sf /bin/machinectl /bin/df /usr/bin/ + # Some mock dependencies are only available via pip + sudo pip install distro pyroute2 + else + sudo yum install -y createrepo + fi + ta/build-tools/build_rpms.sh \ + -m ta/manifest \ + -r ta/rpmbuilder \ + -w work \ + {project-to-build} + find work/ + fi - builder: name: ta-builder-scm builders: - shell: |2- + #!/bin/bash -ex + rm -rf {project} git clone {git-url}/{project} {project} pushd {project} if echo {ref} | grep -q "refs/"; then @@ -128,6 +164,10 @@ properties-content: 'ALT_NEXUS_URL=https://nexus3.akraino.org' - lf-infra-create-netrc: server-id: rpm.snapshots + - inject: + properties-content: | + ALT_NEXUS_URL= + SERVER_ID= - shell: !include-raw: # Ensure python-tools are installed in case job template does not # call the lf-infra-pre-build macro. @@ -217,8 +257,20 @@ name: ta-builder-install-docker builders: - shell: |2- - sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo - sudo yum -y install docker-ce docker-ce-cli containerd.io + #!/bin/bash -ex + if apt --version 2>1 >/dev/null; then + sudo apt update + sudo apt install -y apt-transport-https ca-certificates curl software-properties-common + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - + sudo add-apt-repository -y "deb http://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" + sudo apt update + sudo apt install -y docker-ce + else + sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo + sudo yum -y install docker-ce docker-ce-cli containerd.io + fi + sudo mkdir -p /etc/docker/ + echo '{"experimental":true}' | sudo tee /etc/docker/daemon.json sudo systemctl start docker # Ugly hack to make docker usable for non-root # (adding to the group would require re-login) @@ -228,7 +280,13 @@ name: ta-builder-install-build-tools builders: - shell: |2- - sudo yum -y install createrepo libguestfs-tools-c jq + #!/bin/bash -ex + if apt --version 2>1 >/dev/null; then + sudo apt update + sudo apt install -y createrepo libguestfs-tools jq + else + sudo yum -y install createrepo libguestfs-tools-c jq + fi sudo systemctl start libvirtd systemctl status libvirtd @@ -285,9 +343,13 @@ - publisher: name: ta-publisher-job-verify publishers: - - lf-infra-publish + - lf-infra-publish - publisher: name: ta-publisher-job-merge publishers: - - lf-infra-publish + - lf-infra-publish + - trigger-parameterized-builds: + - project: 'ta-ci-build-{arch}' + condition: UNSTABLE_OR_BETTER + trigger-with-no-params: true