Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pre commit patch #8

Closed
wants to merge 219 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
219 commits
Select commit Hold shift + click to select a range
044aa6b
added timer to prevent issues with soft takeover
toszlanyi Jul 12, 2020
7ebf565
add timer for delayed soft takeover
toszlanyi Jul 12, 2020
5fb03db
added fix as suggested by Be
toszlanyi Jul 19, 2020
c778f07
rework of Softtakeover vs SysEx
toszlanyi Aug 15, 2020
7ab67a6
solve bugs reported by users
toszlanyi Aug 27, 2020
cab2fae
add WaveformZoom and JogWheel Search
toszlanyi Aug 31, 2020
2427068
use of script.triggerControl instead of setValue
toszlanyi Sep 2, 2020
651273f
add eject with library select button
toszlanyi Sep 6, 2020
08ae396
just a little code cleaning
toszlanyi Sep 12, 2020
c51958a
implement code improvements proposed by Holzhaus
toszlanyi Oct 15, 2020
90132bd
Merge branch '2.3' into Denon_MC7000_mapping
toszlanyi Oct 15, 2020
1717067
some changes suggested by Holzhaus
toszlanyi Oct 27, 2020
19aafa3
delete unnecessary conditions
toszlanyi Oct 27, 2020
9c11452
Info about support for database on non USB / SD devices
fkbreitl Oct 24, 2020
487d114
Update src/library/rekordbox/rekordboxfeature.cpp
fkbreitl Oct 24, 2020
e87765d
Update src/library/rekordbox/rekordboxfeature.cpp
fkbreitl Oct 24, 2020
9ff225f
fixed pre-commit code style issues
fkbreitl Oct 25, 2020
13c435f
Update src/library/rekordbox/rekordboxfeature.cpp
fkbreitl Oct 25, 2020
f8530b8
Preferences Interface: on macOS require restart applying a new skin
ronso0 Nov 2, 2020
c45e283
Preferences Waveforms: update connect() syntax
ronso0 Nov 2, 2020
f48b7e4
Preferences Waveforms: on macOS require restart for applying a differ…
ronso0 Nov 2, 2020
af3f29e
LateNight: disable 'highlight' connection from beat spinbox
ronso0 Nov 14, 2020
20793dc
LateNight clean up
ronso0 Nov 14, 2020
9eb1786
Tango: fix skin description and 64-samplers skin preview
ronso0 Nov 14, 2020
dbeaf5b
Fix DirectoryDAOTest::relocateDirectory() on macOS
uklotzde Nov 15, 2020
c9170a8
Cue/CueDAO: Improve type-safety and reduce code duplication
uklotzde Nov 10, 2020
f462113
Merge remote-tracking branch 'mixxx/2.3' into skinrestart
ronso0 Nov 15, 2020
401f1c9
LateNight PaleMoon: brighten Key border
ronso0 Nov 15, 2020
7bc9c1b
Merge pull request #3325 from ronso0/skinfixes23
Holzhaus Nov 15, 2020
e3fab0c
Merge pull request #3324 from uklotzde/cue-dbid
Holzhaus Nov 15, 2020
3838247
Merge pull request #2949 from toszlanyi/Denon_MC7000_mapping
Holzhaus Nov 15, 2020
5deef22
DirectoryDAOTest: Use QDir for path composition
uklotzde Nov 15, 2020
32f242c
CMake: fix TagLib linking on macOS
Be-ing Nov 16, 2020
bac96ab
update libKeyFinder external CMake project to 2.2.3
Be-ing Nov 16, 2020
85ef6ca
fix(midi-components): define `this.group` before first use
git-developer Nov 16, 2020
96bac23
fix(midi-components): declare EffectUnitKnob.number before first use
git-developer Nov 16, 2020
dc7023b
PreviewButtonDelegate: Avoid unnecessary table model access
uklotzde Oct 16, 2020
29f1a0d
Merge pull request #3327 from Be-ing/taglib_cmake
Holzhaus Nov 16, 2020
19eba8c
Merge pull request #3322 from uklotzde/fix-relocatedirectory-test
Holzhaus Nov 16, 2020
1c59481
PreviewButtonDelegate: Replace string formatting with constant
uklotzde Nov 17, 2020
24f8e1d
Merge branch '2.3' of [email protected]:mixxxdj/mixxx.git into previewbu…
uklotzde Nov 17, 2020
c349d3a
Merge pull request #3252 from ronso0/skinrestart
Be-ing Nov 17, 2020
40e274d
PlayerManager: Use QStringBuilder for composing group strings
uklotzde Nov 17, 2020
c2c9e95
Merge pull request #3329 from git-developer/feature/fix-midi-componen…
Holzhaus Nov 17, 2020
dfbfa48
tools/githelper: Fix crash when used in a git worktree
Holzhaus Nov 17, 2020
ad8dc3a
Merge pull request #3333 from Holzhaus/githelper-fix
daschuer Nov 17, 2020
c90263e
PlayerManager: Use QStringLiteral for string concatenation
uklotzde Nov 17, 2020
abecb33
library/searchqueryparser: Fix non-const global char pointer
Holzhaus Nov 17, 2020
88c580c
Use QLatin1String instead of QStringLiteral for == comparisons
Holzhaus Nov 17, 2020
efd63a8
Merge pull request #3211 from fkbreitl/patch-1
Be-ing Nov 17, 2020
de839a0
Fix hotcue_focus off by one issue not matching the hotcue CO names
daschuer Nov 17, 2020
2ba325d
Merge pull request #3334 from Holzhaus/clazy-global-const-char-pointer
uklotzde Nov 18, 2020
1b0b051
GitHub Actions: Add Ubuntu 18.04 build
Holzhaus Nov 15, 2020
8179cca
GitHub Actions: Add ccache caching
Holzhaus Nov 15, 2020
38ae02d
GitHub Actions: Add testing, packaging and deployment for Ubuntu
Holzhaus Nov 18, 2020
0b8dfae
GitHub Actions: Improve ccache caching on Ubuntu
Holzhaus Nov 18, 2020
19c135d
Merge pull request #3332 from Holzhaus/qlatin1string
uklotzde Nov 18, 2020
69cd48e
Merge pull request #3330 from uklotzde/previewbuttondelegate
daschuer Nov 18, 2020
ba245bd
Replace dynamic_cast with qobject_cast
uklotzde Nov 18, 2020
ad9c2f7
GitHub Actions: Remove unneeded step from Ubuntu workflow
Holzhaus Nov 18, 2020
c4290f4
Replace static_cast with qobject_cast
uklotzde Nov 18, 2020
422f742
Delete redundant casts
uklotzde Nov 18, 2020
47b41d8
Replace static/dynamic_cast with qobject_cast
uklotzde Nov 18, 2020
8dbf159
GitHub Actions: Update ccache configuration
Holzhaus Nov 18, 2020
2356e36
GitHub Actions: Add comment regarding CMake version
Holzhaus Nov 18, 2020
133ea1e
Merge pull request #3338 from Holzhaus/gh-actions-ubuntu
Be-ing Nov 18, 2020
e7cf360
CMake: fix macOS build for macOS < 10.14
Be-ing Nov 15, 2020
65214e1
build Mixxx on macOS with GitHub Actions
Be-ing Nov 15, 2020
6ccf635
GH Actions: read macOS build environment name from file
Be-ing Nov 18, 2020
3e9b0f8
GH Actions: set MACOSX_DEPLOYMENT_TARGET from environment name
Be-ing Nov 18, 2020
a76433f
Merge pull request #3305 from Be-ing/github_actions_mac
Be-ing Nov 18, 2020
708fc54
use correct boolean interpreatation for CO values
daschuer Nov 19, 2020
9b922b3
Added helper functions for the HotcueIndex vs. HotcueNumber issue
daschuer Nov 19, 2020
0814bd8
Merge pull request #3340 from uklotzde/type_casts
daschuer Nov 19, 2020
4e1bebf
Pass non-trivial/large function args by reference
Holzhaus Nov 17, 2020
a099452
Fix -Wclazy-old-style-connect issues from *.ui files
Holzhaus Nov 18, 2020
9213b41
GitHub Actions: Use clazy level2 blocklist to make skipped tests expl…
Holzhaus Nov 17, 2020
a989e9a
Avoid hotcue buttons from being stucked in the pressed state
daschuer Nov 19, 2020
734aec1
Fix naming of CMake build flags env var
uklotzde Nov 19, 2020
6841b6d
Do not return void expressions
Holzhaus Nov 19, 2020
f121cfa
Added debug assertions and comments
daschuer Nov 19, 2020
1ddb095
Merge pull request #3346 from uklotzde/cmakeflags
uklotzde Nov 19, 2020
635d585
GitHub CI: Add Ubuntu 20.04 build
uklotzde Nov 19, 2020
f99d07b
Merge pull request #3335 from Holzhaus/clazy-function-args-by-ref
daschuer Nov 20, 2020
75fe3c2
GitHub CI: Use build matrix for macOS
uklotzde Nov 20, 2020
1d84af2
GitHub CI: No need to mention the default compiler for Ubuntu
uklotzde Nov 20, 2020
850a3d3
Merge branch '2.3' into gh-actions-ubuntu-2004
uklotzde Nov 20, 2020
01a7129
Paintable: Use a switch case instead of if/else ladder
Holzhaus Nov 20, 2020
8c43097
Merge branch '2.3' into clazy-returning-void-expression
uklotzde Nov 20, 2020
3ba4d90
CMake: Remove Protobuf workaround for unsupported CMake version
Holzhaus Nov 20, 2020
64f9b92
Shade: unblur crossfader knob
ronso0 Nov 20, 2020
84ac777
Merge pull request #3349 from ronso0/shade-crossfader
ronso0 Nov 20, 2020
030ac3a
Merge pull request #3347 from Holzhaus/clazy-returning-void-expression
uklotzde Nov 20, 2020
eeafb3d
GitHub Actions: Streamline macOS buildenv setup
Holzhaus Nov 19, 2020
1ce1570
GitHub CI: Partition cache by matrix.os instead of runner.os
uklotzde Nov 20, 2020
e47d649
Merge pull request #3348 from uklotzde/gh-actions-ubuntu-2004
Be-ing Nov 20, 2020
291dabd
GitHub Actions: Merge CI build steps using matrix build
Holzhaus Nov 20, 2020
2f1dbe3
tools: Print information about buildenv in scripts
Holzhaus Nov 20, 2020
627d567
GitHub Actions: Use matrix.os in ccache cache key
Holzhaus Nov 20, 2020
232d193
Merge branch '2.3' of github.com:mixxxdj/mixxx into gh-actions-improv…
Holzhaus Nov 21, 2020
b9726b9
GitHub Actions: Move Ubuntu package installation to buildenv script
Holzhaus Nov 21, 2020
c15e276
GitHub Actions: Improve artifact names of build workflow
Holzhaus Nov 21, 2020
678e320
GitHub Actions: Improve ccache size limit build step name
Holzhaus Nov 21, 2020
62b97d1
gitignore: Exclude buildenv directory
Holzhaus Nov 21, 2020
037f81c
Merge pull request #3351 from Holzhaus/gh-actions-improvements
Be-ing Nov 21, 2020
378918e
CMake: Fall back to libprotobuf if libprotobuf-lite was not found
Holzhaus Nov 21, 2020
70ce30a
Merge pull request #3353 from Holzhaus/protobuf-fallback
Be-ing Nov 21, 2020
5cc7703
GitHub Actions: Fix syntax issue in ubuntu_buildenv.sh script
Holzhaus Nov 21, 2020
5311b4e
Merge pull request #3354 from Holzhaus/gh-actions-ubuntu-fix
Be-ing Nov 21, 2020
5338b2c
GitHub CI: Don't abort clazy build on errors
uklotzde Nov 22, 2020
2291775
GH Actions: fix macOS codesigning
Be-ing Nov 22, 2020
af5ed09
Revert "GitHub CI: Don't abort clazy build on errors"
uklotzde Nov 23, 2020
7211bd4
GitHub CI: Don't abort clazy build on errors (2nd attempt)
uklotzde Nov 23, 2020
deb9cc9
add allow-unsigned-executable-memory macOS entitlement for JS JIT
Be-ing Nov 23, 2020
790ef84
GH Actions: deploy macOS builds to downloads.mixxx.org
Be-ing Nov 23, 2020
5567584
deploy.sh: fix getting file extension
Be-ing Nov 23, 2020
0a0bdc7
Merge pull request #3357 from uklotzde/clazy_error_limit
daschuer Nov 23, 2020
61de327
Fix clazy range-loop-analysis warnings in macOS build
uklotzde Nov 23, 2020
c708dca
Fix float-conversion warning on macOS
uklotzde Nov 23, 2020
5da74de
download macOS build environment from downloads.mixxx.org
Be-ing Nov 23, 2020
5536f14
Merge pull request #3361 from Be-ing/macos_build_env_mixxx
Be-ing Nov 23, 2020
3780f2b
Merge pull request #3360 from uklotzde/clazy-range-loop-analysis
Be-ing Nov 23, 2020
b6cf473
Cuecontrol: add CO 'play_latched' to indicate true 'Play' status
ronso0 Nov 22, 2020
f009706
LateNight: implement new 'play_latched' CO, clean up
ronso0 Nov 22, 2020
1aeb2a7
Deere: implement new 'play_latched' CO
ronso0 Nov 23, 2020
48db2e5
Tango: implement new 'play_latched' CO
ronso0 Nov 23, 2020
2f83f49
Shade: implement new 'play_latched' CO
ronso0 Nov 23, 2020
4a3806d
fix Xcode 9.2 build
Be-ing Nov 23, 2020
b9a4d86
macos_buildenv.sh script improvements
Be-ing Nov 23, 2020
505851b
remove run-mixxx.sh script for macOS
Be-ing Nov 23, 2020
5ef8ca3
macos_buildenv.sh code style
Be-ing Nov 23, 2020
1731ae5
macos_buildenv.sh zsh compatibility
Be-ing Nov 23, 2020
b4732f5
CMake: Add support for building with just protobuf-lite installed
Holzhaus Nov 22, 2020
ae86bbe
GitHub Actions: Replace --ghactions flag with GITHUB_ENV var in scripts
Holzhaus Nov 22, 2020
d9a7f8a
GitHub Actions: Add Windows build
Holzhaus Nov 21, 2020
f1f14c8
GitHub Actions: Add clcache support
Holzhaus Nov 22, 2020
55d0f15
GitHub Actions: Improve CMake argument handling
Holzhaus Nov 23, 2020
e4f7a2c
GitHub Actions: Use single line for Windows build tools
Holzhaus Nov 24, 2020
a865b42
GitHub Actions: Reorder cmake flags in build workflow
Holzhaus Nov 24, 2020
bc677b1
tools/windows_buildenv: Improve naming of Qt5_DIR variable
Holzhaus Nov 24, 2020
050e0a9
Rename Windows build environment file
Holzhaus Nov 24, 2020
89de965
GitHub Actions: Switch to Windows build to windows-2019
Holzhaus Nov 24, 2020
623d099
Merge pull request #3339 from Holzhaus/gh-actions-windows
Be-ing Nov 24, 2020
257df84
remove AppVeyor
Be-ing Nov 24, 2020
64630b2
HidController: Use strcpy/wcsncpy from C++ std namspace
Holzhaus Nov 24, 2020
e6433e3
SampleUtilTest: Fix data loss warnings
Holzhaus Nov 24, 2020
f543b52
EncoderMP3: Fix conversion warnings on Windows
Holzhaus Nov 24, 2020
03c54ad
engine/filters: Fix potential out-of-bounds read in setCoefs{2}
Holzhaus Nov 24, 2020
42c3e8e
util/lcs: Use int instead of size_t
Holzhaus Nov 24, 2020
9f0e49e
PortMidiControllerTest: Fix potential trunction of constant value
Holzhaus Nov 24, 2020
4c1de38
Parser: Fix potential trunction of constant value
Holzhaus Nov 24, 2020
d40b0b5
Merge remote-tracking branch 'upstream/2.3' into macos_buildenv_script
Be-ing Nov 24, 2020
44873f1
fix QT_PATH -> Qt5_DIR
Be-ing Nov 24, 2020
6ad0576
macos_buildenv.sh: improve interactive feedback
Be-ing Nov 24, 2020
e3d10b1
macos_buildenv.sh more zsh compatibility fixes
Be-ing Nov 24, 2020
98a2c20
macos_buildenv.sh: reorder output for easier readability
Be-ing Nov 24, 2020
b43b37a
macos_buildenv.sh: consolidate duplicated code into a function
Be-ing Nov 24, 2020
73831d2
macos_buildenv.sh: fix GitHub Actions build
Be-ing Nov 24, 2020
1fc3ce9
macos_buildenv.sh: make pre-commit happy
Be-ing Nov 24, 2020
d8bd0d9
GH Actions: disable all AutoDJ tests on Windows
Be-ing Nov 24, 2020
603a314
Merge pull request #3368 from Be-ing/windows_disable_autodj_tests
uklotzde Nov 24, 2020
3d7439d
Skins, libary: add focus border to all table cells
ronso0 Nov 17, 2020
6c79338
Shade: apply library font also to location delegate by packing librar…
ronso0 Nov 17, 2020
0e76005
Library: paint location text like other selected cells' text
ronso0 Nov 17, 2020
a735a49
CoverArtDelegate, ColorDelegate: draw a focus border, pick color from…
ronso0 Nov 18, 2020
eb7fba2
ColorDelegate: Switch if/else arms
uklotzde Nov 18, 2020
e1a8172
Merge pull request #3366 from Holzhaus/windows-fixes
uklotzde Nov 24, 2020
b4ba317
Merge pull request #3172 from ronso0/table-item-focus-border
uklotzde Nov 24, 2020
2b1b0f9
Merge pull request #3362 from Be-ing/macos_buildenv_script
Holzhaus Nov 25, 2020
ebf007f
GH Actions: verbose output for cpack
Be-ing Nov 25, 2020
c1516f0
Merge remote-tracking branch 'upstream/2.3' into hotcue_focus_off_by_one
daschuer Nov 25, 2020
a87d21f
Fix interaction between Mouse, Keyboard, Controller and Touch when pr…
daschuer Nov 25, 2020
b1dda31
prevent macOS code signing keychain access from timing out
Be-ing Nov 25, 2020
65eb3e6
Fix OpenGL swap buffer issues
JoergAtGithub Nov 24, 2020
d9557c3
Add ANGLE DLLs to Windows installer
JoergAtGithub Nov 24, 2020
9083294
Merge pull request #3370 from Be-ing/angle
Be-ing Nov 25, 2020
7d6f490
ConfigObject: fix creation of new config file
Be-ing Nov 26, 2020
1c544cd
ConfigObject: add comment explaining reason to check if file exists
Be-ing Nov 26, 2020
e0e5dd9
Allow menubar to be styled.
poelzi Nov 10, 2020
7e18fc4
Merge pull request #3371 from Be-ing/fix_new_config
uklotzde Nov 26, 2020
b8ff1ba
Merge pull request #3365 from Be-ing/remove_appveyor
uklotzde Nov 26, 2020
b1729ce
Introduce kNoHotCueNumber for clarification
daschuer Nov 26, 2020
9f299a0
Fix play latching via CUE right click and add a toot tip that describ…
daschuer Nov 26, 2020
c9e6e19
DlgPrefRecord: enable CUE sheet recording by default
Be-ing Nov 26, 2020
a92532e
Define constant as constexpr
uklotzde Nov 26, 2020
63a8f30
Safe and robust conversion between hot cue index <-> number
uklotzde Nov 26, 2020
a845157
Merge pull request #61 from uklotzde/hotcue_focus_off_by_one
daschuer Nov 27, 2020
8d262bf
Merge pull request #3374 from Be-ing/cue_sheet_default
daschuer Nov 27, 2020
0beb5ac
Merge pull request #3372 from ronso0/menubar-style
daschuer Nov 27, 2020
fb84ede
Merge pull request #3358 from ronso0/is_playing-control
daschuer Nov 27, 2020
7371f5d
Merge pull request #3336 from daschuer/hotcue_focus_off_by_one
uklotzde Nov 27, 2020
2516514
CMake: Fix usage of static protobuf libraries on Windows
Holzhaus Nov 27, 2020
2a9dfe1
GitHub Actions: Fix MSVC devenv setup
Holzhaus Nov 26, 2020
46c86c2
Move destructor to cpp file to fix build.
daschuer Nov 27, 2020
24a09c6
Fix event/eventfilter warnings from clazy 1.8
poelzi Nov 27, 2020
8697917
Merge pull request #3375 from poelzi/fix-events
daschuer Nov 27, 2020
0aac197
Merge remote-tracking branch 'upstream/2.3' into stuck_hotcue
daschuer Nov 28, 2020
097df28
Merge pull request #3344 from daschuer/stuck_hotcue
uklotzde Nov 28, 2020
19ec4a6
CMake: Add windows codesigning support
Holzhaus Nov 24, 2020
3cd029b
GitHub Actions: Add support for codesigning on Windows
Holzhaus Nov 27, 2020
b7d07ba
Merge pull request #3376 from Holzhaus/msvc-setup
uklotzde Nov 28, 2020
d6fec8d
KnobEventHandler: Fix Qt::MidButton deprecation warning
Holzhaus Nov 28, 2020
8c11eec
JsonWebTask: Replace deprecated FollowRedirectsAttribute
Holzhaus Nov 28, 2020
80e3eef
WSpinny: Replace deprecated Qt::MidButton
Holzhaus Nov 28, 2020
ed099d1
CMake: Mark include directories of external deps as SYSTEM
Holzhaus Nov 27, 2020
5c39548
CMake: Silence MSVC std::iterator deprecation warnings
Holzhaus Nov 26, 2020
7760fc0
CMake: Disable warnings suggesting MSVC-only extensions (strncpy_s, ...)
Holzhaus Nov 27, 2020
cb4ab3d
CMake: Suppress MSVC warnings in generated code
Holzhaus Nov 27, 2020
545502b
Fix various MSVC conversion data loss warnings
Holzhaus Nov 27, 2020
7c82ce3
WaveformWidgetFactory: Fix wrong type in for loop
Holzhaus Nov 28, 2020
a02b829
Prevent temporary copy during string conversion
uklotzde Nov 28, 2020
71f51b3
WPushButton: Use Qt::NoModifier instead of 0
Holzhaus Nov 28, 2020
2371014
ControllerDebug: Don't include null terminator in kLogMessagePrefixLe…
Holzhaus Nov 28, 2020
41733b9
Merge pull request #3369 from mixxxdj/windows-codesign
Be-ing Nov 28, 2020
66a6345
Merge pull request #3380 from Holzhaus/qt-deprecations-warnings-5.15.2
uklotzde Nov 28, 2020
04f39ec
Merge pull request #3377 from Holzhaus/msvc-warnings
uklotzde Nov 28, 2020
de3ef16
pre-commit: Replace deprecated check_byte-order-marker hook
Holzhaus Nov 28, 2020
bc9d7a4
GitHub Actions: Deduplicate pre-commit job
Holzhaus Nov 28, 2020
f120489
GitHub Actions: Upload patch artifact
Holzhaus Nov 28, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
277 changes: 277 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,277 @@
name: Build

on:
push:
pull_request:

jobs:
build:
strategy:
matrix:
include:
- name: Ubuntu 18.04 (gcc)
os: ubuntu-18.04
cmake_args: >-
-DFAAD=ON
-DKEYFINDER=ON
-DLOCALECOMPARE=ON
-DMAD=ON
-DMODPLUG=ON
-DWAVPACK=ON
cmake_generator: Unix Makefiles
ctest_args:
compiler_cache: ccache
compiler_cache_path: ~/.ccache
cpack_generator: DEB
buildenv_basepath: /home/runner/buildenv
buildenv_script: tools/ubuntu_buildenv.sh
artifacts_name: Ubuntu 18.04 DEB
artifacts_path: cmake_build/*.deb
qt_qpa_platform: offscreen
- name: Ubuntu 20.04 (gcc)
os: ubuntu-20.04
cmake_args: >-
-DFFMPEG=ON
-DKEYFINDER=ON
-DLOCALECOMPARE=ON
-DMAD=ON
-DMODPLUG=ON
-DWAVPACK=ON
cmake_generator: Unix Makefiles
ctest_args:
compiler_cache: ccache
compiler_cache_path: ~/.ccache
cpack_generator: DEB
buildenv_basepath: /home/runner/buildenv
buildenv_script: tools/ubuntu_buildenv.sh
artifacts_name: Ubuntu 20.04 DEB
artifacts_path: cmake_build/*.deb
qt_qpa_platform: offscreen
- name: macOS 10.15
os: macos-10.15
cmake_args: >-
-DCOREAUDIO=ON
-DHSS1394=ON
-DMACOS_BUNDLE=ON
cmake_generator: Unix Makefiles
# TODO: Fix this broken test on macOS
ctest_args: --exclude-regex DirectoryDAOTest.relocateDirectory
cpack_generator: DragNDrop
compiler_cache: ccache
compiler_cache_path: /Users/runner/Library/Caches/ccache
buildenv_basepath: /Users/runner/buildenv
buildenv_script: tools/macos_buildenv.sh
artifacts_name: macOS DMG
artifacts_path: cmake_build/*.dmg
qt_qpa_platform: offscreen
- name: Windows 2019 (MSVC)
os: windows-2019
cmake_args: >-
-DHSS1394=ON
-DKEYFINDER=OFF
-DLOCALECOMPARE=ON
-DMAD=ON
-DMEDIAFOUNDATION=ON
-DSTATIC_DEPS=ON
cc: cl
cxx: cl
cmake_generator: Ninja
# TODO: Fix these broken tests on Windows
ctest_args: --exclude-regex '^AutoDJProcessorTest.*$'
cpack_generator: WIX
compiler_cache: clcache
compiler_cache_path: ${{ github.workspace }}\clcache
buildenv_basepath: C:\buildenv
buildenv_script: tools/windows_buildenv.bat
artifacts_name: Windows Installer
artifacts_path: cmake_build/*.msi
qt_qpa_platform: windows

env:
# macOS codesigning
APPLE_CODESIGN_IDENTITY: 2C2B5D3EDCE82BA55E22E9A67F16F8D03E390870
MACOS_CODESIGN_OPENSSL_PASSWORD: ${{ secrets.MACOS_CODESIGN_OPENSSL_PASSWORD }}
MACOS_CODESIGN_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CODESIGN_CERTIFICATE_PASSWORD }}

runs-on: ${{ matrix.os }}
name: ${{ matrix.name }}
steps:
- name: "Check out repository"
uses: actions/checkout@v2

- name: "Set up cmake"
uses: jwlawson/[email protected]
with:
# This should always match the mininum required version in
# our CMakeLists.txt
cmake-version: '3.13.x'

- name: "[Windows] Install additional build tools"
if: runner.os == 'Windows'
run: python -m pip install ninja git+https://github.com/frerich/clcache.git

- name: "[Windows] Set up MSVC Developer Command Prompt"
if: runner.os == 'Windows'
uses: seanmiddleditch/gha-setup-vsdevenv@v3

- name: "[macOS/Windows] Get build environment name"
if: runner.os != 'Linux'
id: buildenv_name
run: ${{ matrix.buildenv_script }} name

- name: "[macOS/Windows] Set up build environment cache"
if: runner.os != 'Linux'
uses: actions/cache@v2
with:
path: ${{ matrix.buildenv_basepath }}
key: ${{ runner.os }}-buildenv-${{ env.BUILDENV_NAME }}

- name: "[macOS] Import Apple code signing identity"
id: apple_codesign
if: runner.os == 'macOS' && env.MACOS_CODESIGN_OPENSSL_PASSWORD != null && env.MACOS_CODESIGN_CERTIFICATE_PASSWORD != null
run: |
# 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 \
-out ~/certificate.p12

# Create a temporary keychain for the certificate and import it.
security create-keychain -p mixxx Mixxx.keychain
security unlock-keychain -p mixxx Mixxx.keychain
security import ~/certificate.p12 -k Mixxx.keychain \
-P "${MACOS_CODESIGN_CERTIFICATE_PASSWORD}" -A
security set-key-partition-list -S "apple-tool:,apple:" -k mixxx Mixxx.keychain
# Add keychain to search list
security list-keychains -s Mixxx.keychain
# Prevent keychain access from timing out
security set-keychain-settings Mixxx.keychain
echo "CMAKE_ARGS_EXTRA=${CMAKE_ARGS_EXTRA} -DAPPLE_CODESIGN_IDENTITY=${APPLE_CODESIGN_IDENTITY}" >> "${GITHUB_ENV}"

- name: "[Windows] Set up Windows code signing"
env:
WINDOWS_CODESIGN_CERTIFICATE_PATH: ${{ github.workspace }}\build\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 }}
if: runner.os == 'Windows' && env.WINDOWS_CODESIGN_SECURE_FILE_SALT != null && env.WINDOWS_CODESIGN_SECURE_FILE_SECRET != null
run: |
iex ((New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/appveyor/secure-file/master/install.ps1'))
appveyor-tools/secure-file -decrypt "$Env:WINDOWS_CODESIGN_CERTIFICATE_PATH.enc" -secret "$Env:WINDOWS_CODESIGN_SECURE_FILE_SECRET" -salt "$Env:WINDOWS_CODESIGN_SECURE_FILE_SALT"
Add-Content -Path "$Env:GITHUB_ENV" -Value "WINDOWS_CODESIGN_CERTIFICATE_PATH=$Env:WINDOWS_CODESIGN_CERTIFICATE_PATH"
Add-Content -Path "$Env:GITHUB_ENV" -Value "WINDOWS_CODESIGN_CERTIFICATE_PASSWORD=$Env:WINDOWS_CODESIGN_CERTIFICATE_PASSWORD"
Add-Content -Path "$Env:GITHUB_ENV" -Value "CMAKE_ARGS_EXTRA=-DWINDOWS_CODESIGN=ON"

- name: "Set up build environment"
id: buildenv
run: ${{ matrix.buildenv_script }} setup
env:
BUILDENV_BASEPATH: ${{ matrix.buildenv_basepath }}

- name: "Set compiler cache size limit"
# Set size to 2 GiB
run: ${{ matrix.compiler_cache }} -M 2097152

- name: "Set up compiler cache"
uses: actions/cache@v2
with:
path: ${{ matrix.compiler_cache_path }}
key: ${{ matrix.os }}-${{ matrix.compiler_cache }}-${{ github.head_ref }}-${{ github.run_number }}
restore-keys: |
${{ matrix.os }}-${{ matrix.compiler_cache }}-${{ github.head_ref }}
${{ matrix.os }}-${{ matrix.compiler_cache }}

- name: "Create build directory"
run: mkdir cmake_build

- name: "Configure"
run: >-
cmake
-G "${{ matrix.cmake_generator }}"
-DCMAKE_BUILD_TYPE=Release
"-DCMAKE_PREFIX_PATH=${{ env.CMAKE_PREFIX_PATH }}"
-DDEBUG_ASSERTIONS_FATAL=ON
-DQt5_DIR=${{ env.QT_PATH }} ${{ matrix.cmake_args }} ${{ env.CMAKE_ARGS_EXTRA }}
-DBATTERY=ON
-DBROADCAST=ON
-DBULK=ON
-DHID=ON
-DLILV=ON
-DOPUS=ON
-DQTKEYCHAIN=ON
-DVINYLCONTROL=ON
..
working-directory: cmake_build
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}

- name: "[Ubuntu/macOS] Set up gcc/clang problem matcher"
if: runner.os != 'Windows'
uses: ammaraskar/gcc-problem-matcher@master

- name: "[Windows] Set up MSVC problem matcher"
if: runner.os == 'Windows'
uses: ammaraskar/msvc-problem-matcher@master

- name: "Build"
run: cmake --build .
working-directory: cmake_build
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
CMAKE_BUILD_PARALLEL_LEVEL: 2
# GitHub Actions automatically zstd compresses caches
CCACHE_NOCOMPRESS: true
CLCACHE_COMPRESS: false
CLCACHE_HARDLINK: true

- name: "Print compiler cache stats"
run: ${{ matrix.compiler_cache }} -s

- name: "Test"
run: ctest --timeout 45 ${{ matrix.ctest_args }}
working-directory: cmake_build
env:
# Render analyzer waveform tests to an offscreen buffer
QT_QPA_PLATFORM: ${{ matrix.qt_qpa_platform }}
GTEST_COLOR: 1
CTEST_PARALLEL_LEVEL: 2
CTEST_OUTPUT_ON_FAILURE: 1

- name: Benchmark
run: cmake --build . --target mixxx-benchmark
working-directory: cmake_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

- 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

- 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

- name: "[macOS] Upload build to downloads.mixxx.org"
# skip deploying Ubuntu builds to downloads.mixxx.org because these are deployed to the PPA
if: runner.os == 'macOS' && env.DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY_PASSWORD != null
run: tools/deploy.sh
env:
FILE_TO_DEPLOY: ${{ matrix.artifacts_path }}
OS: ${{ runner.os }}
DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY_PASSWORD: ${{ secrets.DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY_PASSWORD }}
SSH_KEY: build/certificates/downloads-hostgator.mixxx.org.key

- name: "Upload GitHub Actions artifacts"
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.artifacts_name }}
path: ${{ matrix.artifacts_path }}
5 changes: 3 additions & 2 deletions .github/workflows/clazy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ jobs:
- name: Set up problem matcher
uses: ammaraskar/gcc-problem-matcher@master
- name: Build
run: cmake --build . -j $(nproc)
# Do not abort on errors and build/check the whole project
run: cmake --build . -j $(nproc) -- --keep-going
working-directory: cmake_build
env:
CLAZY_CHECKS: level1,no-rule-of-two-soft,no-non-pod-global-static,no-qproperty-without-notify,no-wrong-qevent-cast
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
47 changes: 31 additions & 16 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,48 @@ jobs:
pre-commit:
name: Detecting code style issues
runs-on: ubuntu-latest
if: github.event_name == 'push'
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- name: "Check out repository"
uses: actions/checkout@v2
with:
fetch-depth: 2

- name: "Set up Python"
uses: actions/setup-python@v2

- name: Install clang-format
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends clang-format-10
- uses: pre-commit/[email protected]

- name: "Detect code style issues (push)"
uses: pre-commit/[email protected]
if: github.event_name == 'push'
# There are too many files in the repo that have formatting issues. We'll
# disable these checks for now when pushing directly (but still run these
# on Pull Requests!).
env:
SKIP: end-of-file-fixer,trailing-whitespace,clang-format,eslint,no-commit-to-branch
pre-commit-pr:
name: Detecting code style issues
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 2
- uses: actions/setup-python@v2
- name: Install clang-format
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends clang-format-10
- uses: pre-commit/[email protected]

- name: "Detect code style issues (pull_request)"
uses: pre-commit/[email protected]
if: github.event_name == 'pull_request'
env:
SKIP: no-commit-to-branch
with:
# HEAD is the not yet integrated PR merge commit +refs/pull/xxxx/merge
# HEAD^1 is the PR target branch and HEAD^2 is the HEAD of the source branch
extra_args: --from-ref HEAD^1 --to-ref HEAD

- name: "Generate patch file"
if: failure()
run: |
git diff-index -p HEAD > "${PATCH_FILE}"
[ -s "${PATCH_FILE}" ] && echo "UPLOAD_PATCH_FILE=${PATCH_FILE}" >> "${GITHUB_ENV}"
env:
PATCH_FILE: pre-commit.patch

- name: "Upload patch artifact"
if: failure() && env.UPLOAD_PATCH_FILE != null
uses: actions/upload-artifact@v2
with:
name: ${{ env.UPLOAD_PATCH_FILE }}
path: ${{ env.UPLOAD_PATCH_FILE }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,6 @@ compile_commands.json

# Exclude documentation generated by Doxygen
/doxygen/

# Exclude buildenv directory from our helper scripts
/buildenv/
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.3.0
hooks:
- id: check-byte-order-marker
- id: fix-byte-order-marker
exclude: ^.*(\.cbproj|\.groupproj|\.props|\.sln|\.vcxproj|\.vcxproj.filters)$
- id: check-case-conflict
- id: check-json
Expand Down
9 changes: 0 additions & 9 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -248,12 +248,3 @@ addons:
notifications:
webhooks:
- https://mixxx.zulipchat.com/api/v1/external/travis?stream=travis&topic=build-status&api_key=$ZULIP_API_KEY

deploy:
provider: script
skip_cleanup: true
# Deploy is executed from cmake_build.
script: ../build/travis/deploy.sh
on:
all_branches: true
condition: "\"${TRAVIS_JOB_NAME}\" =~ CMake"
Loading