Commit Graph

10 Commits

Author SHA1 Message Date
Neels Hofmeyr a8647f304c fix build: properly remove artifacts
The jenkins scripts are run by sh, which does not support the {a,b} syntax
shell glob. As a result, old build artifacts pile up in the workspaces.
Use two separate lines to remove .tgz and .md5.

Change-Id: Ib7e5995aa6914e34f8b7bbb8a8ed46ff9230a913
2017-09-13 19:17:54 +02:00
Neels Hofmeyr ebc7426f85 jenkins: properly clean previous artifacts
Drop the second 'rm -f' from the rm shell command (typo).

Remove all artifacts matching *.build-*.{tgz,md5} because if a job changes the
name of its artifact, the previous artifacts would remain.

(I hit this with the new scripts being originally wrong and all producing
'osmo-msc.*' artifacts, and those stuck around in the workspace even after the
name was fixed.)

Change-Id: I00d246226f4c723696bb737ed707cfd0e4c33714
2017-09-07 18:34:07 +02:00
Neels Hofmeyr 713a1201d2 jenkins-common: ensure requested binaries indeed have been built
Recent change Ib1a00b2149453fedf9ece0460dd4d6e83f774d45 drops binaries from a
build artifact by leaving only explicitly requested ones. This adds a check
that the requested ones indeed exist.

Change-Id: Iceddeee6aebb1cdb54d7304495c3e332390261db
2017-09-07 00:59:46 +02:00
Neels Hofmeyr 1921c0f6c9 jenkins: per build, drop programs built "unintentionally"
Each of the jenkins-build-* scripts intends to build a specific set of
programs. While compiling dependencies, other programs may end up in
$prefix/bin. Drop those other binaries to reduce potential confusion.

Add arguments to the create_bin_tgz function: callers need to list exactly the
$prefix/bin/* binaries that should be tar'd. All others are first removed from
the prefix.

Adjust existing scripts to provide such binary names.

Change-Id: Ib1a00b2149453fedf9ece0460dd4d6e83f774d45
2017-09-05 01:21:25 +02:00
Pau Espin e5b0366849 contrib: Disable doxygen doc generation
The --disable-doxygen was recently added to libosmocore and
libosmo-netif. No need to manually remove documentation anymore.

Change-Id: I3ca3dd1c115fc6784e4dc26a5ff5bf35d65b4e22
2017-07-06 17:14:48 +02:00
Pau Espin 3c35df3e28 contrib: Fix removal of doc directories
The docs are actually not removed because the shell takes
{libosmocore,libosmo-sccp} as a string literal if found inside quote
marks, see [1] for more information.

[1] https://unix.stackexchange.com/questions/67757/wildcards-inside-quotes

Change-Id: Ida8941525db2d6a80539ffda29fb4fa74dbb1e16
2017-07-05 10:53:13 +02:00
Neels Hofmeyr b398b52ad5 jenkins: fix: recent change broke jenkins build
Recent commit 851802b927 introduces a build
branch, which works fine, but only on the first run. A second run in the same
repos can't delete the branch git is currently on.

I've had enough of git being impossibly difficult in UI to simply checkout a
hash or a branch now. Completely wipe out the git repository and clone a fresh
one every time.

Unfortunately, 'git clone -b' doesn't allow passing a commit hash, so we still
need to do a clone-then-checkout dance. At least now we know it will work the
same on every run.

Change-Id: I6aca4c53a796312248a189b815dfc1198a173ed9
2017-06-23 04:13:30 +02:00
Neels Hofmeyr 2581b50408 jenkins-build-common.sh: cosmetic: clear repos a bit later
If we rm -rf * and then checkout a branch, the log prints the entire file tree
as deleted. Instead, rm just before the git reset --hard, which avoids the
extra output.

Change-Id: Ib5b28a82f05d941eae8f3a2f468ef1e9d67e6180
2017-06-23 04:07:44 +02:00
Neels Hofmeyr 851802b927 jenkins-build-common.sh: fix being stuck on branch
It's hard to allow both branch names and git hashes. For a branch, we want to
prepend 'origin' to use the upstream branch. For a git hash, we don't.

We so far prepend 'origin/' if the current branch name doesn't resolve, but
that's not enough. If a local 'master' branch exists, we would stay on that
branch instead of origin/master.

Rather, prepend 'origin/' if 'origin/$branch' exists. Git hashes should not
exist as 'origin/123abc...' and used as-is, where branches from origin should
be updated to upstream by prepending 'origin/'.

Also create a local branch to build. Always force-remove the branch and
re-create from the origin/name or git hash. Keep the reset --hard for paranoia.

Change-Id: I2e610b357f8559c6b6ffb544eb0a952f04dd9f70
2017-06-23 03:52:26 +02:00
Neels Hofmeyr 53e758ae4c jenkins: extract common parts of build scripts to separate file
Have all complexity in one common shell script, greatly simplify the individual
scripts.

This allows to provide a specific branch or git hash to build instead of
current master. Some scripts allowed to provide branch names before, this now
also allows using git hashes directly.

Environment variables can be used to override the git hash/branch to use for
specific repositories.

Motivation for this patch: we need this to investigate failure causes more
easily.

Change-Id: I5ac2f90d006a1b2f6c246976346d852a70c89089
2017-06-02 16:58:37 +02:00