summaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
authorJan Holthuis <jan.holthuis@ruhr-uni-bochum.de>2020-12-16 22:36:25 +0100
committerJan Holthuis <jan.holthuis@ruhr-uni-bochum.de>2020-12-16 22:36:25 +0100
commit5503b8ff989a70a885452deb251536c8bca40dd4 (patch)
tree6f0e6362052e81427cae5a0bdec243b27b87640a /.github/workflows
parentb71238d539303cde34c95b8f9be308e35d6989ec (diff)
parentfa60e3dfee1ce7ccbc1c7820cdb99fa4bbef29dc (diff)
Merge branch '2.3' of github.com:mixxxdj/mixxx into gh-action-deployment
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build-checks.yml (renamed from .github/workflows/clazy.yml)44
-rw-r--r--.github/workflows/build.yml37
2 files changed, 59 insertions, 22 deletions
diff --git a/.github/workflows/clazy.yml b/.github/workflows/build-checks.yml
index 59ea855cd0..11672b71d5 100644
--- a/.github/workflows/clazy.yml
+++ b/.github/workflows/build-checks.yml
@@ -1,12 +1,18 @@
-name: clazy
+name: build-checks
on:
push:
pull_request:
jobs:
- clazy:
+ build-checks:
+ strategy:
+ matrix:
+ include:
+ - name: clazy
+ - name: clang-tidy
runs-on: ubuntu-20.04
+ name: ${{ matrix.name }}
steps:
- name: Check out repository
uses: actions/checkout@v2
@@ -46,10 +52,12 @@ jobs:
qtscript5-dev \
qt5keychain-dev \
clazy \
+ clang-tidy \
cmake
- name: Create build directory
- run: mkdir cmake_build
- - name: Configure
+ run: mkdir build
+ - name: Configure (clazy)
+ if: matrix.name == 'clazy'
# Disable optimizations as workaround for Clang 9 bug: https://bugs.llvm.org/show_bug.cgi?id=45034
run: |
cmake \
@@ -71,16 +79,40 @@ jobs:
-DMODPLUG=ON \
-DWAVPACK=ON \
..
- working-directory: cmake_build
+ working-directory: build
env:
LD: clang++
CC: clang
CXX: clazy
+ - name: Configure (clang-tidy)
+ if: matrix.name == 'clang-tidy'
+ run: |
+ cmake \
+ -DCMAKE_BUILD_TYPE=Debug \
+ -DCLANG_TIDY=clang-tidy \
+ -DWARNINGS_FATAL=ON \
+ -DBATTERY=ON \
+ -DBROADCAST=ON \
+ -DBULK=ON \
+ -DHID=ON \
+ -DLILV=ON \
+ -DOPUS=ON \
+ -DQTKEYCHAIN=ON \
+ -DVINYLCONTROL=ON \
+ -DFFMPEG=ON \
+ -DKEYFINDER=ON \
+ -DLOCALECOMPARE=ON \
+ -DMAD=ON \
+ -DMODPLUG=ON \
+ -DWAVPACK=ON \
+ ..
+ working-directory: build
- name: Set up problem matcher
uses: ammaraskar/gcc-problem-matcher@master
- name: Build
# Do not abort on errors and build/check the whole project
run: cmake --build . -j $(nproc) -- --keep-going
- working-directory: cmake_build
+ working-directory: build
env:
CLAZY_CHECKS: level2,no-rule-of-two-soft,no-non-pod-global-static,no-qproperty-without-notify,no-wrong-qevent-cast,no-qstring-allocations,no-function-args-by-value,no-copyable-polymorphic,no-ctor-missing-parent-argument,no-missing-qobject-macro,no-rule-of-three,no-returning-void-expression,no-missing-typeinfo,no-base-class-event
+ CLAZY_IGNORE_DIRS: lib/.*
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1e7a95444c..7ecadbf0c4 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -26,7 +26,7 @@ jobs:
buildenv_basepath: /home/runner/buildenv
buildenv_script: tools/ubuntu_buildenv.sh
artifacts_name: Ubuntu 18.04 DEB
- artifacts_path: cmake_build/*.deb
+ artifacts_path: build/*.deb
qt_qpa_platform: offscreen
- name: Ubuntu 20.04 (gcc)
os: ubuntu-20.04
@@ -45,7 +45,7 @@ jobs:
buildenv_basepath: /home/runner/buildenv
buildenv_script: tools/ubuntu_buildenv.sh
artifacts_name: Ubuntu 20.04 DEB
- artifacts_path: cmake_build/*.deb
+ artifacts_path: build/*.deb
qt_qpa_platform: offscreen
- name: macOS 10.15
os: macos-10.15
@@ -62,7 +62,7 @@ jobs:
buildenv_basepath: /Users/runner/buildenv
buildenv_script: tools/macos_buildenv.sh
artifacts_name: macOS DMG
- artifacts_path: cmake_build/*.dmg
+ artifacts_path: build/*.dmg
qt_qpa_platform: offscreen
- name: Windows 2019 (MSVC)
os: windows-2019
@@ -84,7 +84,7 @@ jobs:
buildenv_basepath: C:\buildenv
buildenv_script: tools/windows_buildenv.bat
artifacts_name: Windows Installer
- artifacts_path: cmake_build/*.msi
+ artifacts_path: build/*.msi
qt_qpa_platform: windows
env:
@@ -138,7 +138,7 @@ jobs:
# Decrypt the certificate
openssl enc -aes-256-cbc -d -md sha512 \
-k "${MACOS_CODESIGN_OPENSSL_PASSWORD}" \
- -in /Users/runner/work/mixxx/mixxx/cmake/macos_developer_id_codesign_certificate.p12.enc \
+ -in /Users/runner/work/mixxx/mixxx/packaging/certificates/macos_developer_id_codesign_certificate.p12.enc \
-out ~/certificate.p12
# Create a temporary keychain for the certificate and import it.
@@ -155,7 +155,7 @@ jobs:
- name: "[Windows] Set up Windows code signing"
env:
- WINDOWS_CODESIGN_CERTIFICATE_PATH: ${{ github.workspace }}\build\certificates\windows_sectigo_codesign_certificate.pfx
+ WINDOWS_CODESIGN_CERTIFICATE_PATH: ${{ github.workspace }}\packaging\certificates\windows_sectigo_codesign_certificate.pfx
WINDOWS_CODESIGN_CERTIFICATE_PASSWORD: ${{ secrets.WINDOWS_CODESIGN_CERTIFICATE_PASSWORD }}
WINDOWS_CODESIGN_SECURE_FILE_SALT: ${{ secrets.WINDOWS_CODESIGN_SECURE_FILE_SALT }}
WINDOWS_CODESIGN_SECURE_FILE_SECRET: ${{ secrets.WINDOWS_CODESIGN_SECURE_FILE_SECRET }}
@@ -187,7 +187,7 @@ jobs:
${{ matrix.os }}-${{ matrix.compiler_cache }}
- name: "Create build directory"
- run: mkdir cmake_build
+ run: mkdir build
- name: "Configure"
run: >-
@@ -206,7 +206,7 @@ jobs:
-DQTKEYCHAIN=ON
-DVINYLCONTROL=ON
..
- working-directory: cmake_build
+ working-directory: build
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
@@ -221,7 +221,7 @@ jobs:
- name: "Build"
run: cmake --build .
- working-directory: cmake_build
+ working-directory: build
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
@@ -236,7 +236,7 @@ jobs:
- name: "Test"
run: ctest --timeout 45 ${{ matrix.ctest_args }}
- working-directory: cmake_build
+ working-directory: build
env:
# Render analyzer waveform tests to an offscreen buffer
QT_QPA_PLATFORM: ${{ matrix.qt_qpa_platform }}
@@ -246,24 +246,29 @@ jobs:
- name: Benchmark
run: cmake --build . --target mixxx-benchmark
- working-directory: cmake_build
+ working-directory: build
env:
# Render analyzer waveform tests to an offscreen buffer
QT_QPA_PLATFORM: ${{ matrix.qt_qpa_platform }}
- name: "Package"
run: cpack -G ${{ matrix.cpack_generator }} -V
- working-directory: cmake_build
+ working-directory: build
+
+ - name: "Package for PPA"
+ if: startsWith(matrix.os, 'ubuntu')
+ run: cpack -G External -D DEB_SOURCEPKG=ON
+ working-directory: build
- name: "[macOS] Sign Package"
if: runner.os == 'macOS' && env.MACOS_CODESIGN_OPENSSL_PASSWORD != null && env.MACOS_CODESIGN_CERTIFICATE_PASSWORD != null
- run: codesign --verbose=4 --options runtime --sign "${APPLE_CODESIGN_IDENTITY}" --entitlements ../build/osx/entitlements.plist *.dmg
- working-directory: cmake_build
+ run: codesign --verbose=4 --options runtime --sign "${APPLE_CODESIGN_IDENTITY}" --entitlements ../packaging/macos/entitlements.plist *.dmg
+ working-directory: build
- name: "[Windows] Sign Package"
if: runner.os == 'Windows' && env.WINDOWS_CODESIGN_CERTIFICATE_PATH != null && env.WINDOWS_CODESIGN_CERTIFICATE_PASSWORD != null
run: signtool sign /f $Env:WINDOWS_CODESIGN_CERTIFICATE_PATH /p $Env:WINDOWS_CODESIGN_CERTIFICATE_PASSWORD *.msi
- working-directory: cmake_build
+ working-directory: build
- name: "[macOS/Windows] Upload build to downloads.mixxx.org"
# skip deploying Ubuntu builds to downloads.mixxx.org because these are deployed to the PPA
@@ -272,7 +277,7 @@ jobs:
env:
DESTDIR: public_html/downloads/builds
SSH_HOST: downloads-hostgator.mixxx.org
- SSH_KEY: build/certificates/downloads-hostgator.mixxx.org.key
+ SSH_KEY: packaging/certificates/downloads-hostgator.mixxx.org.key
SSH_PASSWORD: ${{ secrets.DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY_PASSWORD }}
SSH_USER: mixxx
UPLOAD_ID: ${{ github.run_id }}