summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com>2023-09-17 20:46:56 +0900
committerGitHub <noreply@github.com>2023-09-17 20:46:56 +0900
commit06e3fdbd48ce7e29082a577b5758eb993c526812 (patch)
treeef30f8fbdcc6b3b39f4c7008f8e4dd8a14eaf7b3
parent80534d869f7395dc8eeaefdb8a1dee25f2136e26 (diff)
parent85142435c60e5ae91fcea4d6a8834bf45bc000b8 (diff)
Merge pull request #2100 from aria2/release-with-docker
Make releases with docker
-rw-r--r--Dockerfile.android4
-rw-r--r--Dockerfile.mingw10
-rwxr-xr-xandroid-release11
-rwxr-xr-xmakerelease58
-rwxr-xr-xmingw-release3
5 files changed, 45 insertions, 41 deletions
diff --git a/Dockerfile.android b/Dockerfile.android
index 034d48af..1f185662 100644
--- a/Dockerfile.android
+++ b/Dockerfile.android
@@ -40,7 +40,7 @@ RUN curl -L -O https://dl.google.com/android/repository/android-ndk-$NDK_VERSION
rm android-ndk-$NDK_VERSION-linux.zip
# aria2 version
-ENV ARIA2_VERSION master
+ARG ARIA2_VERSION=master
# Library versions
ENV OPENSSL_VERSION=1.1.1w
@@ -122,7 +122,7 @@ RUN ./configure \
# Build aria2
WORKDIR /root/build
-RUN git clone https://github.com/aria2/aria2 -b $ARIA2_VERSION --depth 1
+RUN git clone -b $ARIA2_VERSION --depth 1 https://github.com/aria2/aria2
WORKDIR /root/build/aria2
RUN autoreconf -i && \
diff --git a/Dockerfile.mingw b/Dockerfile.mingw
index 5dbb3e9a..8f097dfb 100644
--- a/Dockerfile.mingw
+++ b/Dockerfile.mingw
@@ -16,7 +16,7 @@ FROM ubuntu:22.04
MAINTAINER Tatsuhiro Tsujikawa
# Change HOST to x86_64-w64-mingw32 to build 64-bit binary
-ENV HOST i686-w64-mingw32
+ARG HOST=i686-w64-mingw32
# It would be better to use nearest ubuntu archive mirror for faster
# downloads.
@@ -107,7 +107,11 @@ RUN tar xf libssh2-1.11.0.tar.bz2 && \
--with-wincng \
LIBS="-lws2_32" && \
make install
-ADD https://api.github.com/repos/aria2/aria2/git/refs/heads/master version.json
-RUN git clone https://github.com/aria2/aria2 && \
+
+ARG ARIA2_VERSION=master
+ARG ARIA2_REF=refs/heads/master
+
+ADD https://api.github.com/repos/aria2/aria2/git/$ARIA2_REF version.json
+RUN git clone -b $ARIA2_VERSION --depth 1 https://github.com/aria2/aria2 && \
cd aria2 && autoreconf -i && ./mingw-config && make && \
$HOST-strip src/aria2c.exe
diff --git a/android-release b/android-release
index 361eb029..cbc46bfb 100755
--- a/android-release
+++ b/android-release
@@ -31,14 +31,6 @@
# version. If you delete this exception statement from all source
# files in the program, then also delete it here.
-if [ -z "$NDK" ]; then
- echo 'No $NDK specified.'
- exit 1
-fi
-
-TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
-PATH=$TOOLCHAIN/bin:$PATH
-
# cd to the directory where this script exists.
cd $(dirname $0)
. ./script-helper
@@ -51,9 +43,8 @@ if [ -z "$VERSION" ]; then
fi
DIST_DIR=aria2-$VERSION-aarch64-linux-android-build1
-aarch64-linux-android-strip src/aria2c
mkdir $DIST_DIR
cp AUTHORS COPYING ChangeLog LICENSE.OpenSSL NEWS README.html README.android \
- src/aria2c $DIST_DIR
+ android-out/aria2c $DIST_DIR
zip -9 -r $DIST_DIR.zip $DIST_DIR
rm -rf $DIST_DIR
diff --git a/makerelease b/makerelease
index 538ef42d..02d2e1ba 100755
--- a/makerelease
+++ b/makerelease
@@ -1,14 +1,5 @@
#!/bin/sh -e
-if [ -z "$ANDROID_HOME" ]; then
- echo 'No $ANDROID_HOME specified.'
- exit 1
-fi
-if [ -z "$NDK" ]; then
- echo 'No $NDK specified.'
- exit 1
-fi
-
VERSION=$1
PREV_VERSION=$2
@@ -21,26 +12,45 @@ autoreconf -i
make dist-bzip2 && make dist-gzip && make dist-xz || echo "error"
make distclean
+release_mingw()
+{
+ export HOST=$1
+ export LABEL=$2
+
+ mkdir -p mingw-out
+
+ docker build \
+ --build-arg HOST=$HOST \
+ --build-arg ARIA2_VERSION=$VERSION \
+ --build-arg ARIA2_REF=refs/tags/release-$VERSION \
+ -t aria2-mingw-$HOST - < Dockerfile.mingw
+
+ docker run --rm -it -v $PWD/mingw-out:/out aria2-mingw-$HOST \
+ cp /aria2/src/aria2c.exe /out
+
+ ./mingw-release
+
+ rm -rf mingw-out
+}
+
# mingw 32bit
-export HOST=i686-w64-mingw32
-export LABEL=win-32bit
-./mingw-config
-make -j8
-./mingw-release
-make distclean
+release_mingw i686-w64-mingw32 win-32bit
# mingw 64bit
-export HOST=x86_64-w64-mingw32
-export LABEL=win-64bit
-./mingw-config
-make -j8
-./mingw-release
-make distclean
+release_mingw x86_64-w64-mingw32 win-64bit
# android
-./android-config
-make -j8
+mkdir -p android-out
+
+docker build \
+ --build-arg ARIA2_VERSION=$VERSION \
+ -t aria2-android - < Dockerfile.android
+
+docker run --rm -it -v $PWD/android-out:/out aria2-android \
+ cp /root/build/aria2/src/aria2c /out
+
./android-release
-make distclean
+
+rm -rf android-out
# OSX builds are created separately using makerelease-osx.mk
diff --git a/mingw-release b/mingw-release
index 59f1a024..61a07899 100755
--- a/mingw-release
+++ b/mingw-release
@@ -48,9 +48,8 @@ fi
DIST_DIR=aria2-${VERSION}-${LABEL}-build${BUILD_VER}
-/usr/bin/$HOST-strip src/aria2c.exe
mkdir $DIST_DIR
cp AUTHORS COPYING ChangeLog LICENSE.OpenSSL NEWS README.html README.mingw \
- src/aria2c.exe $DIST_DIR
+ mingw-out/aria2c.exe $DIST_DIR
zip -9 -r $DIST_DIR.zip $DIST_DIR
rm -rf $DIST_DIR