Merge pull request #39 from linuxserver/3.15
rebase to 3.15, update ci trigger
This commit is contained in:
commit
4875dc165b
2
.github/workflows/external_trigger.yml
vendored
2
.github/workflows/external_trigger.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_MINETEST_MASTER\". ****"
|
echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_MINETEST_MASTER\". ****"
|
||||||
echo "**** Retrieving external version ****"
|
echo "**** Retrieving external version ****"
|
||||||
EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/minetest/minetest/releases/latest" | jq -r '. | .tag_name')
|
EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/minetest/minetest/releases" | jq -r '. | first(.[] | select(.tag_name | contains("android") | not)) | .tag_name')
|
||||||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||||
echo "**** Can't retrieve external version, exiting ****"
|
echo "**** Can't retrieve external version, exiting ****"
|
||||||
FAILURE_REASON="Can't retrieve external version for minetest branch master"
|
FAILURE_REASON="Can't retrieve external version for minetest branch master"
|
||||||
|
222
Dockerfile
222
Dockerfile
@ -1,131 +1,125 @@
|
|||||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.12
|
FROM ghcr.io/linuxserver/baseimage-alpine:3.15
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
ARG MINETEST_RELEASE
|
ARG MINETEST_RELEASE
|
||||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
LABEL maintainer="sparklyballs"
|
LABEL maintainer="aptalca"
|
||||||
|
|
||||||
# environment variables
|
# environment variables
|
||||||
ENV HOME="/config" \
|
ENV HOME="/config" \
|
||||||
MINETEST_SUBGAME_PATH="/config/.minetest/games"
|
MINETEST_SUBGAME_PATH="/config/.minetest/games"
|
||||||
|
|
||||||
# build variables
|
# build variables
|
||||||
ARG LDFLAGS="-lintl"
|
ARG LDFLAGS="-lintl"
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install build packages ****" && \
|
echo "**** install build packages ****" && \
|
||||||
apk add --no-cache --virtual=build-dependencies \
|
apk add --no-cache --virtual=build-dependencies \
|
||||||
bzip2-dev \
|
bzip2-dev \
|
||||||
cmake \
|
cmake \
|
||||||
curl-dev \
|
curl-dev \
|
||||||
doxygen \
|
doxygen \
|
||||||
g++ \
|
g++ \
|
||||||
gcc \
|
gcc \
|
||||||
gettext-dev \
|
gettext-dev \
|
||||||
git \
|
git \
|
||||||
gmp-dev \
|
gmp-dev \
|
||||||
hiredis-dev \
|
hiredis-dev \
|
||||||
icu-dev \
|
icu-dev \
|
||||||
irrlicht-dev \
|
irrlicht-dev \
|
||||||
libjpeg-turbo-dev \
|
jq \
|
||||||
libogg-dev \
|
leveldb-dev \
|
||||||
libpng-dev \
|
libjpeg-turbo-dev \
|
||||||
libressl-dev \
|
libogg-dev \
|
||||||
libtool \
|
libpng-dev \
|
||||||
libvorbis-dev \
|
libressl-dev \
|
||||||
luajit-dev \
|
libtool \
|
||||||
make \
|
libvorbis-dev \
|
||||||
mesa-dev \
|
luajit-dev \
|
||||||
ncurses-dev \
|
make \
|
||||||
openal-soft-dev \
|
mesa-dev \
|
||||||
python3-dev \
|
ncurses-dev \
|
||||||
sqlite-dev && \
|
openal-soft-dev \
|
||||||
apk add --no-cache --virtual=build-dependencies-2 \
|
python3-dev \
|
||||||
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
sqlite-dev && \
|
||||||
leveldb-dev && \
|
echo "**** install runtime packages ****" && \
|
||||||
echo "**** install runtime packages ****" && \
|
apk add --no-cache \
|
||||||
apk add --no-cache \
|
curl \
|
||||||
curl \
|
gmp \
|
||||||
gmp \
|
hiredis \
|
||||||
hiredis \
|
leveldb \
|
||||||
libgcc \
|
libgcc \
|
||||||
libintl \
|
libintl \
|
||||||
libstdc++ \
|
libstdc++ \
|
||||||
luajit \
|
luajit \
|
||||||
lua-socket \
|
lua-socket \
|
||||||
sqlite \
|
sqlite \
|
||||||
sqlite-libs && \
|
sqlite-libs && \
|
||||||
apk add --no-cache \
|
echo "**** compile spatialindex ****" && \
|
||||||
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
git clone https://github.com/libspatialindex/libspatialindex /tmp/spatialindex && \
|
||||||
leveldb && \
|
cd /tmp/spatialindex && \
|
||||||
echo "**** compile spatialindex ****" && \
|
cmake . \
|
||||||
git clone https://github.com/libspatialindex/libspatialindex /tmp/spatialindex && \
|
-DCMAKE_INSTALL_PREFIX=/usr && \
|
||||||
cd /tmp/spatialindex && \
|
make -j 2 && \
|
||||||
cmake . \
|
make install && \
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr && \
|
echo "**** compile minetestserver ****" && \
|
||||||
make -j 2 && \
|
if [ -z ${MINETEST_RELEASE+x} ]; then \
|
||||||
make install && \
|
MINETEST_RELEASE=$(curl -sX GET "https://api.github.com/repos/minetest/minetest/releases" \
|
||||||
echo "**** compile minetestserver ****" && \
|
| jq -r 'first(.[] | select(.tag_name | contains("android") | not)) | .tag_name'); \
|
||||||
if [ -z ${MINETEST_RELEASE+x} ]; then \
|
fi && \
|
||||||
MINETEST_RELEASE=$(curl -sX GET "https://api.github.com/repos/minetest/minetest/releases/latest" \
|
mkdir -p \
|
||||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
/tmp/minetest && \
|
||||||
fi && \
|
curl -o \
|
||||||
mkdir -p \
|
/tmp/minetest-src.tar.gz -L \
|
||||||
/tmp/minetest && \
|
"https://github.com/minetest/minetest/archive/${MINETEST_RELEASE}.tar.gz" && \
|
||||||
curl -o \
|
tar xf \
|
||||||
/tmp/minetest-src.tar.gz -L \
|
/tmp/minetest-src.tar.gz -C \
|
||||||
"https://github.com/minetest/minetest/archive/${MINETEST_RELEASE}.tar.gz" && \
|
/tmp/minetest --strip-components=1 && \
|
||||||
tar xf \
|
cp /tmp/minetest/minetest.conf.example /defaults/minetest.conf && \
|
||||||
/tmp/minetest-src.tar.gz -C \
|
cd /tmp/minetest && \
|
||||||
/tmp/minetest --strip-components=1 && \
|
cmake . \
|
||||||
cp /tmp/minetest/minetest.conf.example /defaults/minetest.conf && \
|
-DBUILD_CLIENT=0 \
|
||||||
cd /tmp/minetest && \
|
-DBUILD_SERVER=1 \
|
||||||
cmake . \
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
-DBUILD_CLIENT=0 \
|
-DCUSTOM_BINDIR=/usr/bin \
|
||||||
-DBUILD_SERVER=1 \
|
-DCUSTOM_DOCDIR="/usr/share/doc/minetest" \
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
-DCUSTOM_SHAREDIR="/usr/share/minetest" \
|
||||||
-DCUSTOM_BINDIR=/usr/bin \
|
-DENABLE_CURL=1 \
|
||||||
-DCUSTOM_DOCDIR="/usr/share/doc/minetest" \
|
-DENABLE_FREETYPE=1 \
|
||||||
-DCUSTOM_SHAREDIR="/usr/share/minetest" \
|
-DENABLE_GETTEXT=0 \
|
||||||
-DENABLE_CURL=1 \
|
-DENABLE_LEVELDB=1 \
|
||||||
-DENABLE_FREETYPE=1 \
|
-DENABLE_LUAJIT=1 \
|
||||||
-DENABLE_GETTEXT=0 \
|
-DENABLE_REDIS=1 \
|
||||||
-DENABLE_LEVELDB=1 \
|
-DENABLE_SOUND=0 \
|
||||||
-DENABLE_LUAJIT=1 \
|
-DENABLE_SYSTEM_GMP=1 \
|
||||||
-DENABLE_REDIS=1 \
|
-DRUN_IN_PLACE=0 && \
|
||||||
-DENABLE_SOUND=0 \
|
make -j 2 && \
|
||||||
-DENABLE_SYSTEM_GMP=1 \
|
make install && \
|
||||||
-DRUN_IN_PLACE=0 && \
|
echo "**** copy games to temporary folder ****" && \
|
||||||
make -j 2 && \
|
mkdir -p \
|
||||||
make install && \
|
/defaults/games && \
|
||||||
echo "**** copy games to temporary folder ****" && \
|
cp -pr /usr/share/minetest/games/* /defaults/games/ && \
|
||||||
mkdir -p \
|
echo "**** split after 3rd dot if it exists in minetest tag variable ****" && \
|
||||||
/defaults/games && \
|
echo "**** so we fetch game version x.x.x etc ****" && \
|
||||||
cp -pr /usr/share/minetest/games/* /defaults/games/ && \
|
if [ $(echo "$MINETEST_RELEASE" | tr -cd '.' | wc -c) = 3 ]; then \
|
||||||
echo "**** split after 3rd dot if it exists in minetest tag variable ****" && \
|
MINETEST_RELEASE=${MINETEST_RELEASE%.*}; \
|
||||||
echo "**** so we fetch game version x.x.x etc ****" && \
|
fi && \
|
||||||
if \
|
echo "**** fetch additional game ****" && \
|
||||||
[ $(echo "$MINETEST_RELEASE" | tr -cd '.' | wc -c) = 3 ] ; \
|
mkdir -p \
|
||||||
then MINETEST_RELEASE=${MINETEST_RELEASE%.*}; \
|
/defaults/games/minetest && \
|
||||||
fi && \
|
curl -o \
|
||||||
echo "**** fetch additional game ****" && \
|
/tmp/minetest-game.tar.gz -L \
|
||||||
mkdir -p \
|
"https://github.com/minetest/minetest_game/archive/${MINETEST_RELEASE}.tar.gz" && \
|
||||||
/defaults/games/minetest && \
|
tar xf \
|
||||||
curl -o \
|
/tmp/minetest-game.tar.gz -C \
|
||||||
/tmp/minetest-game.tar.gz -L \
|
/defaults/games/minetest --strip-components=1 && \
|
||||||
"https://github.com/minetest/minetest_game/archive/${MINETEST_RELEASE}.tar.gz" && \
|
echo "**** cleanup ****" && \
|
||||||
tar xf \
|
apk del --purge \
|
||||||
/tmp/minetest-game.tar.gz -C \
|
build-dependencies && \
|
||||||
/defaults/games/minetest --strip-components=1 && \
|
rm -rf \
|
||||||
echo "**** cleanup ****" && \
|
/tmp/*
|
||||||
apk del --purge \
|
|
||||||
build-dependencies && \
|
|
||||||
apk del --purge \
|
|
||||||
build-dependencies-2 && \
|
|
||||||
rm -rf \
|
|
||||||
/tmp/*
|
|
||||||
|
|
||||||
# add local files
|
# add local files
|
||||||
COPY root /
|
COPY root /
|
||||||
|
@ -1,131 +1,125 @@
|
|||||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.12
|
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
ARG MINETEST_RELEASE
|
ARG MINETEST_RELEASE
|
||||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
LABEL maintainer="sparklyballs"
|
LABEL maintainer="aptalca"
|
||||||
|
|
||||||
# environment variables
|
# environment variables
|
||||||
ENV HOME="/config" \
|
ENV HOME="/config" \
|
||||||
MINETEST_SUBGAME_PATH="/config/.minetest/games"
|
MINETEST_SUBGAME_PATH="/config/.minetest/games"
|
||||||
|
|
||||||
# build variables
|
# build variables
|
||||||
ARG LDFLAGS="-lintl"
|
ARG LDFLAGS="-lintl"
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install build packages ****" && \
|
echo "**** install build packages ****" && \
|
||||||
apk add --no-cache --virtual=build-dependencies \
|
apk add --no-cache --virtual=build-dependencies \
|
||||||
bzip2-dev \
|
bzip2-dev \
|
||||||
cmake \
|
cmake \
|
||||||
curl-dev \
|
curl-dev \
|
||||||
doxygen \
|
doxygen \
|
||||||
g++ \
|
g++ \
|
||||||
gcc \
|
gcc \
|
||||||
gettext-dev \
|
gettext-dev \
|
||||||
git \
|
git \
|
||||||
gmp-dev \
|
gmp-dev \
|
||||||
hiredis-dev \
|
hiredis-dev \
|
||||||
icu-dev \
|
icu-dev \
|
||||||
irrlicht-dev \
|
irrlicht-dev \
|
||||||
libjpeg-turbo-dev \
|
jq \
|
||||||
libogg-dev \
|
leveldb-dev \
|
||||||
libpng-dev \
|
libjpeg-turbo-dev \
|
||||||
libressl-dev \
|
libogg-dev \
|
||||||
libtool \
|
libpng-dev \
|
||||||
libvorbis-dev \
|
libressl-dev \
|
||||||
luajit-dev \
|
libtool \
|
||||||
make \
|
libvorbis-dev \
|
||||||
mesa-dev \
|
luajit-dev \
|
||||||
ncurses-dev \
|
make \
|
||||||
openal-soft-dev \
|
mesa-dev \
|
||||||
python3-dev \
|
ncurses-dev \
|
||||||
sqlite-dev && \
|
openal-soft-dev \
|
||||||
apk add --no-cache --virtual=build-dependencies-2 \
|
python3-dev \
|
||||||
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
sqlite-dev && \
|
||||||
leveldb-dev && \
|
echo "**** install runtime packages ****" && \
|
||||||
echo "**** install runtime packages ****" && \
|
apk add --no-cache \
|
||||||
apk add --no-cache \
|
curl \
|
||||||
curl \
|
gmp \
|
||||||
gmp \
|
hiredis \
|
||||||
hiredis \
|
leveldb \
|
||||||
libgcc \
|
libgcc \
|
||||||
libintl \
|
libintl \
|
||||||
libstdc++ \
|
libstdc++ \
|
||||||
luajit \
|
luajit \
|
||||||
lua-socket \
|
lua-socket \
|
||||||
sqlite \
|
sqlite \
|
||||||
sqlite-libs && \
|
sqlite-libs && \
|
||||||
apk add --no-cache \
|
echo "**** compile spatialindex ****" && \
|
||||||
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
git clone https://github.com/libspatialindex/libspatialindex /tmp/spatialindex && \
|
||||||
leveldb && \
|
cd /tmp/spatialindex && \
|
||||||
echo "**** compile spatialindex ****" && \
|
cmake . \
|
||||||
git clone https://github.com/libspatialindex/libspatialindex /tmp/spatialindex && \
|
-DCMAKE_INSTALL_PREFIX=/usr && \
|
||||||
cd /tmp/spatialindex && \
|
make -j 2 && \
|
||||||
cmake . \
|
make install && \
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr && \
|
echo "**** compile minetestserver ****" && \
|
||||||
make -j 2 && \
|
if [ -z ${MINETEST_RELEASE+x} ]; then \
|
||||||
make install && \
|
MINETEST_RELEASE=$(curl -sX GET "https://api.github.com/repos/minetest/minetest/releases" \
|
||||||
echo "**** compile minetestserver ****" && \
|
| jq -r 'first(.[] | select(.tag_name | contains("android") | not)) | .tag_name'); \
|
||||||
if [ -z ${MINETEST_RELEASE+x} ]; then \
|
fi && \
|
||||||
MINETEST_RELEASE=$(curl -sX GET "https://api.github.com/repos/minetest/minetest/releases/latest" \
|
mkdir -p \
|
||||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
/tmp/minetest && \
|
||||||
fi && \
|
curl -o \
|
||||||
mkdir -p \
|
/tmp/minetest-src.tar.gz -L \
|
||||||
/tmp/minetest && \
|
"https://github.com/minetest/minetest/archive/${MINETEST_RELEASE}.tar.gz" && \
|
||||||
curl -o \
|
tar xf \
|
||||||
/tmp/minetest-src.tar.gz -L \
|
/tmp/minetest-src.tar.gz -C \
|
||||||
"https://github.com/minetest/minetest/archive/${MINETEST_RELEASE}.tar.gz" && \
|
/tmp/minetest --strip-components=1 && \
|
||||||
tar xf \
|
cp /tmp/minetest/minetest.conf.example /defaults/minetest.conf && \
|
||||||
/tmp/minetest-src.tar.gz -C \
|
cd /tmp/minetest && \
|
||||||
/tmp/minetest --strip-components=1 && \
|
cmake . \
|
||||||
cp /tmp/minetest/minetest.conf.example /defaults/minetest.conf && \
|
-DBUILD_CLIENT=0 \
|
||||||
cd /tmp/minetest && \
|
-DBUILD_SERVER=1 \
|
||||||
cmake . \
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
-DBUILD_CLIENT=0 \
|
-DCUSTOM_BINDIR=/usr/bin \
|
||||||
-DBUILD_SERVER=1 \
|
-DCUSTOM_DOCDIR="/usr/share/doc/minetest" \
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
-DCUSTOM_SHAREDIR="/usr/share/minetest" \
|
||||||
-DCUSTOM_BINDIR=/usr/bin \
|
-DENABLE_CURL=1 \
|
||||||
-DCUSTOM_DOCDIR="/usr/share/doc/minetest" \
|
-DENABLE_FREETYPE=1 \
|
||||||
-DCUSTOM_SHAREDIR="/usr/share/minetest" \
|
-DENABLE_GETTEXT=0 \
|
||||||
-DENABLE_CURL=1 \
|
-DENABLE_LEVELDB=1 \
|
||||||
-DENABLE_FREETYPE=1 \
|
-DENABLE_LUAJIT=1 \
|
||||||
-DENABLE_GETTEXT=0 \
|
-DENABLE_REDIS=1 \
|
||||||
-DENABLE_LEVELDB=1 \
|
-DENABLE_SOUND=0 \
|
||||||
-DENABLE_LUAJIT=1 \
|
-DENABLE_SYSTEM_GMP=1 \
|
||||||
-DENABLE_REDIS=1 \
|
-DRUN_IN_PLACE=0 && \
|
||||||
-DENABLE_SOUND=0 \
|
make -j 2 && \
|
||||||
-DENABLE_SYSTEM_GMP=1 \
|
make install && \
|
||||||
-DRUN_IN_PLACE=0 && \
|
echo "**** copy games to temporary folder ****" && \
|
||||||
make -j 2 && \
|
mkdir -p \
|
||||||
make install && \
|
/defaults/games && \
|
||||||
echo "**** copy games to temporary folder ****" && \
|
cp -pr /usr/share/minetest/games/* /defaults/games/ && \
|
||||||
mkdir -p \
|
echo "**** split after 3rd dot if it exists in minetest tag variable ****" && \
|
||||||
/defaults/games && \
|
echo "**** so we fetch game version x.x.x etc ****" && \
|
||||||
cp -pr /usr/share/minetest/games/* /defaults/games/ && \
|
if [ $(echo "$MINETEST_RELEASE" | tr -cd '.' | wc -c) = 3 ]; then \
|
||||||
echo "**** split after 3rd dot if it exists in minetest tag variable ****" && \
|
MINETEST_RELEASE=${MINETEST_RELEASE%.*}; \
|
||||||
echo "**** so we fetch game version x.x.x etc ****" && \
|
fi && \
|
||||||
if \
|
echo "**** fetch additional game ****" && \
|
||||||
[ $(echo "$MINETEST_RELEASE" | tr -cd '.' | wc -c) = 3 ] ; \
|
mkdir -p \
|
||||||
then MINETEST_RELEASE=${MINETEST_RELEASE%.*}; \
|
/defaults/games/minetest && \
|
||||||
fi && \
|
curl -o \
|
||||||
echo "**** fetch additional game ****" && \
|
/tmp/minetest-game.tar.gz -L \
|
||||||
mkdir -p \
|
"https://github.com/minetest/minetest_game/archive/${MINETEST_RELEASE}.tar.gz" && \
|
||||||
/defaults/games/minetest && \
|
tar xf \
|
||||||
curl -o \
|
/tmp/minetest-game.tar.gz -C \
|
||||||
/tmp/minetest-game.tar.gz -L \
|
/defaults/games/minetest --strip-components=1 && \
|
||||||
"https://github.com/minetest/minetest_game/archive/${MINETEST_RELEASE}.tar.gz" && \
|
echo "**** cleanup ****" && \
|
||||||
tar xf \
|
apk del --purge \
|
||||||
/tmp/minetest-game.tar.gz -C \
|
build-dependencies && \
|
||||||
/defaults/games/minetest --strip-components=1 && \
|
rm -rf \
|
||||||
echo "**** cleanup ****" && \
|
/tmp/*
|
||||||
apk del --purge \
|
|
||||||
build-dependencies && \
|
|
||||||
apk del --purge \
|
|
||||||
build-dependencies-2 && \
|
|
||||||
rm -rf \
|
|
||||||
/tmp/*
|
|
||||||
|
|
||||||
# add local files
|
# add local files
|
||||||
COPY root /
|
COPY root /
|
||||||
|
222
Dockerfile.armhf
222
Dockerfile.armhf
@ -1,131 +1,125 @@
|
|||||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.12
|
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
ARG MINETEST_RELEASE
|
ARG MINETEST_RELEASE
|
||||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
LABEL maintainer="sparklyballs"
|
LABEL maintainer="aptalca"
|
||||||
|
|
||||||
# environment variables
|
# environment variables
|
||||||
ENV HOME="/config" \
|
ENV HOME="/config" \
|
||||||
MINETEST_SUBGAME_PATH="/config/.minetest/games"
|
MINETEST_SUBGAME_PATH="/config/.minetest/games"
|
||||||
|
|
||||||
# build variables
|
# build variables
|
||||||
ARG LDFLAGS="-lintl"
|
ARG LDFLAGS="-lintl"
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install build packages ****" && \
|
echo "**** install build packages ****" && \
|
||||||
apk add --no-cache --virtual=build-dependencies \
|
apk add --no-cache --virtual=build-dependencies \
|
||||||
bzip2-dev \
|
bzip2-dev \
|
||||||
cmake \
|
cmake \
|
||||||
curl-dev \
|
curl-dev \
|
||||||
doxygen \
|
doxygen \
|
||||||
g++ \
|
g++ \
|
||||||
gcc \
|
gcc \
|
||||||
gettext-dev \
|
gettext-dev \
|
||||||
git \
|
git \
|
||||||
gmp-dev \
|
gmp-dev \
|
||||||
hiredis-dev \
|
hiredis-dev \
|
||||||
icu-dev \
|
icu-dev \
|
||||||
irrlicht-dev \
|
irrlicht-dev \
|
||||||
libjpeg-turbo-dev \
|
jq \
|
||||||
libogg-dev \
|
leveldb-dev \
|
||||||
libpng-dev \
|
libjpeg-turbo-dev \
|
||||||
libressl-dev \
|
libogg-dev \
|
||||||
libtool \
|
libpng-dev \
|
||||||
libvorbis-dev \
|
libressl-dev \
|
||||||
luajit-dev \
|
libtool \
|
||||||
make \
|
libvorbis-dev \
|
||||||
mesa-dev \
|
luajit-dev \
|
||||||
ncurses-dev \
|
make \
|
||||||
openal-soft-dev \
|
mesa-dev \
|
||||||
python3-dev \
|
ncurses-dev \
|
||||||
sqlite-dev && \
|
openal-soft-dev \
|
||||||
apk add --no-cache --virtual=build-dependencies-2 \
|
python3-dev \
|
||||||
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
sqlite-dev && \
|
||||||
leveldb-dev && \
|
echo "**** install runtime packages ****" && \
|
||||||
echo "**** install runtime packages ****" && \
|
apk add --no-cache \
|
||||||
apk add --no-cache \
|
curl \
|
||||||
curl \
|
gmp \
|
||||||
gmp \
|
hiredis \
|
||||||
hiredis \
|
leveldb \
|
||||||
libgcc \
|
libgcc \
|
||||||
libintl \
|
libintl \
|
||||||
libstdc++ \
|
libstdc++ \
|
||||||
luajit \
|
luajit \
|
||||||
lua-socket \
|
lua-socket \
|
||||||
sqlite \
|
sqlite \
|
||||||
sqlite-libs && \
|
sqlite-libs && \
|
||||||
apk add --no-cache \
|
echo "**** compile spatialindex ****" && \
|
||||||
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
git clone https://github.com/libspatialindex/libspatialindex /tmp/spatialindex && \
|
||||||
leveldb && \
|
cd /tmp/spatialindex && \
|
||||||
echo "**** compile spatialindex ****" && \
|
cmake . \
|
||||||
git clone https://github.com/libspatialindex/libspatialindex /tmp/spatialindex && \
|
-DCMAKE_INSTALL_PREFIX=/usr && \
|
||||||
cd /tmp/spatialindex && \
|
make -j 2 && \
|
||||||
cmake . \
|
make install && \
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr && \
|
echo "**** compile minetestserver ****" && \
|
||||||
make -j 2 && \
|
if [ -z ${MINETEST_RELEASE+x} ]; then \
|
||||||
make install && \
|
MINETEST_RELEASE=$(curl -sX GET "https://api.github.com/repos/minetest/minetest/releases" \
|
||||||
echo "**** compile minetestserver ****" && \
|
| jq -r 'first(.[] | select(.tag_name | contains("android") | not)) | .tag_name'); \
|
||||||
if [ -z ${MINETEST_RELEASE+x} ]; then \
|
fi && \
|
||||||
MINETEST_RELEASE=$(curl -sX GET "https://api.github.com/repos/minetest/minetest/releases/latest" \
|
mkdir -p \
|
||||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
/tmp/minetest && \
|
||||||
fi && \
|
curl -o \
|
||||||
mkdir -p \
|
/tmp/minetest-src.tar.gz -L \
|
||||||
/tmp/minetest && \
|
"https://github.com/minetest/minetest/archive/${MINETEST_RELEASE}.tar.gz" && \
|
||||||
curl -o \
|
tar xf \
|
||||||
/tmp/minetest-src.tar.gz -L \
|
/tmp/minetest-src.tar.gz -C \
|
||||||
"https://github.com/minetest/minetest/archive/${MINETEST_RELEASE}.tar.gz" && \
|
/tmp/minetest --strip-components=1 && \
|
||||||
tar xf \
|
cp /tmp/minetest/minetest.conf.example /defaults/minetest.conf && \
|
||||||
/tmp/minetest-src.tar.gz -C \
|
cd /tmp/minetest && \
|
||||||
/tmp/minetest --strip-components=1 && \
|
cmake . \
|
||||||
cp /tmp/minetest/minetest.conf.example /defaults/minetest.conf && \
|
-DBUILD_CLIENT=0 \
|
||||||
cd /tmp/minetest && \
|
-DBUILD_SERVER=1 \
|
||||||
cmake . \
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
-DBUILD_CLIENT=0 \
|
-DCUSTOM_BINDIR=/usr/bin \
|
||||||
-DBUILD_SERVER=1 \
|
-DCUSTOM_DOCDIR="/usr/share/doc/minetest" \
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
-DCUSTOM_SHAREDIR="/usr/share/minetest" \
|
||||||
-DCUSTOM_BINDIR=/usr/bin \
|
-DENABLE_CURL=1 \
|
||||||
-DCUSTOM_DOCDIR="/usr/share/doc/minetest" \
|
-DENABLE_FREETYPE=1 \
|
||||||
-DCUSTOM_SHAREDIR="/usr/share/minetest" \
|
-DENABLE_GETTEXT=0 \
|
||||||
-DENABLE_CURL=1 \
|
-DENABLE_LEVELDB=1 \
|
||||||
-DENABLE_FREETYPE=1 \
|
-DENABLE_LUAJIT=1 \
|
||||||
-DENABLE_GETTEXT=0 \
|
-DENABLE_REDIS=1 \
|
||||||
-DENABLE_LEVELDB=1 \
|
-DENABLE_SOUND=0 \
|
||||||
-DENABLE_LUAJIT=1 \
|
-DENABLE_SYSTEM_GMP=1 \
|
||||||
-DENABLE_REDIS=1 \
|
-DRUN_IN_PLACE=0 && \
|
||||||
-DENABLE_SOUND=0 \
|
make -j 2 && \
|
||||||
-DENABLE_SYSTEM_GMP=1 \
|
make install && \
|
||||||
-DRUN_IN_PLACE=0 && \
|
echo "**** copy games to temporary folder ****" && \
|
||||||
make -j 2 && \
|
mkdir -p \
|
||||||
make install && \
|
/defaults/games && \
|
||||||
echo "**** copy games to temporary folder ****" && \
|
cp -pr /usr/share/minetest/games/* /defaults/games/ && \
|
||||||
mkdir -p \
|
echo "**** split after 3rd dot if it exists in minetest tag variable ****" && \
|
||||||
/defaults/games && \
|
echo "**** so we fetch game version x.x.x etc ****" && \
|
||||||
cp -pr /usr/share/minetest/games/* /defaults/games/ && \
|
if [ $(echo "$MINETEST_RELEASE" | tr -cd '.' | wc -c) = 3 ]; then \
|
||||||
echo "**** split after 3rd dot if it exists in minetest tag variable ****" && \
|
MINETEST_RELEASE=${MINETEST_RELEASE%.*}; \
|
||||||
echo "**** so we fetch game version x.x.x etc ****" && \
|
fi && \
|
||||||
if \
|
echo "**** fetch additional game ****" && \
|
||||||
[ $(echo "$MINETEST_RELEASE" | tr -cd '.' | wc -c) = 3 ] ; \
|
mkdir -p \
|
||||||
then MINETEST_RELEASE=${MINETEST_RELEASE%.*}; \
|
/defaults/games/minetest && \
|
||||||
fi && \
|
curl -o \
|
||||||
echo "**** fetch additional game ****" && \
|
/tmp/minetest-game.tar.gz -L \
|
||||||
mkdir -p \
|
"https://github.com/minetest/minetest_game/archive/${MINETEST_RELEASE}.tar.gz" && \
|
||||||
/defaults/games/minetest && \
|
tar xf \
|
||||||
curl -o \
|
/tmp/minetest-game.tar.gz -C \
|
||||||
/tmp/minetest-game.tar.gz -L \
|
/defaults/games/minetest --strip-components=1 && \
|
||||||
"https://github.com/minetest/minetest_game/archive/${MINETEST_RELEASE}.tar.gz" && \
|
echo "**** cleanup ****" && \
|
||||||
tar xf \
|
apk del --purge \
|
||||||
/tmp/minetest-game.tar.gz -C \
|
build-dependencies && \
|
||||||
/defaults/games/minetest --strip-components=1 && \
|
rm -rf \
|
||||||
echo "**** cleanup ****" && \
|
/tmp/*
|
||||||
apk del --purge \
|
|
||||||
build-dependencies && \
|
|
||||||
apk del --purge \
|
|
||||||
build-dependencies-2 && \
|
|
||||||
rm -rf \
|
|
||||||
/tmp/*
|
|
||||||
|
|
||||||
# add local files
|
# add local files
|
||||||
COPY root /
|
COPY root /
|
||||||
|
112
Jenkinsfile
vendored
112
Jenkinsfile
vendored
@ -17,9 +17,8 @@ pipeline {
|
|||||||
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
|
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
|
||||||
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
|
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
|
||||||
SCARF_TOKEN=credentials('scarf_api_key')
|
SCARF_TOKEN=credentials('scarf_api_key')
|
||||||
EXT_GIT_BRANCH = 'master'
|
JSON_URL = 'https://api.github.com/repos/minetest/minetest/releases'
|
||||||
EXT_USER = 'minetest'
|
JSON_PATH = 'first(.[] | select(.tag_name | contains("android") | not)) | .tag_name'
|
||||||
EXT_REPO = 'minetest'
|
|
||||||
BUILD_VERSION_ARG = 'MINETEST_RELEASE'
|
BUILD_VERSION_ARG = 'MINETEST_RELEASE'
|
||||||
LS_USER = 'linuxserver'
|
LS_USER = 'linuxserver'
|
||||||
LS_REPO = 'docker-minetest'
|
LS_REPO = 'docker-minetest'
|
||||||
@ -102,21 +101,14 @@ pipeline {
|
|||||||
/* ########################
|
/* ########################
|
||||||
External Release Tagging
|
External Release Tagging
|
||||||
######################## */
|
######################## */
|
||||||
// If this is a stable github release use the latest endpoint from github to determine the ext tag
|
// If this is a custom json endpoint parse the return to get external tag
|
||||||
stage("Set ENV github_stable"){
|
stage("Set ENV custom_json"){
|
||||||
steps{
|
steps{
|
||||||
script{
|
script{
|
||||||
env.EXT_RELEASE = sh(
|
env.EXT_RELEASE = sh(
|
||||||
script: '''curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq -r '. | .tag_name' ''',
|
script: '''curl -s ${JSON_URL} | jq -r ". | ${JSON_PATH}" ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
}
|
env.RELEASE_LINK = env.JSON_URL
|
||||||
}
|
|
||||||
}
|
|
||||||
// If this is a stable or devel github release generate the link for the build message
|
|
||||||
stage("Set ENV github_link"){
|
|
||||||
steps{
|
|
||||||
script{
|
|
||||||
env.RELEASE_LINK = 'https://github.com/' + env.EXT_USER + '/' + env.EXT_REPO + '/releases/tag/' + env.EXT_RELEASE
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -128,12 +120,11 @@ pipeline {
|
|||||||
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''',
|
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
|
|
||||||
env.SEMVER = (new Date()).format('YYYY.MM.dd')
|
def semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)\.(\d+)/
|
||||||
def semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)\.(\d+)$/
|
|
||||||
if (semver.find()) {
|
if (semver.find()) {
|
||||||
env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${semver[0][3]}"
|
env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${semver[0][3]}"
|
||||||
} else {
|
} else {
|
||||||
semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)(?:\.(\d+))?(.*)$/
|
semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)(?:\.(\d+))?(.*)/
|
||||||
if (semver.find()) {
|
if (semver.find()) {
|
||||||
if (semver[0][3]) {
|
if (semver[0][3]) {
|
||||||
env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${semver[0][3]}"
|
env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${semver[0][3]}"
|
||||||
@ -143,7 +134,15 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
println("SEMVER: ${env.SEMVER}")
|
if (env.SEMVER != null) {
|
||||||
|
if (BRANCH_NAME != "master" && BRANCH_NAME != "main") {
|
||||||
|
env.SEMVER = "${env.SEMVER}-${BRANCH_NAME}"
|
||||||
|
}
|
||||||
|
println("SEMVER: ${env.SEMVER}")
|
||||||
|
} else {
|
||||||
|
println("No SEMVER detected")
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -412,10 +411,10 @@ pipeline {
|
|||||||
steps{
|
steps{
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
set -e
|
set -e
|
||||||
PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/packages | jq -r '.[] | select(.name=="linuxserver/minetest") | .uuid')
|
PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/minetest") | .uuid')
|
||||||
if [ -z "${PACKAGE_UUID}" ]; then
|
if [ -z "${PACKAGE_UUID}" ]; then
|
||||||
echo "Adding package to Scarf.sh"
|
echo "Adding package to Scarf.sh"
|
||||||
PACKAGE_UUID=$(curl -sX POST https://scarf.sh/api/v1/packages \
|
curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
|
||||||
-H "Authorization: Bearer ${SCARF_TOKEN}" \
|
-H "Authorization: Bearer ${SCARF_TOKEN}" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d '{"name":"linuxserver/minetest",\
|
-d '{"name":"linuxserver/minetest",\
|
||||||
@ -423,22 +422,10 @@ pipeline {
|
|||||||
"libraryType":"docker",\
|
"libraryType":"docker",\
|
||||||
"website":"https://github.com/linuxserver/docker-minetest",\
|
"website":"https://github.com/linuxserver/docker-minetest",\
|
||||||
"backendUrl":"https://ghcr.io/linuxserver/minetest",\
|
"backendUrl":"https://ghcr.io/linuxserver/minetest",\
|
||||||
"publicUrl":"https://lscr.io/linuxserver/minetest"}' \
|
"publicUrl":"https://lscr.io/linuxserver/minetest"}' || :
|
||||||
| jq -r .uuid)
|
|
||||||
else
|
else
|
||||||
echo "Package already exists on Scarf.sh"
|
echo "Package already exists on Scarf.sh"
|
||||||
fi
|
fi
|
||||||
echo "Setting permissions on Scarf.sh for package ${PACKAGE_UUID}"
|
|
||||||
curl -X POST https://scarf.sh/api/v1/packages/${PACKAGE_UUID}/permissions \
|
|
||||||
-H "Authorization: Bearer ${SCARF_TOKEN}" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-d '[{"userQuery":"Spad","permissionLevel":"admin"},\
|
|
||||||
{"userQuery":"roxedus","permissionLevel":"admin"},\
|
|
||||||
{"userQuery":"nemchik","permissionLevel":"admin"},\
|
|
||||||
{"userQuery":"driz","permissionLevel":"admin"},\
|
|
||||||
{"userQuery":"aptalca","permissionLevel":"admin"},\
|
|
||||||
{"userQuery":"saarg","permissionLevel":"admin"},\
|
|
||||||
{"userQuery":"Stark","permissionLevel":"admin"}]'
|
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -762,11 +749,15 @@ pipeline {
|
|||||||
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
|
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
|
||||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
|
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
|
||||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
||||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER}
|
if [ -n "${SEMVER}" ]; then
|
||||||
|
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER}
|
||||||
|
fi
|
||||||
docker push ${PUSHIMAGE}:latest
|
docker push ${PUSHIMAGE}:latest
|
||||||
docker push ${PUSHIMAGE}:${META_TAG}
|
docker push ${PUSHIMAGE}:${META_TAG}
|
||||||
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
||||||
docker push ${PUSHIMAGE}:${SEMVER}
|
if [ -n "${SEMVER}" ]; then
|
||||||
|
docker push ${PUSHIMAGE}:${SEMVER}
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
@ -775,8 +766,10 @@ pipeline {
|
|||||||
docker rmi \
|
docker rmi \
|
||||||
${DELETEIMAGE}:${META_TAG} \
|
${DELETEIMAGE}:${META_TAG} \
|
||||||
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
|
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
|
||||||
${DELETEIMAGE}:latest \
|
${DELETEIMAGE}:latest || :
|
||||||
${DELETEIMAGE}:${SEMVER} || :
|
if [ -n "${SEMVER}" ]; then
|
||||||
|
docker rmi ${DELETEIMAGE}:${SEMVER} || :
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
@ -826,9 +819,11 @@ pipeline {
|
|||||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
||||||
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
||||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
|
if [ -n "${SEMVER}" ]; then
|
||||||
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
|
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
|
||||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
|
||||||
|
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
||||||
|
fi
|
||||||
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
|
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||||
@ -838,9 +833,11 @@ pipeline {
|
|||||||
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
|
if [ -n "${SEMVER}" ]; then
|
||||||
docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
|
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
|
||||||
|
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
||||||
|
fi
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
|
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
|
||||||
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
|
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
|
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
|
||||||
@ -853,14 +850,18 @@ pipeline {
|
|||||||
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
|
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
|
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
|
if [ -n "${SEMVER}" ]; then
|
||||||
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
|
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
|
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
|
||||||
|
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
|
||||||
|
fi
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:latest
|
docker manifest push --purge ${MANIFESTIMAGE}:latest
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
|
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER}
|
if [ -n "${SEMVER}" ]; then
|
||||||
|
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER}
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
@ -870,15 +871,18 @@ pipeline {
|
|||||||
${DELETEIMAGE}:amd64-${META_TAG} \
|
${DELETEIMAGE}:amd64-${META_TAG} \
|
||||||
${DELETEIMAGE}:amd64-latest \
|
${DELETEIMAGE}:amd64-latest \
|
||||||
${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
|
${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
|
||||||
${DELETEIMAGE}:amd64-${SEMVER} \
|
|
||||||
${DELETEIMAGE}:arm32v7-${META_TAG} \
|
${DELETEIMAGE}:arm32v7-${META_TAG} \
|
||||||
${DELETEIMAGE}:arm32v7-latest \
|
${DELETEIMAGE}:arm32v7-latest \
|
||||||
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
|
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
|
||||||
${DELETEIMAGE}:arm32v7-${SEMVER} \
|
|
||||||
${DELETEIMAGE}:arm64v8-${META_TAG} \
|
${DELETEIMAGE}:arm64v8-${META_TAG} \
|
||||||
${DELETEIMAGE}:arm64v8-latest \
|
${DELETEIMAGE}:arm64v8-latest \
|
||||||
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} \
|
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
|
||||||
${DELETEIMAGE}:arm64v8-${SEMVER} || :
|
if [ -n "${SEMVER}" ]; then
|
||||||
|
docker rmi \
|
||||||
|
${DELETEIMAGE}:amd64-${SEMVER} \
|
||||||
|
${DELETEIMAGE}:arm32v7-${SEMVER} \
|
||||||
|
${DELETEIMAGE}:arm64v8-${SEMVER} || :
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
docker rmi \
|
docker rmi \
|
||||||
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
||||||
@ -907,11 +911,11 @@ pipeline {
|
|||||||
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
||||||
echo "Pushing New release for Tag"
|
echo "Pushing New release for Tag"
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq '. |.body' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
|
echo "Data change at JSON endpoint ${JSON_URL}" > releasebody.json
|
||||||
echo '{"tag_name":"'${META_TAG}'",\
|
echo '{"tag_name":"'${META_TAG}'",\
|
||||||
"target_commitish": "master",\
|
"target_commitish": "master",\
|
||||||
"name": "'${META_TAG}'",\
|
"name": "'${META_TAG}'",\
|
||||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**'${EXT_REPO}' Changes:**\\n\\n' > start
|
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start
|
||||||
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
||||||
paste -d'\\0' start releasebody.json > releasebody.json.done
|
paste -d'\\0' start releasebody.json > releasebody.json.done
|
||||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
||||||
|
@ -29,6 +29,7 @@ Find us at:
|
|||||||
|
|
||||||
# [linuxserver/minetest](https://github.com/linuxserver/docker-minetest)
|
# [linuxserver/minetest](https://github.com/linuxserver/docker-minetest)
|
||||||
|
|
||||||
|
[](https://scarf.sh/gateway/linuxserver-ci/docker/linuxserver%2Fminetest)
|
||||||
[](https://github.com/linuxserver/docker-minetest)
|
[](https://github.com/linuxserver/docker-minetest)
|
||||||
[](https://github.com/linuxserver/docker-minetest/releases)
|
[](https://github.com/linuxserver/docker-minetest/releases)
|
||||||
[](https://github.com/linuxserver/docker-minetest/packages)
|
[](https://github.com/linuxserver/docker-minetest/packages)
|
||||||
@ -84,7 +85,7 @@ services:
|
|||||||
- TZ=Europe/London
|
- TZ=Europe/London
|
||||||
- CLI_ARGS="--gameid minetest" #optional
|
- CLI_ARGS="--gameid minetest" #optional
|
||||||
volumes:
|
volumes:
|
||||||
- <path to data>:/config/.minetest
|
- /path/to/data:/config/.minetest
|
||||||
ports:
|
ports:
|
||||||
- 30000:30000/udp
|
- 30000:30000/udp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@ -100,7 +101,7 @@ docker run -d \
|
|||||||
-e TZ=Europe/London \
|
-e TZ=Europe/London \
|
||||||
-e CLI_ARGS="--gameid minetest" `#optional` \
|
-e CLI_ARGS="--gameid minetest" `#optional` \
|
||||||
-p 30000:30000/udp \
|
-p 30000:30000/udp \
|
||||||
-v <path to data>:/config/.minetest \
|
-v /path/to/data:/config/.minetest \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
lscr.io/linuxserver/minetest
|
lscr.io/linuxserver/minetest
|
||||||
```
|
```
|
||||||
@ -227,6 +228,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
* **19.01.21:** - Rebasing to alpine 3.15.
|
||||||
* **02.06.20:** - Rebasing to alpine 3.12.
|
* **02.06.20:** - Rebasing to alpine 3.12.
|
||||||
* **19.12.19:** - Rebasing to alpine 3.11.
|
* **19.12.19:** - Rebasing to alpine 3.11.
|
||||||
* **12.07.19:** - Bugfix to support multiple CLI variables.
|
* **12.07.19:** - Bugfix to support multiple CLI variables.
|
||||||
|
@ -2,14 +2,13 @@
|
|||||||
|
|
||||||
# jenkins variables
|
# jenkins variables
|
||||||
project_name: docker-minetest
|
project_name: docker-minetest
|
||||||
external_type: github_stable
|
external_type: custom_json
|
||||||
release_type: stable
|
release_type: stable
|
||||||
release_tag: latest
|
release_tag: latest
|
||||||
ls_branch: master
|
ls_branch: master
|
||||||
repo_vars:
|
repo_vars:
|
||||||
- EXT_GIT_BRANCH = 'master'
|
- JSON_URL = 'https://api.github.com/repos/minetest/minetest/releases'
|
||||||
- EXT_USER = 'minetest'
|
- JSON_PATH = 'first(.[] | select(.tag_name | contains("android") | not)) | .tag_name'
|
||||||
- EXT_REPO = 'minetest'
|
|
||||||
- BUILD_VERSION_ARG = 'MINETEST_RELEASE'
|
- BUILD_VERSION_ARG = 'MINETEST_RELEASE'
|
||||||
- LS_USER = 'linuxserver'
|
- LS_USER = 'linuxserver'
|
||||||
- LS_REPO = 'docker-minetest'
|
- LS_REPO = 'docker-minetest'
|
||||||
|
@ -26,7 +26,7 @@ param_env_vars:
|
|||||||
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
|
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
|
||||||
param_usage_include_vols: true
|
param_usage_include_vols: true
|
||||||
param_volumes:
|
param_volumes:
|
||||||
- { vol_path: "/config/.minetest", vol_host_path: "<path to data>", desc: "Where minetest stores config files and maps etc." }
|
- { vol_path: "/config/.minetest", vol_host_path: "/path/to/data", desc: "Where minetest stores config files and maps etc." }
|
||||||
param_usage_include_ports: true
|
param_usage_include_ports: true
|
||||||
param_ports:
|
param_ports:
|
||||||
- { external_port: "30000", internal_port: "30000/udp", port_desc: "Port Minetest listens on." }
|
- { external_port: "30000", internal_port: "30000/udp", port_desc: "Port Minetest listens on." }
|
||||||
@ -49,6 +49,7 @@ app_setup_block: |
|
|||||||
https://hub.docker.com/r/linuxserver/{{ project_name }}/tags
|
https://hub.docker.com/r/linuxserver/{{ project_name }}/tags
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
|
- { date: "19.01.21:", desc: "Rebasing to alpine 3.15." }
|
||||||
- { date: "02.06.20:", desc: "Rebasing to alpine 3.12." }
|
- { date: "02.06.20:", desc: "Rebasing to alpine 3.12." }
|
||||||
- { date: "19.12.19:", desc: "Rebasing to alpine 3.11." }
|
- { date: "19.12.19:", desc: "Rebasing to alpine 3.11." }
|
||||||
- { date: "12.07.19:", desc: "Bugfix to support multiple CLI variables." }
|
- { date: "12.07.19:", desc: "Bugfix to support multiple CLI variables." }
|
||||||
|
@ -2,18 +2,18 @@
|
|||||||
|
|
||||||
# make our folders
|
# make our folders
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/config/.minetest/games \
|
/config/.minetest/games \
|
||||||
/config/.minetest/mods \
|
/config/.minetest/mods \
|
||||||
/config/.minetest/main-config
|
/config/.minetest/main-config
|
||||||
|
|
||||||
if [ ! -f "/config/.minetest/main-config/minetest.conf" ]; then
|
if [ ! -f "/config/.minetest/main-config/minetest.conf" ]; then
|
||||||
cp /defaults/minetest.conf /config/.minetest/main-config/minetest.conf
|
cp /defaults/minetest.conf /config/.minetest/main-config/minetest.conf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d "/config/.minetest/games/minimal" ]; then
|
if [ ! -d "/config/.minetest/games/minimal" ]; then
|
||||||
cp -pr /defaults/games/* /config/.minetest/games/
|
cp -pr /defaults/games/* /config/.minetest/games/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# permissions
|
# permissions
|
||||||
chown -R abc:abc \
|
chown -R abc:abc \
|
||||||
/config
|
/config
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/with-contenv bash
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
exec \
|
exec \
|
||||||
s6-setuidgid abc minetestserver ${CLI_ARGS} \
|
s6-setuidgid abc minetestserver ${CLI_ARGS} \
|
||||||
--config /config/.minetest/main-config/minetest.conf --port 30000
|
--config /config/.minetest/main-config/minetest.conf --port 30000
|
||||||
|
Loading…
x
Reference in New Issue
Block a user