Skip to content

Commit 8e87cbc

Browse files
committed
Merge branch 'js/travis-32bit-linux' into maint
Add 32-bit Linux variant to the set of platforms to be tested with Travis CI. * js/travis-32bit-linux: Travis: also test on 32-bit Linux
2 parents 890d765 + 88dedd5 commit 8e87cbc

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed

.travis.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,27 @@ env:
3939

4040
matrix:
4141
include:
42+
- env: Linux32
43+
os: linux
44+
services:
45+
- docker
46+
before_install:
47+
- docker pull daald/ubuntu32:xenial
48+
before_script:
49+
script:
50+
- >
51+
docker run
52+
--interactive
53+
--env DEFAULT_TEST_TARGET
54+
--env GIT_PROVE_OPTS
55+
--env GIT_TEST_OPTS
56+
--env GIT_TEST_CLONE_2GB
57+
--volume "${PWD}:/usr/src/git"
58+
daald/ubuntu32:xenial
59+
/usr/src/git/ci/run-linux32-build.sh $(id -u $USER)
60+
# Use the following command to debug the docker build locally:
61+
# $ docker run -itv "${PWD}:/usr/src/git" --entrypoint /bin/bash daald/ubuntu32:xenial
62+
# root@container:/# /usr/src/git/ci/run-linux32-build.sh
4263
- env: Documentation
4364
os: linux
4465
compiler: clang

ci/run-linux32-build.sh

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/bin/sh
2+
#
3+
# Build and test Git in a 32-bit environment
4+
#
5+
# Usage:
6+
# run-linux32-build.sh [host-user-id]
7+
#
8+
9+
# Update packages to the latest available versions
10+
linux32 --32bit i386 sh -c '
11+
apt update >/dev/null &&
12+
apt install -y build-essential libcurl4-openssl-dev libssl-dev \
13+
libexpat-dev gettext python >/dev/null
14+
' &&
15+
16+
# If this script runs inside a docker container, then all commands are
17+
# usually executed as root. Consequently, the host user might not be
18+
# able to access the test output files.
19+
# If a host user id is given, then create a user "ci" with the host user
20+
# id to make everything accessible to the host user.
21+
HOST_UID=$1 &&
22+
CI_USER=$USER &&
23+
test -z $HOST_UID || (CI_USER="ci" && useradd -u $HOST_UID $CI_USER) &&
24+
25+
# Build and test
26+
linux32 --32bit i386 su -m -l $CI_USER -c '
27+
cd /usr/src/git &&
28+
make --jobs=2 &&
29+
make --quiet test
30+
'

0 commit comments

Comments
 (0)