diff options
author | Davide Beatrici <git@davidebeatrici.dev> | 2020-07-18 01:18:25 +0300 |
---|---|---|
committer | Davide Beatrici <git@davidebeatrici.dev> | 2020-07-18 01:18:25 +0300 |
commit | c182bc6db05736dd0f801187e8998cb7da2756f8 (patch) | |
tree | 2c168f3ce4f7c7a70bd7f7b4f84bb26aab6ed54b /scripts | |
parent | 530426961f47dea45fd54c1d872559d9f10d8eb1 (diff) |
REFAC(ci): move scripts to dedicated ".ci" folder
The "scripts" folder is quite cluttered, let's make it a bit better.
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/azure-pipelines/assertNoTranslationChanges.sh | 35 | ||||
-rwxr-xr-x | scripts/azure-pipelines/build_linux.bash | 38 | ||||
-rwxr-xr-x | scripts/azure-pipelines/build_macos.bash | 26 | ||||
-rw-r--r-- | scripts/azure-pipelines/build_windows.bat | 73 | ||||
-rwxr-xr-x | scripts/azure-pipelines/install-environment_linux.bash | 17 | ||||
-rwxr-xr-x | scripts/azure-pipelines/install-environment_linux_translations.bash | 13 | ||||
-rwxr-xr-x | scripts/azure-pipelines/install-environment_macos.bash | 28 | ||||
-rw-r--r-- | scripts/azure-pipelines/install-environment_windows.ps1 | 88 | ||||
-rwxr-xr-x | scripts/travis-ci/before_install.bash | 64 | ||||
-rwxr-xr-x | scripts/travis-ci/script.bash | 50 |
10 files changed, 0 insertions, 432 deletions
diff --git a/scripts/azure-pipelines/assertNoTranslationChanges.sh b/scripts/azure-pipelines/assertNoTranslationChanges.sh deleted file mode 100755 index 34ec2b3d9..000000000 --- a/scripts/azure-pipelines/assertNoTranslationChanges.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright 2020 The Mumble Developers. All rights reserved. -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file at the root of the -# Mumble source tree or at <https://www.mumble.info/LICENSE>. - -set -e - -# Get path to the updatetranslations script -updateScript="`dirname $0`/../updatetranslations.sh" - -# Get current commit hash -oldHash=`git rev-parse HEAD` - -# In order for any commits to be possible, we'll have to set up a dummy user -git config user.name "CI" -git config user.email "ci@mumble.info" - -# Execute updatetranslations that'll commit any translation changes -"./$updateScript" > /dev/null -echo - -# Ger new commit hash -newHash=`git rev-parse HEAD` - -# Check if the commit hash has changed (aka whether a commit has been made). -# If so that means that there are unprocessed translation changes. -if [[ "$oldHash" = "$newHash" ]]; then - echo "No translations have changed" - exit 0 -else - echo "[ERROR]: There are unprocessed translation changes!" - exit 1 -fi diff --git a/scripts/azure-pipelines/build_linux.bash b/scripts/azure-pipelines/build_linux.bash deleted file mode 100755 index dc0e72bac..000000000 --- a/scripts/azure-pipelines/build_linux.bash +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash -ex -# -# Copyright 2019-2020 The Mumble Developers. All rights reserved. -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file at the root of the -# Mumble source tree or at <https://www.mumble.info/LICENSE>. -# -# Below is a list of configuration variables used from environment. -# -# BUILD_BINARIESDIRECTORY - The local path on the agent that can be used -# as an output folder for compiled binaries. -# BUILD_SOURCESDIRECTORY - The local path on the agent where the -# repository is downloaded. -# - -VER=$(python scripts/mumble-version.py) - -cd $BUILD_BINARIESDIRECTORY - -# QSslDiffieHellmanParameters was introduced in Qt 5.8, Ubuntu 16.04 has 5.5. -cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=appdir/usr -DBUILD_TESTING=ON -Dversion=$VER -Dsymbols=ON -Dqssldiffiehellmanparameters=OFF $BUILD_SOURCESDIRECTORY -cmake --build . -ctest -cmake --install . - -wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" -chmod a+x linuxdeployqt-continuous-x86_64.AppImage -ARCH=x86_64 ./linuxdeployqt-continuous-x86_64.AppImage $(find $HOME -type d -name 'appdir'| head -n 1)/usr/share/applications/*.desktop -appimage -extra-plugins=sqldrivers/libqsqlite.so - -for f in Mumble*.AppImage; do - # Embed update information into AppImage - echo -n "zsync|https://dl.mumble.info/nightly/latest-x86_64.AppImage.zsync" | dd of=$f seek=175720 conv=notrunc oflag=seek_bytes - - # Generate zsync file for AppImage - zsyncmake $f -done - -mv Mumble*.AppImage* $BUILD_ARTIFACTSTAGINGDIRECTORY diff --git a/scripts/azure-pipelines/build_macos.bash b/scripts/azure-pipelines/build_macos.bash deleted file mode 100755 index f05256837..000000000 --- a/scripts/azure-pipelines/build_macos.bash +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -ex -# -# Copyright 2019-2020 The Mumble Developers. All rights reserved. -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file at the root of the -# Mumble source tree or at <https://www.mumble.info/LICENSE>. -# -# Below is a list of configuration variables used from environment. -# -# BUILD_BINARIESDIRECTORY - The local path on the agent that can be used -# as an output folder for compiled binaries. -# BUILD_SOURCESDIRECTORY - The local path on the agent where the -# repository is downloaded. -# - -VER=$(python scripts/mumble-version.py) - -cd $BUILD_BINARIESDIRECTORY - -cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=$MUMBLE_ENVIRONMENT_TOOLCHAIN -DIce_HOME="$MUMBLE_ENVIRONMENT_PATH/installed/x64-osx" -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -Dversion=$VER -Dstatic=ON -Dsymbols=ON $BUILD_SOURCESDIRECTORY -cmake --build . -ctest - -$BUILD_SOURCESDIRECTORY/macx/scripts/osxdist.py --version=$VER --source-dir=$BUILD_SOURCESDIRECTORY --binary-dir=. - -mv *.dmg $BUILD_ARTIFACTSTAGINGDIRECTORY diff --git a/scripts/azure-pipelines/build_windows.bat b/scripts/azure-pipelines/build_windows.bat deleted file mode 100644 index d9e2eb03a..000000000 --- a/scripts/azure-pipelines/build_windows.bat +++ /dev/null @@ -1,73 +0,0 @@ -:: Copyright 2020 The Mumble Developers. All rights reserved. -:: Use of this source code is governed by a BSD-style license -:: that can be found in the LICENSE file at the root of the -:: Mumble source tree or at <https://www.mumble.info/LICENSE>. -:: -:: Builds Mumble using the specified build script. -:: The path to the script is relative to the build environment's root. -:: The configuration we build with is adjusted to be close to -:: our release builds. -:: -:: Below is a list of configuration variables used from environment. -:: -:: Predefined variables: -:: -:: BUILD_BINARIESDIRECTORY - The local path on the agent that can be used -:: as an output folder for compiled binaries. -:: BUILD_SOURCESDIRECTORY - The local path on the agent where the -:: repository is downloaded. -:: AGENT_TOOLSDIRECTORY - The directory used by tasks such as -:: Node Tool Installer and Use Python Version -:: to switch between multiple versions of a tool. -:: We store our build environment there, in the -:: folder specified by MUMBLE_ENVIRONMENT_DIR. -:: -:: Defined in .azure-pipelines.yml: -:: -:: MUMBLE_ENVIRONMENT_STORE - Path to the folder the build environment is stored in. -:: MUMBLE_ENVIRONMENT_SOURCE - Build environment web source folder URL -:: MUMBLE_ENVIRONMENT_VERSION - Full build environment version -:: Must match archive and extracted folder name. -:: MUMBLE_ENVIRONMENT_TOOLCHAIN - Path to the vcpkg CMake toolchain, used for CMake. -:: - -@echo on - -for /f "tokens=* USEBACKQ" %%g in (`python "scripts/mumble-version.py"`) do (SET "VER=%%g") - -cd /d %BUILD_BINARIESDIRECTORY% - -call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" - -:: Delete MinGW, otherwise CMake picks it over MSVC. -:: We don't delete the (Chocolatey) packages because it takes ~10 minutes... -del C:\ProgramData\chocolatey\bin\gcc.exe -del C:\ProgramData\chocolatey\bin\g++.exe -del C:\ProgramData\chocolatey\bin\c++.exe -del C:\Strawberry\c\bin\gcc.exe -del C:\Strawberry\c\bin\g++.exe -del C:\Strawberry\c\bin\c++.exe - -cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE="%MUMBLE_ENVIRONMENT_TOOLCHAIN%" -DVCPKG_TARGET_TRIPLET=x64-windows-static-md -DIce_HOME="%MUMBLE_ENVIRONMENT_PATH%\installed\x64-windows-static-md" -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -Dversion=%VER% -Dpackaging=ON -Dstatic=ON -Dsymbols=ON -Dasio=ON -Dg15=ON "%BUILD_SOURCESDIRECTORY%" - -if errorlevel 1 ( - exit /b %errorlevel% -) - -cmake --build . - -if errorlevel 1 ( - exit /b %errorlevel% -) - -ctest - -if errorlevel 1 ( - exit /b %errorlevel% -) - -cmake --install . - -if errorlevel 1 ( - exit /b %errorlevel% -) diff --git a/scripts/azure-pipelines/install-environment_linux.bash b/scripts/azure-pipelines/install-environment_linux.bash deleted file mode 100755 index 05fc4c6c5..000000000 --- a/scripts/azure-pipelines/install-environment_linux.bash +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -ex -# -# Copyright 2019-2020 The Mumble Developers. All rights reserved. -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file at the root of the -# Mumble source tree or at <https://www.mumble.info/LICENSE>. - -sudo apt-get update - -sudo apt-get -y install build-essential g++-multilib ninja-build pkg-config \ - qt5-default qttools5-dev qttools5-dev-tools libqt5svg5-dev \ - libboost-dev libssl-dev libprotobuf-dev protobuf-compiler \ - libcap-dev libxi-dev \ - libasound2-dev libpulse-dev \ - libogg-dev libsndfile1-dev libspeechd-dev \ - libavahi-compat-libdnssd-dev libzeroc-ice-dev \ - zsync diff --git a/scripts/azure-pipelines/install-environment_linux_translations.bash b/scripts/azure-pipelines/install-environment_linux_translations.bash deleted file mode 100755 index bcd162cb5..000000000 --- a/scripts/azure-pipelines/install-environment_linux_translations.bash +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright 2020 The Mumble Developers. All rights reserved. -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file at the root of the -# Mumble source tree or at <https://www.mumble.info/LICENSE>. - -set -e -set -x - -sudo apt-get update - -sudo apt-get -y install qttools5-dev-tools qt5-qmake diff --git a/scripts/azure-pipelines/install-environment_macos.bash b/scripts/azure-pipelines/install-environment_macos.bash deleted file mode 100755 index 944e8da2e..000000000 --- a/scripts/azure-pipelines/install-environment_macos.bash +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -ex -# -# Copyright 2019-2020 The Mumble Developers. All rights reserved. -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file at the root of the -# Mumble source tree or at <https://www.mumble.info/LICENSE>. - -cd $AGENT_TEMPDIRECTORY - -brew install ninja - -if [ -d $MUMBLE_ENVIRONMENT_PATH ]; then - exit 0 -fi - -echo "Environment not cached. Downloading..." - -wget "$MUMBLE_ENVIRONMENT_SOURCE/$MUMBLE_ENVIRONMENT_VERSION.tar.xz" - -echo "Extracting build environment to $MUMBLE_ENVIRONMENT_STORE..." - -mkdir -p $MUMBLE_ENVIRONMENT_STORE - -tar xf "$MUMBLE_ENVIRONMENT_VERSION.tar.xz" -C $MUMBLE_ENVIRONMENT_STORE - -chmod +x "$MUMBLE_ENVIRONMENT_PATH/installed/x64-osx/tools/Ice/slice2cpp" - -ls -l $MUMBLE_ENVIRONMENT_STORE diff --git a/scripts/azure-pipelines/install-environment_windows.ps1 b/scripts/azure-pipelines/install-environment_windows.ps1 deleted file mode 100644 index 0cd923849..000000000 --- a/scripts/azure-pipelines/install-environment_windows.ps1 +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 2019-2020 The Mumble Developers. All rights reserved. -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file at the root of the -# Mumble source tree or at <https://www.mumble.info/LICENSE>. -# -# Ensures we have downloaded and extracted a build environment -# into our Azure Pipelines VM before we attempt to build. If the -# environment archive is already present, this script will just extract it. -# -# Below is a list of configuration variables used from environment. -# -# Predefined variables: -# -# AGENT_TEMPDIRECTORY - A temporary folder that is cleaned after each pipeline job. -# This directory is used by tasks such as .NET Core CLI task -# to hold temporary items like test results before they are published. -# AGENT_TOOLSDIRECTORY - The directory used by tasks such as -# Node Tool Installer and Use Python Version -# to switch between multiple versions of a tool. -# We store our build environment there, in the -# folder specified by MUMBLE_ENVIRONMENT_DIR. -# -# Defined in .azure-pipelines.yml: -# -# MUMBLE_ENVIRONMENT_STORE - Path to the folder the build environment is stored in. -# (e.g. c:\hostedtoolcache\windows\MumbleBuild). -# MUMBLE_ENVIRONMENT_SOURCE - Build environment web source folder URL -# (e.g. https://somehost/folder). -# MUMBLE_ENVIRONMENT_VERSION - Full build environment version -# (e.g. win64-static-1.4.x-2020-05-27-ecb3c64-1151). -# Must match .7z and extracted folder name. -# - -Set-Location -Path $env:AGENT_TEMPDIRECTORY - -$SOURCE_DIR = $env:BUILD_SOURCESDIRECTORY - -$MUMBLE_ENVIRONMENT_STORE = $env:MUMBLE_ENVIRONMENT_STORE -$MUMBLE_ENVIRONMENT_VERSION = $env:MUMBLE_ENVIRONMENT_VERSION - -if (-Not (Test-Path $MUMBLE_ENVIRONMENT_STORE)) { - New-Item $MUMBLE_ENVIRONMENT_STORE -ItemType Directory | Out-Null -} - -if (-Not (Test-Path (Join-Path $MUMBLE_ENVIRONMENT_STORE $MUMBLE_ENVIRONMENT_VERSION))) { - Write-Host "Environment not cached. Downloading..." - - $env_url = "$env:MUMBLE_ENVIRONMENT_SOURCE/$MUMBLE_ENVIRONMENT_VERSION.7z" - $env_7z = Join-Path $MUMBLE_ENVIRONMENT_STORE "$MUMBLE_ENVIRONMENT_VERSION.7z"; - try { - # According to https://github.com/PowerShell/PowerShell/issues/2138 disabling the - # progress bar can significantly increase the speed of Invoke-Web-Request. - $ProgressPreference = 'SilentlyContinue' - - Invoke-WebRequest -Uri $env_url -OutFile $env_7z - - # Reset progress bar - $ProgressPreference = 'Continue' - } catch { - Write-Host "Failed to download build-environment: $PSItem" - exit 1 - } - - Write-Host "Extracting build environment to $MUMBLE_ENVIRONMENT_STORE..." - 7z x $env_7z -o"$MUMBLE_ENVIRONMENT_STORE" -} - -Write-Host "Downloading ASIO SDK..." - -try { - Invoke-WebRequest -Uri "https://dl.mumble.info/build/extra/asio_sdk.zip" -OutFile "asio_sdk.zip" - 7z x "asio_sdk.zip" - Move-Item -Path "asiosdk_2.3.3_2019-06-14" -Destination "$SOURCE_DIR/3rdparty/asio" -} catch { - Write-Host "Failed to download ASIO SDK: $PSItem" - exit 1 -} - -Write-Host "Downloading G15 SDK..." - -try { - Invoke-WebRequest -Uri "https://dl.mumble.info/build/extra/g15_sdk.zip" -OutFile "g15_sdk.zip" - 7z x "g15_sdk.zip" - Move-Item -Path "G15SDK/LCDSDK" -Destination "$SOURCE_DIR/3rdparty/g15" -} catch { - Write-Host "Failed to download G15 SDK: $PSItem" - exit 1 -} diff --git a/scripts/travis-ci/before_install.bash b/scripts/travis-ci/before_install.bash deleted file mode 100755 index 3c0719f35..000000000 --- a/scripts/travis-ci/before_install.bash +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash -ex -# -# Copyright 2005-2020 The Mumble Developers. All rights reserved. -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file at the root of the -# Mumble source tree or at <https://www.mumble.info/LICENSE>. - -MUMBLE_HOST_DEB=${MUMBLE_HOST/_/-} - -if [ "${TRAVIS_OS_NAME}" == "linux" ]; then - if [ "${MUMBLE_HOST}" == "aarch64-linux-gnu" ] || [ "${MUMBLE_HOST}" == "x86_64-linux-gnu" ]; then - sudo apt-get -qq update - sudo apt-get -y install build-essential ninja-build pkg-config \ - qt5-default qttools5-dev qttools5-dev-tools libqt5svg5-dev \ - libboost-dev libssl-dev libprotobuf-dev protobuf-compiler \ - libcap-dev libxi-dev \ - libasound2-dev libpulse-dev \ - libogg-dev libsndfile1-dev libspeechd-dev \ - libavahi-compat-libdnssd-dev libzeroc-ice-dev - if [ "${MUMBLE_HOST}" == "aarch64-linux-gnu" ]; then - # Kitware's APT repository doesn't provide packages for ARM64. - cd ${HOME} - if [ -d "cmake-3.17.2" ] && [ "$(ls -A cmake-3.17.2)" ]; then - # Directory cached, CMake has already been compiled in a previous build. - cd cmake-3.17.2 && sudo make install - else - # Build a recent version of CMake. - wget https://github.com/Kitware/CMake/releases/download/v3.17.2/cmake-3.17.2.tar.gz && tar -xzvf cmake-3.17.2.tar.gz && cd cmake-3.17.2 - ./bootstrap && make -j $(nproc) && sudo make install - fi - else - sudo apt-get -y install g++-multilib - fi - elif [ "${MUMBLE_HOST}" == "i686-w64-mingw32" ] || [ "${MUMBLE_HOST}" == "x86_64-w64-mingw32" ]; then - sudo dpkg --add-architecture i386 - - sudo apt-get -qq update - sudo apt-get -y install ninja-build wine32-development wine-development - - mkdir ${HOME}/mxe && cd ${HOME}/mxe - - # Download lists of MXE packages to install. - wget https://dl.mumble.info/build/mxe/mxe.deb-list - wget https://dl.mumble.info/build/mxe/mxe-x86-64-pc-linux-gnu.deb-list - wget https://dl.mumble.info/build/mxe/mxe-${MUMBLE_HOST_DEB}.static.deb-list - - # Merge the lists into a single one. - cat *.deb-list > packages.deb-list - - # Download the MXE packages, if not cached. - while read package; do - if [ ! -z "$package" ] && [ ! -f "$package" ]; then - wget https://dl.mumble.info/build/mxe/$package - fi - done <packages.deb-list - - # Install the MXE packages. - sudo dpkg -i *.deb - else - exit 1 - fi -else - exit 1 -fi diff --git a/scripts/travis-ci/script.bash b/scripts/travis-ci/script.bash deleted file mode 100755 index 9e09f389d..000000000 --- a/scripts/travis-ci/script.bash +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash -ex -# -# Copyright 2005-2020 The Mumble Developers. All rights reserved. -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file at the root of the -# Mumble source tree or at <https://www.mumble.info/LICENSE>. - -if [ "${TRAVIS_REPO_SLUG}" == "mumble-voip/mumble" ] && [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then - if [ "${TRAVIS_BRANCH}" == "master" ]; then - MASTER_BRANCH=1 - fi -fi - -VER=$(python scripts/mumble-version.py) - -if [ "${TRAVIS_OS_NAME}" == "linux" ]; then - if [ "${MUMBLE_HOST}" == "aarch64-linux-gnu" ]; then - mkdir build && cd build - cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -Dversion=$VER -Dsymbols=ON .. - cmake --build . - # We don't execute tests on ARM64 because TestPacketDataStream fails. - # See https://github.com/mumble-voip/mumble/issues/3845. - #ctest - sudo cmake --install . - elif [ "${MUMBLE_HOST}" == "x86_64-linux-gnu" ]; then - mkdir build && cd build - # We specify the absolute path because otherwise Travis CI's CMake is used. - /usr/bin/cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -Dversion=$VER -Dsymbols=ON .. - /usr/bin/cmake --build . - /usr/bin/ctest - sudo /usr/bin/cmake --install . - elif [ "${MUMBLE_HOST}" == "i686-w64-mingw32" ] || [ "${MUMBLE_HOST}" == "x86_64-w64-mingw32" ]; then - wget https://dl.mumble.info/build/extra/asio_sdk.zip -P /tmp/ - unzip /tmp/asio_sdk.zip - mv asiosdk_2.3.3_2019-06-14 3rdparty/asio - - mkdir build && cd build - - PATH=$PATH:/usr/lib/mxe/usr/bin - - ${MUMBLE_HOST}.static-cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -Dversion=$VER -Dstatic=ON -Dsymbols=ON -Dasio=ON -Dbonjour=OFF -Dice=OFF -Doverlay=OFF .. - cmake --build . - # TODO: investigate why tests fail. - #ctest - else - exit 1 - fi -else - exit 1 -fi |