rebase to alpine 3.15, fix ci trigger

This commit is contained in:
aptalca 2022-01-19 14:23:20 -05:00
parent 54f8fefa86
commit 6314a7bab0
8 changed files with 86 additions and 89 deletions

View File

@ -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"

View File

@ -1,11 +1,11 @@
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" \
@ -29,6 +29,8 @@ RUN \
hiredis-dev \ hiredis-dev \
icu-dev \ icu-dev \
irrlicht-dev \ irrlicht-dev \
jq \
leveldb-dev \
libjpeg-turbo-dev \ libjpeg-turbo-dev \
libogg-dev \ libogg-dev \
libpng-dev \ libpng-dev \
@ -42,9 +44,6 @@ RUN \
openal-soft-dev \ openal-soft-dev \
python3-dev \ python3-dev \
sqlite-dev && \ sqlite-dev && \
apk add --no-cache --virtual=build-dependencies-2 \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
leveldb-dev && \
echo "**** install runtime packages ****" && \ echo "**** install runtime packages ****" && \
apk add --no-cache \ apk add --no-cache \
curl \ curl \
@ -69,8 +68,8 @@ RUN \
make install && \ make install && \
echo "**** compile minetestserver ****" && \ echo "**** compile minetestserver ****" && \
if [ -z ${MINETEST_RELEASE+x} ]; then \ if [ -z ${MINETEST_RELEASE+x} ]; then \
MINETEST_RELEASE=$(curl -sX GET "https://api.github.com/repos/minetest/minetest/releases/latest" \ MINETEST_RELEASE=$(curl -sX GET "https://api.github.com/repos/minetest/minetest/releases" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \ | jq -r 'first(.[] | select(.tag_name | contains("android") | not)) | .tag_name'); \
fi && \ fi && \
mkdir -p \ mkdir -p \
/tmp/minetest && \ /tmp/minetest && \
@ -122,8 +121,6 @@ RUN \
echo "**** cleanup ****" && \ echo "**** cleanup ****" && \
apk del --purge \ apk del --purge \
build-dependencies && \ build-dependencies && \
apk del --purge \
build-dependencies-2 && \
rm -rf \ rm -rf \
/tmp/* /tmp/*

View File

@ -1,11 +1,11 @@
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" \
@ -29,6 +29,8 @@ RUN \
hiredis-dev \ hiredis-dev \
icu-dev \ icu-dev \
irrlicht-dev \ irrlicht-dev \
jq \
leveldb-dev \
libjpeg-turbo-dev \ libjpeg-turbo-dev \
libogg-dev \ libogg-dev \
libpng-dev \ libpng-dev \
@ -42,9 +44,6 @@ RUN \
openal-soft-dev \ openal-soft-dev \
python3-dev \ python3-dev \
sqlite-dev && \ sqlite-dev && \
apk add --no-cache --virtual=build-dependencies-2 \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
leveldb-dev && \
echo "**** install runtime packages ****" && \ echo "**** install runtime packages ****" && \
apk add --no-cache \ apk add --no-cache \
curl \ curl \
@ -69,8 +68,8 @@ RUN \
make install && \ make install && \
echo "**** compile minetestserver ****" && \ echo "**** compile minetestserver ****" && \
if [ -z ${MINETEST_RELEASE+x} ]; then \ if [ -z ${MINETEST_RELEASE+x} ]; then \
MINETEST_RELEASE=$(curl -sX GET "https://api.github.com/repos/minetest/minetest/releases/latest" \ MINETEST_RELEASE=$(curl -sX GET "https://api.github.com/repos/minetest/minetest/releases" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \ | jq -r 'first(.[] | select(.tag_name | contains("android") | not)) | .tag_name'); \
fi && \ fi && \
mkdir -p \ mkdir -p \
/tmp/minetest && \ /tmp/minetest && \
@ -122,8 +121,6 @@ RUN \
echo "**** cleanup ****" && \ echo "**** cleanup ****" && \
apk del --purge \ apk del --purge \
build-dependencies && \ build-dependencies && \
apk del --purge \
build-dependencies-2 && \
rm -rf \ rm -rf \
/tmp/* /tmp/*

View File

@ -1,11 +1,11 @@
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" \
@ -29,6 +29,8 @@ RUN \
hiredis-dev \ hiredis-dev \
icu-dev \ icu-dev \
irrlicht-dev \ irrlicht-dev \
jq \
leveldb-dev \
libjpeg-turbo-dev \ libjpeg-turbo-dev \
libogg-dev \ libogg-dev \
libpng-dev \ libpng-dev \
@ -42,9 +44,6 @@ RUN \
openal-soft-dev \ openal-soft-dev \
python3-dev \ python3-dev \
sqlite-dev && \ sqlite-dev && \
apk add --no-cache --virtual=build-dependencies-2 \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
leveldb-dev && \
echo "**** install runtime packages ****" && \ echo "**** install runtime packages ****" && \
apk add --no-cache \ apk add --no-cache \
curl \ curl \
@ -69,8 +68,8 @@ RUN \
make install && \ make install && \
echo "**** compile minetestserver ****" && \ echo "**** compile minetestserver ****" && \
if [ -z ${MINETEST_RELEASE+x} ]; then \ if [ -z ${MINETEST_RELEASE+x} ]; then \
MINETEST_RELEASE=$(curl -sX GET "https://api.github.com/repos/minetest/minetest/releases/latest" \ MINETEST_RELEASE=$(curl -sX GET "https://api.github.com/repos/minetest/minetest/releases" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \ | jq -r 'first(.[] | select(.tag_name | contains("android") | not)) | .tag_name'); \
fi && \ fi && \
mkdir -p \ mkdir -p \
/tmp/minetest && \ /tmp/minetest && \
@ -122,8 +121,6 @@ RUN \
echo "**** cleanup ****" && \ echo "**** cleanup ****" && \
apk del --purge \ apk del --purge \
build-dependencies && \ build-dependencies && \
apk del --purge \
build-dependencies-2 && \
rm -rf \ rm -rf \
/tmp/* /tmp/*

112
Jenkinsfile vendored
View File

@ -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'''

View File

@ -29,6 +29,7 @@ Find us at:
# [linuxserver/minetest](https://github.com/linuxserver/docker-minetest) # [linuxserver/minetest](https://github.com/linuxserver/docker-minetest)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fminetest?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh/gateway/linuxserver-ci/docker/linuxserver%2Fminetest)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-minetest.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-minetest) [![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-minetest.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-minetest)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-minetest.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-minetest/releases) [![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-minetest.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-minetest/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-minetest/packages) [![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](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.

View File

@ -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'

View File

@ -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." }