Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
7fc6bb5
Add compilation support for nsProcess
ann0see Feb 6, 2021
b22fc95
Use older version of Qt
ann0see Feb 7, 2021
e4a12d1
unified autobuild github-action
Feb 9, 2021
3732f00
stub for windows build docker
Feb 9, 2021
addc12f
Use Qt5.9.9 to compile on macOS
ann0see Feb 10, 2021
492d681
Apply styling changes
ann0see Feb 10, 2021
a933b7a
Add a line break
ann0see Feb 10, 2021
46ad3e0
Add NSIS COPYING file
ann0see Feb 11, 2021
81ebb78
Merge remote-tracking branch 'x_github_ann0see/nsProcessCompile' into…
Feb 12, 2021
3eb2f20
Merge remote-tracking branch 'x_github_ann0see/UseOlderQt' into autob…
Feb 12, 2021
a0a2f12
autobuild improved (single github-action, harmonized autobuild)
Feb 12, 2021
efdf5e6
Merge remote-tracking branch 'x_github_corrados/master' into autobuil…
Feb 13, 2021
cb7e007
rework based on PR-comments (style & comments)
Feb 13, 2021
cede26f
code style: spaces, not tabs
Feb 13, 2021
27c1f4c
small fix
Feb 13, 2021
2bbb314
enable the autobuild for master branch
Feb 13, 2021
bdab2dd
disable Flatpak-build
Feb 13, 2021
435f8d9
fix workflow file
Feb 14, 2021
31fe6fb
remove obsolete comment
Feb 14, 2021
0a45a8f
change spacing (code style)
Feb 14, 2021
10152e5
quote path variables
Feb 14, 2021
c8a5603
Add quotes
ann0see Feb 15, 2021
5fc79f8
remove flatpak build
Feb 16, 2021
7af739f
move autobuild folders
Feb 16, 2021
a94950c
move duplicated code to one file, fixing bash & chmod
Feb 17, 2021
758ed16
remove build for latest-tag
Feb 16, 2021
95102be
artifacts+codeQL in one action for Linux
Feb 16, 2021
89f68fb
Merge remote-tracking branch 'upst/master' into autobuild/stable2
ann0see Feb 18, 2021
638f63a
Add quotes
ann0see Feb 18, 2021
edf66a6
Remove flatpak prepare script
ann0see Feb 18, 2021
408b985
Make files executable
ann0see Feb 18, 2021
b2ac9e5
rework
Feb 18, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 16 additions & 9 deletions .github/actions_scripts/analyse_git_reference.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

import sys
import os
import subprocess

# get the jamulus version from the .pro file
def get_jamulus_version(repo_path_on_disk):
Expand All @@ -28,6 +29,10 @@ def get_jamulus_version(repo_path_on_disk):
return jamulus_version
return "UNKNOWN_VERSION"

def get_git_hash():
return subprocess.check_output(['git', 'describe', '--match=xxxxxxxxxxxxxxxxxxxx', '--always', '--abbrev', '--dirty']).decode('ascii').strip()
#return subprocess.check_output(['git', 'rev-parse', 'HEAD'])
#return subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD'])

if len(sys.argv) == 1:
pass
Expand All @@ -41,7 +46,15 @@ def get_jamulus_version(repo_path_on_disk):
repo_path_on_disk = os.environ['GITHUB_WORKSPACE']

# derive git related variables
release_version_name = get_jamulus_version(repo_path_on_disk)
version_from_changelog = get_jamulus_version(repo_path_on_disk)
if "dev" in version_from_changelog:
release_version_name = "{}-{}".format(version_from_changelog, get_git_hash())
print("building an intermediate version: ", release_version_name)
else:
release_version_name = version_from_changelog
print("building a release version: ", release_version_name)


fullref=os.environ['GITHUB_REF']
reflist = fullref.split("/", 2)
pushed_name = reflist[2]
Expand All @@ -51,7 +64,7 @@ def get_jamulus_version(repo_path_on_disk):
os.system('perl "{}"/.github/actions_scripts/getChangelog.pl "{}"/ChangeLog "{}" > "{}"/autoLatestChangelog.md'.format(
os.environ['GITHUB_WORKSPACE'],
os.environ['GITHUB_WORKSPACE'],
release_version_name,
version_from_changelog,
os.environ['GITHUB_WORKSPACE']
))

Expand All @@ -74,13 +87,6 @@ def get_jamulus_version(repo_path_on_disk):
print('this reference is a Non-Release-Tag')
publish_to_release = False
is_prerelease = True # just in case

if pushed_name == "latest":
print('this reference is a Latest-Tag')
publish_to_release = True
is_prerelease = False
release_version_name = "latest"
release_title='Release "latest"'
elif fullref.startswith("refs/heads/"):
print('this reference is a Head/Branch')
publish_to_release = False
Expand All @@ -107,3 +113,4 @@ def set_github_variable(varname, varval):
set_github_variable("PUSHED_NAME", pushed_name)
set_github_variable("JAMULUS_VERSION", release_version_name)
set_github_variable("RELEASE_VERSION_NAME", release_version_name)
set_github_variable("X_GITHUB_WORKSPACE", os.environ['GITHUB_WORKSPACE'])
227 changes: 145 additions & 82 deletions .github/workflows/autobuild.yml

Large diffs are not rendered by default.

87 changes: 0 additions & 87 deletions .github/workflows/codeql-analysis.yml

This file was deleted.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ windows/VC_redist.x64.exe
windows/vc_redist.x86.exe
windows/nsProcess.dll
windows/NSIS
windows/nsProcess/Release/
debug/
release/
build/
Expand Down
6 changes: 0 additions & 6 deletions android/automated_build/build_qt_project.sh

This file was deleted.

File renamed without changes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

"${QTDIR}"/bin/qmake -spec android-clang CONFIG+="${CONFIG}"
/opt/android/android-ndk/prebuilt/linux-x86_64/bin/make
"${ANDROID_NDK_ROOT}"/prebuilt/"${ANDROID_NDK_HOST}"/bin/make INSTALL_ROOT=android-build -f Makefile install
"${QTDIR}"/bin/androiddeployqt --input $(ls *.json) --output android-build --android-platform android-30 --jdk "${JAVA_HOME}" --gradle
File renamed without changes.
99 changes: 99 additions & 0 deletions autobuild/android/autobuild_apk_1_prepare.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
#!/bin/sh -e

# autobuild_1_prepare: set up environment, install Qt & dependencies


###################
### PROCEDURE ###
###################

#FROM ubuntu:18.04
#based on https://gitlab.com/vikingsoftware/qt5.12.4androiddocker
#LABEL "Maintainer"="Guenter Schwann"
#LABEL "version"="0.3"

export DEBIAN_FRONTEND="noninteractive"
echo "::set-env name=DEBIAN_FRONTEND::${DEBIAN_FRONTEND}"

sudo apt-get update
Comment thread
ann0see marked this conversation as resolved.
sudo apt-get -qq -y install build-essential git zip unzip bzip2 p7zip-full wget curl chrpath libxkbcommon-x11-0
# Dependencies to create Android pkg
sudo apt-get -qq -y install openjdk-8-jre openjdk-8-jdk openjdk-8-jdk-headless gradle
# Clean apt cache
sudo apt-get clean
rm -rf /var/lib/apt/lists/*

# Add Android tools and platform tools to PATH
export ANDROID_HOME="/opt/android/android-sdk"
export ANDROID_SDK_ROOT="/opt/android/android-sdk"
export ANDROID_NDK_ROOT="/opt/android/android-ndk"

export PATH="${PATH}:${ANDROID_HOME}/tools"
export PATH="${PATH}:${ANDROID_HOME}/platform-tools"
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/"

# other variables
export MY_QT_VERSION="5.15.2"
export ANDROID_NDK_HOST="linux-x86_64"
export ANDROID_SDKMANAGER="${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager"

# paths for Android SDK
mkdir -p "${ANDROID_SDK_ROOT}"/cmdline-tools/latest/
mkdir -p "${ANDROID_SDK_ROOT}"/build-tools/latest/

# Install Android sdk
#https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip
#https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
downloadfile="downloadfile"
wget -q -O downloadfile https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip
unzip -q downloadfile
rm downloadfile
mv cmdline-tools/* /opt/android/android-sdk/cmdline-tools/latest/
rm -r cmdline-tools

# Install Android ndk
#https://dl.google.com/android/repository/android-ndk-r19c-linux-x86_64.zip
#https://dl.google.com/android/repository/android-ndk-r21d-linux-x86_64.zip
downloadfile="downloadfile"
wget -q -O downloadfile https://dl.google.com/android/repository/android-ndk-r21d-linux-x86_64.zip
unzip -q downloadfile
rm downloadfile
mv android-ndk-r21d /opt/android/android-ndk


# Install Android SDK
yes | "${ANDROID_SDKMANAGER}" --licenses
#echo yes | $ANDROID_SDKMANAGER --licenses
"${ANDROID_SDKMANAGER}" --update
#$ANDROID_SDKMANAGER "platforms;android-17"
#$ANDROID_SDKMANAGER "platforms;android-28"
"${ANDROID_SDKMANAGER}" "platforms;android-30"
#$ANDROID_SDKMANAGER "build-tools;28.0.3"
"${ANDROID_SDKMANAGER}" "build-tools;30.0.2"



# Download / install Qt
####ADD https://code.qt.io/cgit/qbs/qbs.git/plain/scripts/install-qt.sh ./
#COPY install-qt.sh /install-qt.sh
THIS_SCRIPT=$(readlink -f "${0}")
# Absolute path this script is in, thus /home/user/bin
THIS_SCRIPT_PATH=$(dirname "${THIS_SCRIPT}")
bash "${THIS_SCRIPT_PATH}"/install-qt.sh --version "${MY_QT_VERSION}" --target android --toolchain android qtbase qt3d qtdeclarative qtandroidextras qtconnectivity qtgamepad qtlocation qtmultimedia qtquickcontrols2 qtremoteobjects qtscxml qtsensors qtserialport qtsvg qtimageformats qttools qtspeech qtwebchannel qtwebsockets qtwebview qtxmlpatterns qttranslations

# Set the QTDIR environment variable
export QTDIR="/opt/Qt/${MY_QT_VERSION}/android"


#necessary
echo "::set-env name=QTDIR::${QTDIR}"
echo "::set-env name=ANDROID_NDK_ROOT::${ANDROID_NDK_ROOT}"
echo "::set-env name=ANDROID_NDK_HOST::${ANDROID_NDK_HOST}"
echo "::set-env name=JAVA_HOME::${JAVA_HOME}"

#nce to have
echo "::set-env name=ANDROID_HOME::${ANDROID_HOME}"
echo "::set-env name=ANDROID_SDK_ROOT::${ANDROID_SDK_ROOT}"
echo "::set-env name=PATH::${PATH}"
echo "::set-env name=MY_QT_VERSION::${MY_QT_VERSION}"
echo "::set-env name=ANDROID_SDKMANAGER::${ANDROID_SDKMANAGER}"
34 changes: 34 additions & 0 deletions autobuild/android/autobuild_apk_2_build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/bin/bash -e

# autobuild_2_build: actual build process


####################
### PARAMETERS ###
####################

source $(dirname $(readlink -f "${BASH_SOURCE[0]}"))/../ensure_THIS_JAMULUS_PROJECT_PATH.sh

###################
### PROCEDURE ###
###################

cd "${THIS_JAMULUS_PROJECT_PATH}"

#$QTDIR/bin/qmake -spec android-clang CONFIG+=$CONFIG
"${QTDIR}"/bin/qmake -spec android-clang CONFIG+=release
echo .
echo .
echo .
echo .
/opt/android/android-ndk/prebuilt/linux-x86_64/bin/make
echo .
echo .
echo .
echo .
"${ANDROID_NDK_ROOT}"/prebuilt/"${ANDROID_NDK_HOST}"/bin/make INSTALL_ROOT=android-build -f Makefile install
echo .
echo .
echo .
echo .
"${QTDIR}"/bin/androiddeployqt --input $(ls *.json) --output android-build --android-platform android-30 --jdk "${JAVA_HOME}" --gradle
43 changes: 43 additions & 0 deletions autobuild/android/autobuild_apk_3_copy_files.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/bin/bash

# autobuild_3_copy_files: copy the built files to deploy folder


####################
### PARAMETERS ###
####################

source $(dirname $(readlink -f "${BASH_SOURCE[0]}"))/../ensure_THIS_JAMULUS_PROJECT_PATH.sh

###################
### PROCEDURE ###
###################

mkdir "${THIS_JAMULUS_PROJECT_PATH}"/deploy

echo ""
echo ""
echo "ls GITROOT/android-build/build/outputs/apk/debug/"
ls "${THIS_JAMULUS_PROJECT_PATH}"/android-build/build/outputs/apk/debug/
echo ""


artifact_deploy_filename=jamulus_${jamulus_buildversionstring}_android.apk
echo ""
echo ""
echo "move to ${artifact_deploy_filename}"
mv "${THIS_JAMULUS_PROJECT_PATH}"/android-build/build/outputs/apk/debug/android-build-debug.apk "${THIS_JAMULUS_PROJECT_PATH}"/deploy/"${artifact_deploy_filename}"

echo ""
echo ""
echo "ls GITROOT/deploy/"
ls "${THIS_JAMULUS_PROJECT_PATH}"/deploy/
echo ""

github_output_value()
{
echo "github_output_value() ${1} = ${2}"
echo "::set-output name=${1}::${2}"
}

github_output_value artifact_1 ${artifact_deploy_filename}
Loading