mirror of
https://github.com/kdave/btrfs-progs
synced 2024-12-17 20:05:24 +00:00
btrfs-progs: ci: add 32bit build test on alpine/musl
Add new CI image target based on 32bit Alpine with musl. It's a copy of musl and requires docker's buildx extension to properly select the platform. Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
1868bc796b
commit
ec841d1451
34
ci/ci-build-musl-i386
Executable file
34
ci/ci-build-musl-i386
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Usage: $0 [branch] [configure options]
|
||||||
|
# Create source tarball from HEAD or given branch and build it in musl CI
|
||||||
|
# environment. Configure options follow branch name that can be empty.
|
||||||
|
|
||||||
|
HERE=`pwd`
|
||||||
|
if [ -f "configure.ac" ]; then
|
||||||
|
SOURCEDIR=`pwd`
|
||||||
|
elif [ -f "../configure.ac" ]; then
|
||||||
|
cd ..
|
||||||
|
SOURCEDIR=`pwd`
|
||||||
|
else
|
||||||
|
echo "ERROR: cannot determine source directory from `pwd`"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
CIIMAGEDIR=ci/images/ci-musl-i386
|
||||||
|
BRANCH=${1:-HEAD}
|
||||||
|
if [ "$#" -ge 1 ]; then
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
HASH=$(git log -1 --format='%h %s' "$BRANCH")
|
||||||
|
|
||||||
|
echo "CI: Generate archive from $BRANCH ($HASH)"
|
||||||
|
git archive --prefix=btrfs-progs-devel/ -o devel.tar "$BRANCH"
|
||||||
|
echo "$BRANCH $HASH" > GITCOMMIT
|
||||||
|
tar uvf devel.tar GITCOMMIT
|
||||||
|
#rm GITCOMMIT
|
||||||
|
gzip --force --best devel.tar
|
||||||
|
|
||||||
|
cd "$CIIMAGEDIR"
|
||||||
|
cp "$SOURCEDIR/devel.tar.gz" .
|
||||||
|
./docker-build
|
||||||
|
./docker-run -- ./test-build devel --disable-documentation --disable-backtrace --disable-libudev "$@"
|
19
ci/images/ci-musl-i386/Dockerfile
Normal file
19
ci/images/ci-musl-i386/Dockerfile
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
FROM alpine:edge
|
||||||
|
|
||||||
|
WORKDIR /tmp
|
||||||
|
|
||||||
|
RUN apk update
|
||||||
|
RUN apk add linux-headers musl-dev util-linux-dev bash
|
||||||
|
RUN apk add attr-dev acl-dev e2fsprogs-dev zlib-dev lzo-dev zstd-dev
|
||||||
|
RUN apk add autoconf automake make gcc tar gzip clang
|
||||||
|
RUN apk add python3 py3-setuptools python3-dev
|
||||||
|
RUN apk add libgcrypt-dev libsodium-dev libkcapi-dev
|
||||||
|
|
||||||
|
# For downloading fresh sources
|
||||||
|
RUN apk add wget
|
||||||
|
|
||||||
|
# Only build tests
|
||||||
|
COPY ./test-build .
|
||||||
|
COPY ./devel.tar.gz .
|
||||||
|
|
||||||
|
CMD ./test-build devel --disable-documentation --disable-backtrace --disable-libudev
|
11
ci/images/ci-musl-i386/docker-build
Executable file
11
ci/images/ci-musl-i386/docker-build
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Run from the directory with Dockerfile, directory name should match the image
|
||||||
|
# name
|
||||||
|
|
||||||
|
prefix=kdave
|
||||||
|
image=$(basename `pwd` | tr '[A-Z]' '[a-z]')
|
||||||
|
|
||||||
|
# Make sure the file exists as it's required but can be empty. In that case
|
||||||
|
# it's downloaded when ./test-build is executed
|
||||||
|
touch devel.tar.gz
|
||||||
|
docker buildx build --platform linux/386 -t "$prefix/$image" .
|
1
ci/images/ci-musl-i386/docker-run
Symbolic link
1
ci/images/ci-musl-i386/docker-run
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../docker-run
|
22
ci/images/ci-musl-i386/test-build
Executable file
22
ci/images/ci-musl-i386/test-build
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# usage: $0 [branch name] [configure parameters]
|
||||||
|
|
||||||
|
urlbase="https://github.com/kdave/btrfs-progs/archive"
|
||||||
|
branch=${1:-devel}
|
||||||
|
fname="${branch}.tar.gz"
|
||||||
|
url="${urlbase}/${fname}"
|
||||||
|
|
||||||
|
shift
|
||||||
|
|
||||||
|
echo "btrfs-progs build test of branch ${branch}"
|
||||||
|
cd /tmp
|
||||||
|
if [ -f "$fname" -a -s "$fname" ]; then
|
||||||
|
echo "Found local file $fname, not downloading"
|
||||||
|
else
|
||||||
|
echo "Missing or empty tar, downloading devel branch from git"
|
||||||
|
rm -- "$fname"
|
||||||
|
wget "$url" -O "$fname"
|
||||||
|
fi
|
||||||
|
tar xf "$fname"
|
||||||
|
cd "btrfs-progs-$branch"
|
||||||
|
ci/build-default "$@"
|
Loading…
Reference in New Issue
Block a user