Andrea Bolognani (3):
jobs: Enable parallel make everywhere
guests: Set MAKEFLAGS for out-of-the-box parallel make
jobs: Drop explicit parallel make usage
guests/templates/bashrc | 2 ++
jobs/autotools.yaml | 10 +++++-----
jobs/defaults.yaml | 1 -
jobs/perl-makemaker.yaml | 8 ++++----
projects/libvirt.yaml | 4 ++--
projects/osinfo-db.yaml | 4 ++--
6 files changed, 15 insertions(+), 14 deletions(-)
--
2.17.0
Show replies by date
A few jobs were running serial make for no apparent reason.
Since all Makefiles have been tested and found to work just
fine even with parallel execution, make sure that's what's
used everywhere.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
jobs/perl-makemaker.yaml | 2 +-
projects/osinfo-db.yaml | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/jobs/perl-makemaker.yaml b/jobs/perl-makemaker.yaml
index 84b368e..f66fe21 100644
--- a/jobs/perl-makemaker.yaml
+++ b/jobs/perl-makemaker.yaml
@@ -43,7 +43,7 @@
perl Makefile.PL PREFIX="$VIRT_PREFIX"
{global_env}
{local_env}
- $MAKE
+ $MAKE -j{smp}
$MAKE -j{smp} install
$MAKE -j{smp} manifest
publishers:
diff --git a/projects/osinfo-db.yaml b/projects/osinfo-db.yaml
index 0d0a972..b30a541 100644
--- a/projects/osinfo-db.yaml
+++ b/projects/osinfo-db.yaml
@@ -8,7 +8,7 @@
parent_jobs: 'osinfo-db-tools-master-build'
command: |
$MAKE -j{smp} all
- $MAKE install OSINFO_DB_TARGET="--system"
+ $MAKE -j{smp} install OSINFO_DB_TARGET="--system"
- generic-check-job:
parent_jobs: 'osinfo-db-master-build'
command: |
@@ -18,6 +18,6 @@
machines: '{rpm_machines}'
command: |
rm -f *.tar.xz
- $MAKE osinfo-db.spec
+ $MAKE -j{smp} osinfo-db.spec
perl -i -p -e 's/BuildRequires: osinfo-db-tools.*//' osinfo-db.spec
- $MAKE rpm
+ $MAKE -j{smp} rpm
--
2.17.0
We know all jobs are compatible with parallel make, and
we also know exactly how many vCPUs guests have, since we
created them in the first place: that allows us to default
to parallel make instead of making it opt-in.
The main advantage of doing this is that it will make life
more convenient for developers running one-off jobs or
debugging interactively.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
guests/templates/bashrc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/guests/templates/bashrc b/guests/templates/bashrc
index 866087e..2b3542c 100644
--- a/guests/templates/bashrc
+++ b/guests/templates/bashrc
@@ -14,6 +14,8 @@ export PYTHONPATH="{{ PYTHONPATH }}"
export MAKE="{{ make }}"
export PYTHON="{{ python }}"
+export MAKEFLAGS="-j{{ install_vcpus|int + 1 }}"
+
# Enable bash completion. Only needed on FreeBSD, the system-wide
# shell profile will take care of it for us everywhere else
bash_completion=/usr/local/share/bash-completion/bash_completion.sh
--
2.17.0
It's enabled by default through $MAKEFLAGS now, so enabling
it explicitly in jobs is entirely unnecessary.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
jobs/autotools.yaml | 10 +++++-----
jobs/defaults.yaml | 1 -
jobs/perl-makemaker.yaml | 10 +++++-----
projects/libvirt.yaml | 4 ++--
projects/osinfo-db.yaml | 10 +++++-----
5 files changed, 17 insertions(+), 18 deletions(-)
diff --git a/jobs/autotools.yaml b/jobs/autotools.yaml
index 9868573..a07d806 100644
--- a/jobs/autotools.yaml
+++ b/jobs/autotools.yaml
@@ -45,8 +45,8 @@
mkdir build
cd build
../autogen.sh --prefix=$VIRT_PREFIX {autogen_args}
- $MAKE -j{smp}
- $MAKE -j{smp} install
+ $MAKE
+ $MAKE install
publishers:
- email:
recipients: '{obj:spam}'
@@ -85,7 +85,7 @@
{global_env}
{local_env}
cd build
- $MAKE -j{smp} syntax-check
+ $MAKE syntax-check
publishers:
- email:
recipients: '{obj:spam}'
@@ -124,7 +124,7 @@
{global_env}
{local_env}
cd build
- if ! $MAKE -j{smp} check
+ if ! $MAKE check
then
cat tests/test-suite.log || true
exit 1
@@ -172,7 +172,7 @@
sed -i -e 's/BuildRequires: libvirt.*devel.*//' {name}.spec
sed -i -e 's/BuildRequires: pkgconfig(libvirt.*).*//' {name}.spec
rm -f *.tar.{archive_format}
- $MAKE -j{smp} dist
+ $MAKE dist
rpmbuild --define "_topdir `pwd`/rpmbuild" -ta
{name}-*.tar.{archive_format}
publishers:
- email:
diff --git a/jobs/defaults.yaml b/jobs/defaults.yaml
index 45eedb7..de56226 100644
--- a/jobs/defaults.yaml
+++ b/jobs/defaults.yaml
@@ -32,5 +32,4 @@
export PKG_CONFIG_PATH="$VIRT_PREFIX/lib/pkgconfig"
export
PKG_CONFIG_LIBDIR="/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig"
mingw64_autogen_args: --host=x86_64-w64-mingw32
- smp: 3
spam: ymankad(a)redhat.com libvirt-ci(a)redhat.com
diff --git a/jobs/perl-makemaker.yaml b/jobs/perl-makemaker.yaml
index f66fe21..14184cf 100644
--- a/jobs/perl-makemaker.yaml
+++ b/jobs/perl-makemaker.yaml
@@ -43,9 +43,9 @@
perl Makefile.PL PREFIX="$VIRT_PREFIX"
{global_env}
{local_env}
- $MAKE -j{smp}
- $MAKE -j{smp} install
- $MAKE -j{smp} manifest
+ $MAKE
+ $MAKE install
+ $MAKE manifest
publishers:
- email:
recipients: '{obj:spam}'
@@ -85,7 +85,7 @@
- shell: |
{global_env}
{local_env}
- $MAKE -j{smp} test {test_args}
+ $MAKE test {test_args}
publishers:
- email:
recipients: '{obj:spam}'
@@ -127,7 +127,7 @@
sed -i -e 's/BuildRequires: *perl-Sys-Virt.*//' *.spec
sed -i -e 's/BuildRequires: *libvirt.*devel.*//' *.spec
rm -f *.tar.{archive_format}
- $MAKE -j{smp} dist
+ $MAKE dist
rpmbuild --define "_topdir `pwd`/rpmbuild" -ta
*.tar.{archive_format}
publishers:
- email:
diff --git a/projects/libvirt.yaml b/projects/libvirt.yaml
index 6f5464b..4bba21e 100644
--- a/projects/libvirt.yaml
+++ b/projects/libvirt.yaml
@@ -43,7 +43,7 @@
mkdir build
cd build
../autogen.sh --without-libvirtd --without-macvtap
- $MAKE -j{smp} -C docs/
- $MAKE -j{smp} dist
+ $MAKE -C docs/
+ $MAKE dist
machines:
- libvirt-centos-6
diff --git a/projects/osinfo-db.yaml b/projects/osinfo-db.yaml
index b30a541..9f52e9e 100644
--- a/projects/osinfo-db.yaml
+++ b/projects/osinfo-db.yaml
@@ -7,17 +7,17 @@
- generic-build-job:
parent_jobs: 'osinfo-db-tools-master-build'
command: |
- $MAKE -j{smp} all
- $MAKE -j{smp} install OSINFO_DB_TARGET="--system"
+ $MAKE all
+ $MAKE install OSINFO_DB_TARGET="--system"
- generic-check-job:
parent_jobs: 'osinfo-db-master-build'
command: |
- $MAKE -j{smp} check
+ $MAKE check
- generic-rpm-job:
parent_jobs: 'osinfo-db-master-check'
machines: '{rpm_machines}'
command: |
rm -f *.tar.xz
- $MAKE -j{smp} osinfo-db.spec
+ $MAKE osinfo-db.spec
perl -i -p -e 's/BuildRequires: osinfo-db-tools.*//' osinfo-db.spec
- $MAKE -j{smp} rpm
+ $MAKE rpm
--
2.17.0