diff --git a/.github/autobuild/linux_deb.sh b/.github/autobuild/linux_deb.sh new file mode 100755 index 0000000000..34b665680d --- /dev/null +++ b/.github/autobuild/linux_deb.sh @@ -0,0 +1,49 @@ +#!/bin/bash +set -eu + +if [[ ! ${jamulus_buildversionstring:-} =~ [0-9]+\.[0-9]+\.[0-9]+ ]]; then + echo "Environment variable jamulus_buildversionstring has to be set to a valid version string" + exit 1 +fi + +setup() { + echo "Update system..." + sudo apt-get -qq update + + echo "Install dependencies..." + sudo apt-get -qq --no-install-recommends -y install devscripts build-essential debhelper libjack-jackd2-dev qtbase5-dev qttools5-dev-tools +} + +build_app_as_deb() { + ./linux/deploy_deb.sh +} + +pass_artifacts_to_job() { + mkdir deploy + + # rename headless first, so wildcard pattern matches only one file each + artifact_deploy_filename_1="jamulus_headless_${jamulus_buildversionstring}_ubuntu_amd64.deb" + echo "Moving headless build artifact to deploy/${artifact_deploy_filename_1}" + mv ../jamulus-headless*_amd64.deb "./deploy/${artifact_deploy_filename_1}" + echo "::set-output name=artifact_1::${artifact_deploy_filename_1}" + + artifact_deploy_filename_2="jamulus_${jamulus_buildversionstring}_ubuntu_amd64.deb" + echo "Moving regular build artifact to deploy/${artifact_deploy_filename_2}" + mv ../jamulus*_amd64.deb "./deploy/${artifact_deploy_filename_2}" + echo "::set-output name=artifact_2::${artifact_deploy_filename_2}" +} + +case "${1:-}" in + setup) + setup + ;; + build) + build_app_as_deb + ;; + get-artifacts) + pass_artifacts_to_job + ;; + *) + echo "Unknown stage '${1:-}'" + exit 1 +esac diff --git a/.github/workflows/autobuild.yml b/.github/workflows/autobuild.yml index c233c223f2..f440a9041a 100644 --- a/.github/workflows/autobuild.yml +++ b/.github/workflows/autobuild.yml @@ -97,9 +97,9 @@ jobs: - config_name: Linux .deb (artifacts+codeQL) target_os: linux building_on_os: ubuntu-18.04 - cmd1_prebuild: "./autobuild/linux/autobuild_deb_1_prepare.sh" - cmd2_build: "./autobuild/linux/autobuild_deb_2_build.sh" - cmd3_postbuild: "./autobuild/linux/autobuild_deb_3_copy_files.sh" + cmd1_prebuild: ./.github/autobuild/linux_deb.sh setup + cmd2_build: ./.github/autobuild/linux_deb.sh build + cmd3_postbuild: ./.github/autobuild/linux_deb.sh get-artifacts run_codeql: true - config_name: MacOS (artifacts+codeQL) diff --git a/autobuild/linux/autobuild_deb_1_prepare.sh b/autobuild/linux/autobuild_deb_1_prepare.sh deleted file mode 100755 index a939f63bf8..0000000000 --- a/autobuild/linux/autobuild_deb_1_prepare.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -e - -# autobuild_1_prepare: set up environment, install Qt & dependencies - - -################### -### PROCEDURE ### -################### - -# Sets up the environment for autobuild on Linux - -echo "Update system..." -sudo apt-get -qq update - -echo "Install dependencies..." -sudo apt-get -qq --no-install-recommends -y install devscripts build-essential debhelper libjack-jackd2-dev qtbase5-dev qttools5-dev-tools diff --git a/autobuild/linux/autobuild_deb_2_build.sh b/autobuild/linux/autobuild_deb_2_build.sh deleted file mode 100755 index f065da6f26..0000000000 --- a/autobuild/linux/autobuild_deb_2_build.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -# 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}" - -sh ./linux/deploy_deb.sh diff --git a/autobuild/linux/autobuild_deb_3_copy_files.sh b/autobuild/linux/autobuild_deb_3_copy_files.sh deleted file mode 100755 index d8e2bd03a7..0000000000 --- a/autobuild/linux/autobuild_deb_3_copy_files.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/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/deploy/" -ls "${THIS_JAMULUS_PROJECT_PATH}"/deploy/ -echo "" - -echo "" -echo "" -echo "ls GITROOT/../" -ls "${THIS_JAMULUS_PROJECT_PATH}"/../ -echo "" - -#debuild -b -us -uc -aarmhf -# copy for auto release -#cp ${THIS_JAMULUS_PROJECT_PATH}/../*.deb ${THIS_JAMULUS_PROJECT_PATH}/deploy/ - -echo "" -echo "" -echo "ls GITROOT/deploy/" -ls "${THIS_JAMULUS_PROJECT_PATH}"/deploy/ -echo "" - - - -#move/rename headless first, so wildcard pattern matches only one file each -echo "" -echo "" -artifact_deploy_filename_1=jamulus_headless_${jamulus_buildversionstring}_ubuntu_amd64.deb -echo "Move/Rename the built file to deploy/${artifact_deploy_filename_1}" -mv "${THIS_JAMULUS_PROJECT_PATH}"/../jamulus-headless*_amd64.deb "${THIS_JAMULUS_PROJECT_PATH}"/deploy/"${artifact_deploy_filename_1}" - -#move/rename normal second -echo "" -echo "" -artifact_deploy_filename_2=jamulus_${jamulus_buildversionstring}_ubuntu_amd64.deb -echo "Move/Rename the built file to deploy/${artifact_deploy_filename_2}" -mv "${THIS_JAMULUS_PROJECT_PATH}"/../jamulus*_amd64.deb "${THIS_JAMULUS_PROJECT_PATH}"/deploy/"${artifact_deploy_filename_2}" - - -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_1} -github_output_value artifact_2 ${artifact_deploy_filename_2} diff --git a/linux/deploy_deb.sh b/linux/deploy_deb.sh old mode 100644 new mode 100755