Skip to content

Commit 12082a0

Browse files
committed
Add docker support
1 parent 569df2a commit 12082a0

File tree

5 files changed

+38
-20
lines changed

5 files changed

+38
-20
lines changed

.travis.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ matrix:
88
- os: linux
99
dist: trusty
1010
sudo: required
11-
env: RID=ubuntu
11+
env: RID=ubuntu-x64
1212
- os: linux
1313
dist: trusty
1414
sudo: required
15-
env: RID=centos
15+
env: RID=centos-x64
1616
- os: osx
1717
env: RID=osx
1818

@@ -29,6 +29,8 @@ before_install:
2929

3030
install: true
3131

32-
script: ./build.libgit2.sh
32+
script:
33+
- if [[ $RID == "osx" ]] || [[ $RID == "ubuntu-x64" ]]; then ./build.libgit2.sh ; fi
34+
- if [[ $RID != "osx" ]] && [[ $RID != "ubuntu-x64" ]]; then ./dockerbuild.sh ; fi
3335

3436
after_success: ./uploadbinaries.sh

Dockerfile.centos-x64

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM centos:7
2+
WORKDIR /nativebinaries
3+
COPY . /nativebinaries/
4+
5+
RUN yum -y install gcc openssl cmake
6+
7+
CMD ["/bin/bash", "-c", "./build.libgit2.sh"]

build.libgit2.sh

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,27 +22,27 @@ popd
2222

2323
OS=`uname`
2424
ARCH=`uname -m`
25-
26-
PACKAGEPATH="nuget.package/libgit2"
27-
LIBEXT="so"
2825

29-
if [ $OS == "Linux" ]; then
30-
if [ "$ARCH" == "x86_64" ]; then
31-
ARCH="x64"
26+
PACKAGEPATH="nuget.package/runtimes"
27+
28+
if [[ $RID == "" ]]; then
29+
if [[ $ARCH == "x86_64" ]]; then
30+
RID="unix-x64"
31+
else
32+
RID="unix-x86"
3233
fi
34+
echo "$(tput setaf 3)RID not defined. Falling back to '$RID'.$(tput sgr0)"
35+
fi
3336

34-
OSPATH="/linux"
35-
ARCHPATH="-$ARCH"
36-
elif [ $OS == "Darwin" ]; then
37-
OSPATH="/osx"
37+
if [[ $OS == "Darwin" ]]; then
3838
LIBEXT="dylib"
3939
else
40-
OSPATH="/unix"
40+
LIBEXT="so"
4141
fi
4242

43-
rm -rf $PACKAGEPATH$OSPATH
44-
mkdir -p $PACKAGEPATH$OSPATH$ARCHPATH/native
43+
rm -rf $PACKAGEPATH/$RID
44+
mkdir -p $PACKAGEPATH/$RID/native
4545

46-
cp libgit2/build/libgit2-$SHORTSHA.$LIBEXT $PACKAGEPATH$OSPATH$ARCHPATH/native
46+
cp libgit2/build/libgit2-$SHORTSHA.$LIBEXT $PACKAGEPATH/$RID/native
4747

4848
exit $?

dockerbuild.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash
2+
3+
docker build -t $RID -f Dockerfile.$RID .
4+
5+
docker run -it -e RID=$RID --name=$RID $RID
6+
7+
docker cp $RID:/nativebinaries/nuget.package/runtimes nuget.package
8+
9+
docker rm $RID

uploadbinaries.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ if [ $TRAVIS_SECURE_ENV_VARS == "true" ]; then
44

55
pushd nuget.package
66

7-
zip -r binaries.zip libgit2
7+
zip -r binaries.zip runtimes
88

99
BINTRAY_API_USER="nulltoken"
1010

11-
curl -T binaries.zip -u$BINTRAY_API_USER:$BINTRAY_API_KEY https://api.bintray.com/content/libgit2/compiled-binaries/$TRAVIS_OS_NAME/$TRAVIS_BUILD_NUMBER/binaries-$TRAVIS_OS_NAME-$TRAVIS_BUILD_NUMBER.zip?publish=1
11+
curl -T binaries.zip -u$BINTRAY_API_USER:$BINTRAY_API_KEY https://api.bintray.com/content/libgit2/compiled-binaries/$RID/$TRAVIS_BUILD_NUMBER/binaries-$RID-$TRAVIS_BUILD_NUMBER.zip?publish=1
1212

13-
printf "\n\n-> https://dl.bintray.com/libgit2/compiled-binaries/binaries-%s-%s.zip\n\n" "$TRAVIS_OS_NAME" "$TRAVIS_BUILD_NUMBER"
13+
printf "\n\n-> https://dl.bintray.com/libgit2/compiled-binaries/binaries-%s-%s.zip\n\n" "$RID" "$TRAVIS_BUILD_NUMBER"
1414

1515
popd
1616

0 commit comments

Comments
 (0)