Merge branch 'develop'

This commit is contained in:
STAM 2023-07-01 16:12:11 +03:00
commit 82be447f0d
Signed by: stam
GPG Key ID: 4F57E51F9C45F8CD
13 changed files with 442 additions and 9 deletions

View File

@ -470,7 +470,8 @@ ecosystem-gitlab-runner-images:
cd `pwd`/linux/ecosystem/gitlab/runner/latest && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/gitlab/runner/amxx-sdk/1.9 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/gitlab/runner/amxx-sdk/1.10 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/gitlab/runner/android-sdk && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/gitlab/runner/android-sdk/jdk11 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/gitlab/runner/android-sdk/jdk17 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/gitlab/runner/atlassian-sdk && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/gitlab/runner/dotnet-sdk && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/gitlab/runner/node10 && pwd && make build && make deploy

View File

@ -5,21 +5,34 @@ ARG DEBIAN_FRONTEND=noninteractive
ENV ANDROID_HOME=/usr/lib/android-sdk
ENV ANDROID_SDK_ROOT=/usr/lib/android-sdk
ENV GRADLE_VERSION=7.4.2
ENV GRADLE_VERSION=8.2
ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip
ENV GRADLE_ROOT=/opt/gradle
ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION}
ENV GRADLE_BIN=$GRADLE_PATH/bin
ARG GRADLE_TEMP=/tmp/gradle.zip
ENV KTC_VERSION=1.6.21
ENV KTC_VERSION=1.8.22
ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip
ARG KTC_TEMP=/tmp/kotlinc.tgz
ENV KTC_ROOT=/opt/kotlin
ENV KTC_PATH=${KTC_ROOT}/kotlinc
ENV KTC_BIN=$KTC_PATH/bin
ENV PATH=PATH=$PATH:$GRADLE_BIN:${KTC_BIN}
ENV PATH=$PATH:${GRADLE_BIN}:${KTC_BIN}
##################################################################
# installing java11
##################################################################
RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | apt-key add - && \
echo 'deb https://packages.adoptium.net/artifactory/deb bullseye main' > /etc/apt/sources.list.d/temurin-official.list && \
apt-get update && \
apt-get autoremove -y && \
apt-get install -y --allow-unauthenticated temurin-11-jdk && \
mkdir /usr/lib/jvm/temurin-11-jdk-amd64/jre && \
ln -s /usr/lib/jvm/temurin-11-jdk-amd64/bin/ /usr/lib/jvm/temurin-11-jdk-amd64/jre/bin && \
ln -s /usr/lib/jvm/temurin-11-jdk-amd64/lib/ /usr/lib/jvm/temurin-11-jdk-amd64/jre/lib && \
java -version
##################################################################
# Android SDK
@ -51,7 +64,7 @@ RUN mkdir -p ${KTC_PATH}
RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP}
RUN 7zz x $KTC_TEMP -o$KTC_ROOT
RUN chmod +x -R ${KTC_BIN}
RUN kotlinc -version
RUN kotlin -version
##################################################################
# cleaninig up

View File

@ -0,0 +1,6 @@
version: '3.9'
services:
app:
image: "epicmorg/gitlab-runner:android-sdk-jdk11"
build:
context: .

View File

@ -0,0 +1,77 @@
FROM epicmorg/gitlab-runner:latest
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
ENV ANDROID_HOME=/usr/lib/android-sdk
ENV ANDROID_SDK_ROOT=/usr/lib/android-sdk
ENV GRADLE_VERSION=8.2
ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip
ENV GRADLE_ROOT=/opt/gradle
ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION}
ENV GRADLE_BIN=$GRADLE_PATH/bin
ARG GRADLE_TEMP=/tmp/gradle.zip
ENV KTC_VERSION=1.8.22
ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip
ARG KTC_TEMP=/tmp/kotlinc.tgz
ENV KTC_ROOT=/opt/kotlin
ENV KTC_PATH=${KTC_ROOT}/kotlinc
ENV KTC_BIN=$KTC_PATH/bin
ENV PATH=$PATH:${GRADLE_BIN}:${KTC_BIN}
##################################################################
# installing java17
##################################################################
RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | apt-key add - && \
echo 'deb https://packages.adoptium.net/artifactory/deb bullseye main' > /etc/apt/sources.list.d/temurin-official.list && \
apt-get update && \
apt-get autoremove -y && \
apt-get install -y --allow-unauthenticated temurin-17-jdk && \
mkdir /usr/lib/jvm/temurin-17-jdk-amd64/jre && \
ln -s /usr/lib/jvm/temurin-17-jdk-amd64/bin/ /usr/lib/jvm/temurin-17-jdk-amd64/jre/bin && \
ln -s /usr/lib/jvm/temurin-17-jdk-amd64/lib/ /usr/lib/jvm/temurin-17-jdk-amd64/jre/lib && \
java -version
##################################################################
# Android SDK
##################################################################
RUN apt update && \
apt install -y --allow-unauthenticated \
android-sdk \
android-sdk-build-tools \
android-sdk-platform-tools-common \
android-sdk-platform-tools \
adb fastboot f2fs-tools e2fsprogs libsqlite3-0 sqlite3
# Activate android sdk
RUN echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > /usr/lib/android-sdk/licenses/android-sdk-license
##################################################################
# GRADLE
##################################################################
RUN mkdir -p $GRADLE_PATH
RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP
RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT
RUN chmod +x -R $GRADLE_BIN
RUN gradle -v
##################################################################
# KOTLIN
##################################################################
RUN mkdir -p ${KTC_PATH}
RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP}
RUN 7zz x $KTC_TEMP -o$KTC_ROOT
RUN chmod +x -R ${KTC_BIN}
RUN kotlin -version
##################################################################
# cleaninig up
##################################################################
RUN apt clean -y && \
apt-get clean all && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /tmp/*

View File

@ -0,0 +1,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -4,3 +4,8 @@ services:
image: "epicmorg/gitlab-runner:android-sdk"
build:
context: .
app-jdk17:
image: "epicmorg/gitlab-runner:android-sdk-jdk17"
build:
context: .

View File

@ -0,0 +1,312 @@
#!/bin/bash
#
# Copyright 2017 Marco Vermeulen
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# install:- channel: stable; cliVersion: 5.15.0; cliNativeVersion: NA; api: https://api.sdkman.io/2
# Global variables
SDKMAN_SERVICE="https://api.sdkman.io/2"
SDKMAN_VERSION="5.15.0"
SDKMAN_PLATFORM=$(uname)
if [ -z "$SDKMAN_DIR" ]; then
SDKMAN_DIR="$HOME/.sdkman"
SDKMAN_DIR_RAW='$HOME/.sdkman'
else
SDKMAN_DIR_RAW="$SDKMAN_DIR"
fi
# Local variables
sdkman_tmp_folder="${SDKMAN_DIR}/tmp"
sdkman_zip_file="${sdkman_tmp_folder}/sdkman-${SDKMAN_VERSION}.zip"
sdkman_zip_base_folder="${sdkman_tmp_folder}/sdkman-${SDKMAN_VERSION}"
sdkman_ext_folder="${SDKMAN_DIR}/ext"
sdkman_etc_folder="${SDKMAN_DIR}/etc"
sdkman_var_folder="${SDKMAN_DIR}/var"
sdkman_archives_folder="${SDKMAN_DIR}/archives"
sdkman_candidates_folder="${SDKMAN_DIR}/candidates"
sdkman_config_file="${sdkman_etc_folder}/config"
sdkman_bash_profile="${HOME}/.bash_profile"
sdkman_profile="${HOME}/.profile"
sdkman_bashrc="${HOME}/.bashrc"
sdkman_zshrc="${ZDOTDIR:-${HOME}}/.zshrc"
sdkman_init_snippet=$( cat << EOF
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="$SDKMAN_DIR_RAW"
[[ -s "${SDKMAN_DIR_RAW}/bin/sdkman-init.sh" ]] && source "${SDKMAN_DIR_RAW}/bin/sdkman-init.sh"
EOF
)
# OS specific support (must be 'true' or 'false').
cygwin=false;
darwin=false;
solaris=false;
freebsd=false;
case "$(uname)" in
CYGWIN*)
cygwin=true
;;
Darwin*)
darwin=true
;;
SunOS*)
solaris=true
;;
FreeBSD*)
freebsd=true
esac
echo ''
echo ' -+syyyyyyys:'
echo ' `/yho:` -yd.'
echo ' `/yh/` +m.'
echo ' .oho. hy .`'
echo ' .sh/` :N` `-/o` `+dyyo:.'
echo ' .yh:` `M- `-/osysoym :hs` `-+sys: hhyssssssssy+'
echo ' .sh:` `N: ms/-`` yy.yh- -hy. `.N-````````+N.'
echo ' `od/` `N- -/oM- ddd+` `sd: hNNm -N:'
echo ' :do` .M. dMMM- `ms. /d+` `NMMs `do'
echo ' .yy- :N` ```mMMM. - -hy. /MMM: yh'
echo ' `+d+` `:/oo/` `-/osyh/ossssssdNMM` .sh: yMMN` /m.'
echo ' -dh- :ymNMMMMy `-/shmNm-`:N/-.`` `.sN /N- `NMMy .m/'
echo ' `oNs` -hysosmMMMMydmNmds+-.:ohm : sd` :MMM/ yy'
echo ' .hN+ /d: -MMMmhs/-.` .MMMh .ss+- `yy` sMMN` :N.'
echo ' :mN/ `N/ `o/-` :MMMo +MMMN- .` `ds mMMh do'
echo ' /NN/ `N+....--:/+oooosooo+:sMMM: hMMMM: `my .m+ -MMM+ :N.'
echo ' /NMo -+ooooo+/:-....`...:+hNMN. `NMMMd` .MM/ -m: oMMN. hs'
echo ' -NMd` :mm -MMMm- .s/ -MMm. /m- mMMd -N.'
echo ' `mMM/ .- /MMh. -dMo -MMMy od. .MMMs..---yh'
echo ' +MMM. sNo`.sNMM+ :MMMM/ sh`+MMMNmNm+++-'
echo ' mMMM- /--ohmMMM+ :MMMMm. `hyymmmdddo'
echo ' MMMMh. ```` `-+yy/`yMMM/ :MMMMMy -sm:.``..-:-.`'
echo ' dMMMMmo-.``````..-:/osyhddddho. `+shdh+. hMMM: :MmMMMM/ ./yy/` `:sys+/+sh/'
echo ' .dMMMMMMmdddddmmNMMMNNNNNMMMMMs sNdo- dMMM- `-/yd/MMMMm-:sy+. :hs- /N`'
echo ' `/ymNNNNNNNmmdys+/::----/dMMm: +m- mMMM+ohmo/.` sMMMMdo- .om: `sh'
echo ' `.-----+/.` `.-+hh/` `od. NMMNmds/ `mmy:` +mMy `:yy.'
echo ' /moyso+//+ossso:. .yy` `dy+:` .. :MMMN+---/oys:'
echo ' /+m: `.-:::-` /d+ +MMMMMMMNh:`'
echo ' +MN/ -yh. `+hddhy+.'
echo ' /MM+ .sh:'
echo ' :NMo -sh/'
echo ' -NMs `/yy:'
echo ' .NMy `:sh+.'
echo ' `mMm` ./yds-'
echo ' `dMMMmyo:-.````.-:oymNy:`'
echo ' +NMMMMMMMMMMMMMMMMms:`'
echo ' -+shmNMMMNmdy+:`'
echo ''
echo ''
echo ' Now attempting installation...'
echo ''
echo ''
# Sanity checks
echo "Looking for a previous installation of SDKMAN..."
if [ -d "$SDKMAN_DIR" ]; then
echo "SDKMAN found."
echo ""
echo "======================================================================================================"
echo " You already have SDKMAN installed."
echo " SDKMAN was found at:"
echo ""
echo " ${SDKMAN_DIR}"
echo ""
echo " Please consider running the following if you need to upgrade."
echo ""
echo " $ sdk selfupdate force"
echo ""
echo "======================================================================================================"
echo ""
exit 0
fi
echo "Looking for unzip..."
if ! command -v unzip > /dev/null; then
echo "Not found."
echo "======================================================================================================"
echo " Please install unzip on your system using your favourite package manager."
echo ""
echo " Restart after installing unzip."
echo "======================================================================================================"
echo ""
exit 1
fi
echo "Looking for zip..."
if ! command -v zip > /dev/null; then
echo "Not found."
echo "======================================================================================================"
echo " Please install zip on your system using your favourite package manager."
echo ""
echo " Restart after installing zip."
echo "======================================================================================================"
echo ""
exit 1
fi
echo "Looking for curl..."
if ! command -v curl > /dev/null; then
echo "Not found."
echo ""
echo "======================================================================================================"
echo " Please install curl on your system using your favourite package manager."
echo ""
echo " Restart after installing curl."
echo "======================================================================================================"
echo ""
exit 1
fi
if [[ "$solaris" == true ]]; then
echo "Looking for gsed..."
if [ -z $(which gsed) ]; then
echo "Not found."
echo ""
echo "======================================================================================================"
echo " Please install gsed on your solaris system."
echo ""
echo " SDKMAN uses gsed extensively."
echo ""
echo " Restart after installing gsed."
echo "======================================================================================================"
echo ""
exit 1
fi
else
echo "Looking for sed..."
if [ -z $(command -v sed) ]; then
echo "Not found."
echo ""
echo "======================================================================================================"
echo " Please install sed on your system using your favourite package manager."
echo ""
echo " Restart after installing sed."
echo "======================================================================================================"
echo ""
exit 1
fi
fi
echo "Installing SDKMAN scripts..."
# Create directory structure
echo "Create distribution directories..."
mkdir -p "$sdkman_tmp_folder"
mkdir -p "$sdkman_ext_folder"
mkdir -p "$sdkman_etc_folder"
mkdir -p "$sdkman_var_folder"
mkdir -p "$sdkman_archives_folder"
mkdir -p "$sdkman_candidates_folder"
echo "Getting available candidates..."
SDKMAN_CANDIDATES_CSV=$(curl -s "${SDKMAN_SERVICE}/candidates/all")
echo "$SDKMAN_CANDIDATES_CSV" > "${SDKMAN_DIR}/var/candidates"
echo "Prime the config file..."
touch "$sdkman_config_file"
echo "sdkman_auto_answer=false" >> "$sdkman_config_file"
if [ -z "$ZSH_VERSION" -a -z "$BASH_VERSION" ]; then
echo "sdkman_auto_complete=false" >> "$sdkman_config_file"
else
echo "sdkman_auto_complete=true" >> "$sdkman_config_file"
fi
echo "sdkman_auto_env=false" >> "$sdkman_config_file"
echo "sdkman_auto_update=true" >> "$sdkman_config_file"
echo "sdkman_beta_channel=false" >> "$sdkman_config_file"
echo "sdkman_checksum_enable=true" >> "$sdkman_config_file"
echo "sdkman_colour_enable=true" >> "$sdkman_config_file"
echo "sdkman_curl_connect_timeout=7" >> "$sdkman_config_file"
echo "sdkman_curl_max_time=10" >> "$sdkman_config_file"
echo "sdkman_debug_mode=false" >> "$sdkman_config_file"
echo "sdkman_insecure_ssl=false" >> "$sdkman_config_file"
echo "sdkman_rosetta2_compatible=false" >> "$sdkman_config_file"
echo "sdkman_selfupdate_feature=true" >> "$sdkman_config_file"
echo "Download script archive..."
curl --location --progress-bar "${SDKMAN_SERVICE}/broker/download/sdkman/install/${SDKMAN_VERSION}/${SDKMAN_PLATFORM}" > "$sdkman_zip_file"
ARCHIVE_OK=$(unzip -qt "$sdkman_zip_file" | grep 'No errors detected in compressed data')
if [[ -z "$ARCHIVE_OK" ]]; then
echo "Downloaded zip archive corrupt. Are you connected to the internet?"
echo ""
echo "If problems persist, please ask for help on our Slack:"
echo "* easy sign up: https://slack.sdkman.io/"
echo "* report on channel: https://sdkman.slack.com/app_redirect?channel=user-issues"
rm -rf "$SDKMAN_DIR"
exit 1
fi
echo "Extract script archive..."
if [[ "$cygwin" == 'true' ]]; then
echo "Cygwin detected - normalizing paths for unzip..."
sdkman_tmp_folder=$(cygpath -w "$sdkman_tmp_folder")
sdkman_zip_file=$(cygpath -w "$sdkman_zip_file")
sdkman_zip_base_folder=$(cygpath -w "$sdkman_zip_base_folder")
fi
unzip -qo "$sdkman_zip_file" -d "$sdkman_tmp_folder"
echo "Install scripts..."
mv "${sdkman_zip_base_folder}/"* "$SDKMAN_DIR"
rm -rf "$sdkman_zip_base_folder"
echo "Set version to $SDKMAN_VERSION ..."
echo "$SDKMAN_VERSION" > "${SDKMAN_DIR}/var/version"
if [[ $darwin == true ]]; then
touch "$sdkman_bash_profile"
echo "Attempt update of login bash profile on OSX..."
if [[ -z $(grep 'sdkman-init.sh' "$sdkman_bash_profile") ]]; then
echo -e "\n$sdkman_init_snippet" >> "$sdkman_bash_profile"
echo "Added sdkman init snippet to $sdkman_bash_profile"
fi
else
echo "Attempt update of interactive bash profile on regular UNIX..."
touch "${sdkman_bashrc}"
if [[ -z $(grep 'sdkman-init.sh' "$sdkman_bashrc") ]]; then
echo -e "\n$sdkman_init_snippet" >> "$sdkman_bashrc"
echo "Added sdkman init snippet to $sdkman_bashrc"
fi
fi
echo "Attempt update of zsh profile..."
touch "$sdkman_zshrc"
if [[ -z $(grep 'sdkman-init.sh' "$sdkman_zshrc") ]]; then
echo -e "\n$sdkman_init_snippet" >> "$sdkman_zshrc"
echo "Updated existing ${sdkman_zshrc}"
fi
echo -e "\n\n\nAll done!\n\n"
echo "You are subscribed to the STABLE channel."
echo ""
echo "Please open a new terminal, or run the following in the existing one:"
echo ""
echo " source \"${SDKMAN_DIR}/bin/sdkman-init.sh\""
echo ""
echo "Then issue the following command:"
echo ""
echo " sdk help"
echo ""
echo "Enjoy!!!"

View File

@ -19,7 +19,7 @@ ENV KTC_ROOT=/opt/kotlin
ENV KTC_PATH=${KTC_ROOT}/kotlinc
ENV KTC_BIN=$KTC_PATH/bin
ENV PATH=PATH=$PATH:$GRADLE_BIN:${KTC_BIN}
ENV PATH=$PATH:${GRADLE_BIN}:${KTC_BIN}
##################################################################
# Android SDK
@ -51,7 +51,7 @@ RUN mkdir -p ${KTC_PATH}
RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP}
RUN 7zz x $KTC_TEMP -o$KTC_ROOT
RUN chmod +x -R ${KTC_BIN}
RUN kotlinc -version
RUN kotlin -version
##################################################################
# cleaninig up

View File

@ -19,7 +19,7 @@ ENV KTC_ROOT=/opt/kotlin
ENV KTC_PATH=${KTC_ROOT}/kotlinc
ENV KTC_BIN=$KTC_PATH/bin
ENV PATH=PATH=$PATH:$GRADLE_BIN:${KTC_BIN}
ENV PATH=$PATH:${GRADLE_BIN}:${KTC_BIN}
##################################################################
# Android SDK
@ -51,7 +51,7 @@ RUN mkdir -p ${KTC_PATH}
RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP}
RUN 7zz x $KTC_TEMP -o$KTC_ROOT
RUN chmod +x -R ${KTC_BIN}
RUN kotlinc -version
RUN kotlin -version
##################################################################
# cleaninig up