Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Adam <dev@robert-adam.de>2021-03-05 15:15:05 +0300
committerRobert Adam <dev@robert-adam.de>2021-03-07 15:50:35 +0300
commitabc587235d8ce2ed7a6e6c25fa68082da1ae193a (patch)
treeb87d25ef4c1b2f59c70aa027820f6e0d28bdc0e3
parentd1f28fdabda9c5fa2a4219d3307a92fd95a2c3c9 (diff)
CI: Separate different stages
Now the stages building, testing and releasing are separate steps in all CI runs, allowing to see more quickly where something failed and how long each stage took.
-rwxr-xr-x.ci/azure-pipelines/build_linux.bash3
-rwxr-xr-x.ci/azure-pipelines/build_macos.bash4
-rw-r--r--.ci/azure-pipelines/build_windows.bat20
-rwxr-xr-x.ci/azure-pipelines/package_AppImage.bash6
-rwxr-xr-x.ci/azure-pipelines/release_macos.bash22
-rw-r--r--.ci/azure-pipelines/release_windows.bat25
-rw-r--r--.ci/azure-pipelines/steps_linux.yml4
-rw-r--r--.ci/azure-pipelines/steps_macos.yml4
-rw-r--r--.ci/azure-pipelines/steps_windows.yml7
9 files changed, 68 insertions, 27 deletions
diff --git a/.ci/azure-pipelines/build_linux.bash b/.ci/azure-pipelines/build_linux.bash
index 08e5d8a02..425c88fca 100755
--- a/.ci/azure-pipelines/build_linux.bash
+++ b/.ci/azure-pipelines/build_linux.bash
@@ -36,5 +36,4 @@ cmake -G Ninja -DCMAKE_INSTALL_PREFIX=appdir/usr -DCMAKE_UNITY_BUILD=ON \
-Ddisplay-install-paths=ON $BUILD_SOURCESDIRECTORY
cmake --build .
-ctest --verbose
-cmake --install .
+
diff --git a/.ci/azure-pipelines/build_macos.bash b/.ci/azure-pipelines/build_macos.bash
index 31e3d7fee..370ba2bfe 100755
--- a/.ci/azure-pipelines/build_macos.bash
+++ b/.ci/azure-pipelines/build_macos.bash
@@ -47,8 +47,4 @@ cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=$MUMBLE_ENVIRONMENT_TOOLCHAIN -DIce_HOME="
-Ddisplay-install-paths=ON $BUILD_SOURCESDIRECTORY
cmake --build .
-ctest --verbose
-$BUILD_SOURCESDIRECTORY/macx/scripts/osxdist.py --version=$RELEASE_ID --source-dir=$BUILD_SOURCESDIRECTORY --binary-dir=.
-
-mv *.dmg $BUILD_ARTIFACTSTAGINGDIRECTORY
diff --git a/.ci/azure-pipelines/build_windows.bat b/.ci/azure-pipelines/build_windows.bat
index 4b036c89e..525e8517f 100644
--- a/.ci/azure-pipelines/build_windows.bat
+++ b/.ci/azure-pipelines/build_windows.bat
@@ -82,23 +82,3 @@ if errorlevel 1 (
exit /b %errorlevel%
)
-:: Set timeout for tests to 15min
-set QTEST_FUNCTION_TIMEOUT=900000
-ctest --verbose
-
-if errorlevel 1 (
- exit /b %errorlevel%
-)
-
-cmake --install .
-
-if errorlevel 1 (
- exit /b %errorlevel%
-)
-
-copy installer\client\mumble_client*.msi %BUILD_ARTIFACTSTAGINGDIRECTORY%
-
-copy installer\server\mumble_server*.msi %BUILD_ARTIFACTSTAGINGDIRECTORY%
-
-7z a PDBs.7z *.pdb plugins\*.pdb
-copy PDBs.7z %BUILD_ARTIFACTSTAGINGDIRECTORY%
diff --git a/.ci/azure-pipelines/package_AppImage.bash b/.ci/azure-pipelines/package_AppImage.bash
index d7ece9bdd..924799f94 100755
--- a/.ci/azure-pipelines/package_AppImage.bash
+++ b/.ci/azure-pipelines/package_AppImage.bash
@@ -5,6 +5,12 @@
# that can be found in the LICENSE file at the root of the
# Mumble source tree or at <https://www.mumble.info/LICENSE>.
+pushd $BUILD_BINARIESDIRECTORY
+
+cmake --install .
+
+popd
+
# Get the AppImage-tool - always use the latest available version
wget -c https://github.com/$(wget -q https://github.com/probonopd/go-appimage/releases -O - | grep "appimagetool-.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2)
chmod +x appimagetool-*.AppImage
diff --git a/.ci/azure-pipelines/release_macos.bash b/.ci/azure-pipelines/release_macos.bash
new file mode 100755
index 000000000..17b9c7e79
--- /dev/null
+++ b/.ci/azure-pipelines/release_macos.bash
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash -ex
+#
+# Copyright 2021 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.
+#
+# Predefined variables:
+#
+# BUILD_SOURCESDIRECTORY - The local path on the agent where the
+# repository is downloaded.
+#
+
+RELEASE_ID=$(python "scripts/mumble-version.py")
+
+cd $BUILD_BINARIESDIRECTORY
+
+$BUILD_SOURCESDIRECTORY/macx/scripts/osxdist.py --version=$RELEASE_ID --source-dir=$BUILD_SOURCESDIRECTORY --binary-dir=.
+
+mv *.dmg $BUILD_ARTIFACTSTAGINGDIRECTORY
diff --git a/.ci/azure-pipelines/release_windows.bat b/.ci/azure-pipelines/release_windows.bat
new file mode 100644
index 000000000..22a1b9b9b
--- /dev/null
+++ b/.ci/azure-pipelines/release_windows.bat
@@ -0,0 +1,25 @@
+:: Copyright 2021 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 the installer and moves all binaries to the correct
+:: directory in order for the publishing of artifacts to work
+:: as expected.
+
+@echo on
+
+cd /d %BUILD_BINARIESDIRECTORY%
+
+cmake --install .
+
+if errorlevel 1 (
+ exit /b %errorlevel%
+)
+
+copy installer\client\mumble_client*.msi %BUILD_ARTIFACTSTAGINGDIRECTORY%
+
+copy installer\server\mumble_server*.msi %BUILD_ARTIFACTSTAGINGDIRECTORY%
+
+7z a PDBs.7z *.pdb plugins\*.pdb
+copy PDBs.7z %BUILD_ARTIFACTSTAGINGDIRECTORY%
diff --git a/.ci/azure-pipelines/steps_linux.yml b/.ci/azure-pipelines/steps_linux.yml
index 3188a77a2..e2a204f48 100644
--- a/.ci/azure-pipelines/steps_linux.yml
+++ b/.ci/azure-pipelines/steps_linux.yml
@@ -12,8 +12,10 @@ steps:
env:
MUMBLE_BUILD_NUMBER_TOKEN: $(BUILD_NUMBER_TOKEN)
displayName: 'Build'
+ - script: 'cd $BUILD_BINARIESDIRECTORY; ctest --verbose'
+ displayName: 'Test'
- script: .ci/azure-pipelines/package_AppImage.bash
- displayName: 'Package AppImage'
+ displayName: 'Release'
- template: task-publish-artifacts.yml
parameters:
name: "AppImage"
diff --git a/.ci/azure-pipelines/steps_macos.yml b/.ci/azure-pipelines/steps_macos.yml
index 75c53c70e..7f019ace6 100644
--- a/.ci/azure-pipelines/steps_macos.yml
+++ b/.ci/azure-pipelines/steps_macos.yml
@@ -18,6 +18,10 @@ steps:
env:
MUMBLE_BUILD_NUMBER_TOKEN: $(BUILD_NUMBER_TOKEN)
displayName: 'Build'
+ - script: 'cd $BUILD_BINARIES_DIRECTORY; ctest --verbose'
+ displayName: 'Test'
+ - script: .ci/azure-pipelines/release_macos.bash
+ displayName: 'Release'
- template: task-publish-artifacts.yml
parameters:
name: "macOS package"
diff --git a/.ci/azure-pipelines/steps_windows.yml b/.ci/azure-pipelines/steps_windows.yml
index 2547867a7..6b4fdfefa 100644
--- a/.ci/azure-pipelines/steps_windows.yml
+++ b/.ci/azure-pipelines/steps_windows.yml
@@ -12,6 +12,13 @@ steps:
env:
MUMBLE_BUILD_NUMBER_TOKEN: $(BUILD_NUMBER_TOKEN)
displayName: 'Build'
+ - script: 'cd /d %BUILD_BINARIESDIRECTORY% & ctest --verbose'
+ env:
+ # Set timeout for tests to 15min
+ QTEST_FUNCTION_TIMEOUT: 900000
+ displayName: 'Test'
+ - script: .ci/azure-pipelines/release_windows.bat
+ displayName: 'Release'
- template: task-publish-artifacts.yml
parameters:
name: 'Windows (${{parameters.arch}}) installer'