diff options
author | Jan Holthuis <jan.holthuis@ruhr-uni-bochum.de> | 2020-12-16 22:36:25 +0100 |
---|---|---|
committer | Jan Holthuis <jan.holthuis@ruhr-uni-bochum.de> | 2020-12-16 22:36:25 +0100 |
commit | 5503b8ff989a70a885452deb251536c8bca40dd4 (patch) | |
tree | 6f0e6362052e81427cae5a0bdec243b27b87640a /.github/workflows | |
parent | b71238d539303cde34c95b8f9be308e35d6989ec (diff) | |
parent | fa60e3dfee1ce7ccbc1c7820cdb99fa4bbef29dc (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.yml | 37 |
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 }} |