Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
c6066d0
Move download, SHA256 check and unzip of Windows buildenv from window…
JoergAtGithub May 25, 2025
74e3221
Traktor Kontrol S4 Mk3: fix tempo fader offset (multiply with ticks/mm)
ronso0 May 31, 2025
8442a16
Traktor Kontrol S4 Mk3: add per-deck tempo fader offset
ronso0 May 31, 2025
1efd45f
fix(stem): improve waveform channel visibility
acolombier Jun 16, 2025
1ba1807
chore: remove bare assert
acolombier Jun 24, 2025
97f2eb2
Switch GitHub runner to Windows-2022
JoergAtGithub Apr 18, 2025
24bad87
Disabled 2 .aac.m4a test files on Windows, that always fail due to Wi…
JoergAtGithub Apr 18, 2025
ef1739b
Add a check, if the MSVC toolset version is new enough
JoergAtGithub Apr 19, 2025
e0f368e
Updated README.md to VS2022 and made the name of the special shell bold
JoergAtGithub Apr 19, 2025
c6832d5
Merge pull request #15006 from JoergAtGithub/update_to_windows2022_ru…
daschuer Jun 25, 2025
08cafce
Merge pull request #15000 from acolombier/chore/remove-bare-assert
Swiftb0y Jun 26, 2025
df921fc
Merge pull request #14882 from ronso0/s4-tempo-offset-per-deck
acolombier Jun 26, 2025
40a36d8
Update CMakeLists.txt
JoergAtGithub Jun 26, 2025
ea5d1cd
Update Translation template. Found 3220 source text(s) (12 new and 32…
daschuer Jun 26, 2025
4356aef
Pull latest translations from https://www.transifex.com/mixxx-dj-soft…
daschuer Jun 26, 2025
655f235
Update Translation template. Found 3119 source text(s) (0 new and 311…
daschuer Jun 26, 2025
748f8b3
Pull latest translations from https://www.transifex.com/mixxx-dj-soft…
daschuer Jun 26, 2025
6f5c157
Update CMakeLists.txt
JoergAtGithub Jun 26, 2025
66d70b1
Prefer CMake variables over ENV variables
JoergAtGithub Jun 26, 2025
8b629f0
(fix) Pref Broadcast: make setting string translatable
ronso0 Jun 27, 2025
66f2d35
Merge pull request #13306 from JoergAtGithub/cmake_download_buildenv_zip
daschuer Jun 27, 2025
51b0a99
Merge pull request #15023 from ronso0/pref-broadcasting-tr-string
Swiftb0y Jun 27, 2025
4d38307
ci(release): publish version to download server
acolombier Jun 27, 2025
7d27890
ci(2.5): remove all VCPKG_DEFAULT_HOST_TRIPLET entries from build.yml
Hapsa21 Jun 28, 2025
280d711
Merge pull request #14951 from acolombier/fix/improve-stem-waveform-c…
JoergAtGithub Jun 28, 2025
a9c58fb
Use same CMake internal buildenv download/unzip for macOS as for Windows
JoergAtGithub Jun 28, 2025
7deef78
Merge remote-tracking branch 'upstream/2.5' into sync-branch-2.5-to-2.6
acolombier Jun 28, 2025
8596127
(fix) Track Info dialog: restore column stretching
ronso0 Jun 28, 2025
63eacb5
Merge pull request #15029 from Hapsa21/fix/remove-unused-vcpkg-host-t…
daschuer Jun 28, 2025
400e7db
Merge pull request #15033 from JoergAtGithub/cmake_download_buildenv_…
daschuer Jun 28, 2025
401aedb
Merge pull request #15037 from ronso0/trackinfo-layout-fix
daschuer Jun 28, 2025
a6a1d87
ci(branch): allow running CI on fork branch without PR
acolombier Jun 28, 2025
5b477c1
Don't rename secrets when passing them to reusable workflows
daschuer Jun 29, 2025
eac628d
Separate the CPack/WiX logs for x64-windows and arm64-windows
JoergAtGithub Jun 29, 2025
b54f2dc
Merge pull request #15034 from acolombier/chore/allow-running-ci-on-fork
JoergAtGithub Jun 29, 2025
6b4e7a1
Keep secret name MIXXX_BRANCH_SYNC_PAT unchanged
daschuer Jun 29, 2025
cadf088
Merge pull request #15045 from JoergAtGithub/Fix_WiX_error_log
daschuer Jun 29, 2025
31d90e0
Merge pull request #15046 from daschuer/secret_renaming
acolombier Jun 29, 2025
df62ec5
chore(sync-branches): fix regression preventing trigger
acolombier Jun 29, 2025
1cdd7d8
Update CHANGELOG for Mixxx 2.5.3
daschuer Jun 29, 2025
510b806
Merge pull request #15049 from acolombier/chore/fix-sync-branch
daschuer Jun 29, 2025
73530b5
Merge pull request #15051 from daschuer/CHANGELOG25
JoergAtGithub Jun 29, 2025
82c7394
chore(sync-branches): fix regression preventing trigger
acolombier Jun 29, 2025
130cd90
Update Translation template. Found 3120 source text(s) (1 new and 311…
daschuer Jul 1, 2025
776d93e
Merge pull request #15052 from acolombier/chore/sync-branch-fix
daschuer Jul 1, 2025
5c4a0f4
Merge remote-tracking branch 'upstream/2.5' into sync-branch-2.5-to-2.6
acolombier Jul 1, 2025
41b0b31
Merge pull request #15035 from acolombier/sync-branch-2.5-to-2.6
acolombier Jul 1, 2025
11d060b
Merge remote-tracking branch 'upstream/2.6' into sync-branch-2.6-to-main
acolombier Jul 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 34 additions & 12 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,31 @@ name: Build

on:
workflow_call:
inputs:
publish:
type: boolean
default: false
secrets:
AZURE_CLIENT_ID:
required: false
AZURE_CLIENT_SECRET:
required: false
AZURE_TENANT_ID:
required: false
DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY:
required: false
DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY_PASSWORD:
required: false
MACOS_CODESIGN_CERTIFICATE_P12_BASE64:
required: false
MACOS_CODESIGN_CERTIFICATE_PASSWORD:
required: false
MACOS_NOTARIZATION_APP_SPECIFIC_PASSWORD:
required: false
NETLIFY_BUILD_HOOK:
required: false
RRYAN_AT_MIXXX_DOT_ORG_GPG_PRIVATE_KEY:
required: false

permissions:
contents: read # to fetch code (actions/checkout)
Expand Down Expand Up @@ -49,7 +74,6 @@ jobs:
-DQML=OFF
-DWAVPACK=ON
-DVCPKG_TARGET_TRIPLET=x64-osx-min1100-release
-DVCPKG_DEFAULT_HOST_TRIPLET=x64-osx-min1100-release
# TODO: Fix this broken test on macOS
ctest_args: --exclude-regex DirectoryDAOTest.relocateDirectory
cpack_generator: DragNDrop
Expand All @@ -74,7 +98,6 @@ jobs:
-DQML=ON
-DWAVPACK=ON
-DVCPKG_TARGET_TRIPLET=arm64-osx-min1100-release
-DVCPKG_DEFAULT_HOST_TRIPLET=x64-osx-min1100-release
# TODO: Fix this broken test on macOS
crosscompile: true
cpack_generator: DragNDrop
Expand Down Expand Up @@ -103,7 +126,6 @@ jobs:
-DQML=ON
-DWAVPACK=ON
-DVCPKG_TARGET_TRIPLET=x64-windows-release
-DVCPKG_DEFAULT_HOST_TRIPLET=x64-windows-release
cc: cl
cxx: cl
# TODO: Fix these broken tests on Windows
Expand Down Expand Up @@ -400,8 +422,8 @@ jobs:
if: always() && steps.package.outcome == 'failure' && runner.os == 'windows'
uses: actions/upload-artifact@v4
with:
name: logs-packages-wix
path: D:/a/mixxx/mixxx/build/_CPack_Packages/win64/WIX/wix.log
name: ${{ matrix.os }}-logs-packages-wix
path: ${{ github.workspace }}/build/_CPack_Packages/win64/WIX/wix.log

- name: "[Ubuntu] Import PPA GPG key"
if: startsWith(matrix.os, 'ubuntu') && env.RRYAN_AT_MIXXX_DOT_ORG_GPG_PRIVATE_KEY != null
Expand Down Expand Up @@ -458,7 +480,7 @@ jobs:
# also generates metadata for file artifact and write it to the job
# output using the artifacts_slug value.
id: prepare_deploy
if: github.event_name == 'push' && matrix.artifacts_path != null
if: inputs.publish && matrix.artifacts_path != null
shell: bash
run: >
if [[ "${GITHUB_REF}" =~ ^refs/tags/.* ]];
Expand All @@ -479,7 +501,7 @@ jobs:
- name: "[Windows] Install rsync and openssh"
env:
SSH_PRIVATE_KEY: ${{ secrets.DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY }}
if: runner.os == 'Windows' && github.event_name == 'push' && env.SSH_PRIVATE_KEY != null
if: runner.os == 'Windows' && inputs.publish && env.SSH_PRIVATE_KEY != null
run: |
if (Test-Path "C:\msys64\usr\bin") {
$msysPath="C:\msys64"
Expand Down Expand Up @@ -514,7 +536,7 @@ jobs:
Add-Content -Path "$Env:GITHUB_ENV" -Value "PATH=$Env:PATH"

- name: "Set up SSH Agent"
if: github.event_name == 'push' && env.SSH_PRIVATE_KEY != null
if: inputs.publish && env.SSH_PRIVATE_KEY != null
shell: bash
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
Expand All @@ -529,7 +551,7 @@ jobs:

- name: "[macOS/Windows] Upload build to downloads.mixxx.org"
# skip deploying Ubuntu builds to downloads.mixxx.org because these are deployed to the PPA
if: runner.os != 'Linux' && github.event_name == 'push' && env.SSH_AUTH_SOCK != null
if: runner.os != 'Linux' && inputs.publish && env.SSH_AUTH_SOCK != null
shell: bash --login -eo pipefail "{0}"
run: rsync --verbose --recursive --checksum --times --delay-updates "deploy/" "${SSH_USER}@${SSH_HOST}:${DESTDIR}/"
env:
Expand Down Expand Up @@ -575,7 +597,7 @@ jobs:
- name: "Collect Artifacts Metadata & Write Manifest"
# Retrieve the metadata from the matrix job's outputs, merge them into a
# single JSON document and then deploy to the server.
if: github.event_name == 'push' && env.SSH_PASSWORD != null
if: inputs.publish && env.SSH_PASSWORD != null
run: >
if [[ "${GITHUB_REF}" =~ ^refs/tags/.* ]];
then
Expand All @@ -593,7 +615,7 @@ jobs:
SSH_PASSWORD: ${{ secrets.DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY_PASSWORD }}

- name: "Set up SSH Agent"
if: github.event_name == 'push' && env.SSH_PRIVATE_KEY != null && env.MANIFEST_DIRTY != null && env.MANIFEST_DIRTY != '0'
if: inputs.publish && env.SSH_PRIVATE_KEY != null && env.MANIFEST_DIRTY != null && env.MANIFEST_DIRTY != '0'
shell: bash
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
Expand All @@ -607,7 +629,7 @@ jobs:
echo "SSH_AUTH_SOCK=${SSH_AUTH_SOCK}" >> "${GITHUB_ENV}"

- name: "Deploy Manifest"
if: github.event_name == 'push' && env.SSH_AUTH_SOCK != null
if: inputs.publish && env.SSH_AUTH_SOCK != null
shell: bash
run: rsync --verbose --recursive --checksum --times --delay-updates "deploy/" "${SSH_USER}@${SSH_HOST}:${DESTDIR}/"
env:
Expand Down
88 changes: 88 additions & 0 deletions .github/workflows/develop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Pull request or branch build

on:
pull_request:
types:
- opened
- synchronize
- reopened
- edited
push:
branches:
- "*"
- "!main"
- "![0-9].[0-9]"
workflow_dispatch:

permissions:
contents: read # to fetch code (actions/checkout)
checks: write # to create new checks (coverallsapp/github-action)

jobs:
stop-build:
name: Check if build should be stopped
runs-on: ubuntu-latest
outputs:
result: ${{ github.event_name == 'push' && steps.stop-build.outputs.result || 'false' }}
steps:
- name: Check if there is an open PR for this branch
id: stop-build
if: ${{ github.event_name == 'push' }}
uses: actions/github-script@v7
env:
ORGANIZATION: mixxxdj
REPOSITORY: mixxx
with:
script: |
try {
const branch = context.ref.replace('refs/heads/', '');
const { data: pullRequests } = await github.rest.pulls.list({
owner: process.env.ORGANIZATION,
repo: process.env.REPOSITORY,
head: `${context.repo.owner}:${branch}`,
state: 'open'
});
console.log(`There is ${pullRequests.length} PR open upstream for branch '${context.repo.owner}:${branch}'`);
return pullRequests.length != 0;
} catch (error) {
console.log(`Didn't find a PR for branch '${context.repo.owner}:${branch}' on '${process.env.ORGANIZATION}/${process.env.REPOSITORY}'.`);
return false;
}

pre-commit:
if: needs.stop-build.outputs.result == 'false'
needs:
- stop-build
uses: ./.github/workflows/pre-commit.yml
with:
pull_request: ${{ github.event_name == 'pull_request' }}

checks:
if: needs.stop-build.outputs.result == 'false'
needs:
- stop-build
uses: ./.github/workflows/checks.yml

git:
if: github.event_name == 'pull_request'
uses: ./.github/workflows/git.yml

build:
if: needs.stop-build.outputs.result == 'false'
needs:
- stop-build
uses: ./.github/workflows/build.yml

# This task is used as a probe for auto merge
# In the future, it could also be used to perform a status update (e.g once the whole CI is passing + is ready for review, add a specific label such as `need review`)
ready:
name: Ready to merge
needs:
- pre-commit
- checks
- git
- build
runs-on: ubuntu-latest
steps:
- name: Ready to go
run: "exit 0"
25 changes: 11 additions & 14 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ name: pre-commit

on:
workflow_call:
inputs:
pull_request:
type: boolean
default: false

permissions:
contents: read # to fetch code (actions/checkout)
Expand Down Expand Up @@ -36,26 +40,19 @@ jobs:
git config --global --add safe.directory "${GITHUB_WORKSPACE}"
git config --global --list

- name: "Detect code style issues (push)"
- name: "Detect code style issues"
uses: pre-commit/action@v3.0.1
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: clang-format,eslint,no-commit-to-branch

- name: "Detect code style issues (pull_request)"
uses: pre-commit/action@v3.0.1
if: github.event_name == 'pull_request'
env:
SKIP: no-commit-to-branch
# 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!).
SKIP: ${{ inputs.pull_request && 'no-commit-to-branch' || 'clang-format,eslint,no-commit-to-branch' }}
# https://github.com/paleite/eslint-plugin-diff?tab=readme-ov-file#ci-setup
ESLINT_PLUGIN_DIFF_COMMIT: ${{ github.event.pull_request.base.ref }}
ESLINT_PLUGIN_DIFF_COMMIT: ${{ inputs.pull_request && github.event.pull_request.base.ref || '' }}
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
extra_args: ${{ inputs.pull_request && '--from-ref HEAD^1 --to-ref HEAD' || '' }}

- name: "Generate patch file"
if: failure()
Expand Down
36 changes: 0 additions & 36 deletions .github/workflows/pull-request.yml

This file was deleted.

23 changes: 21 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@ env:
ACTIVE_VERSIONS: |-
{"2.5": "2.6", "2.6": "main"}

# Global allowed scopes for all actions
permissions:
contents: write # to sync branches
pull-requests: write # to sync branches
checks: write # to create new checks (coverallsapp/github-action)

jobs:
checks:
uses: ./.github/workflows/checks.yml
Expand All @@ -23,9 +29,22 @@ jobs:

build:
uses: ./.github/workflows/build.yml
with:
publish: true
secrets:
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY: ${{ secrets.DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY }}
DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY_PASSWORD: ${{ secrets.DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY_PASSWORD }}
MACOS_CODESIGN_CERTIFICATE_P12_BASE64: ${{ secrets.MACOS_CODESIGN_CERTIFICATE_P12_BASE64 }}
MACOS_CODESIGN_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CODESIGN_CERTIFICATE_PASSWORD }}
MACOS_NOTARIZATION_APP_SPECIFIC_PASSWORD: ${{ secrets.MACOS_NOTARIZATION_APP_SPECIFIC_PASSWORD }}
NETLIFY_BUILD_HOOK: ${{ secrets.NETLIFY_BUILD_HOOK }}
RRYAN_AT_MIXXX_DOT_ORG_GPG_PRIVATE_KEY: ${{ secrets.RRYAN_AT_MIXXX_DOT_ORG_GPG_PRIVATE_KEY }}

sync:
if: ${{ github.ref != 'refs/heads/main' }}
if: ${{ github.ref != 'refs/heads/main' }} && ${{ github.repository == 'mixxxdj/mixxx' }}
uses: ./.github/workflows/sync_branches.yml
secrets:
pat_token: ${{ secrets.MIXXX_BRANCH_SYNC_PAT }}
MIXXX_BRANCH_SYNC_PAT: ${{ secrets.MIXXX_BRANCH_SYNC_PAT }}
9 changes: 5 additions & 4 deletions .github/workflows/sync_branches.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
workflow_call:
secrets:
# PAT setup with content:write and pull_request:write
pat_token:
MIXXX_BRANCH_SYNC_PAT:
required: true

permissions: {}
Expand All @@ -13,7 +13,8 @@ env:
SYNC_COMMITTER_EMAIL: bot@mixxx.org
SYNC_COMMITTER_NAME: Mixxx Bot

# This variable stores the map of Mixxx branches that still being developed. The key is the branch receiving support and the value is the next version in line
# This variable stores the map of Mixxx branches that still being developed.
# The key is the branch receiving support and the value is the next version in line
# NOTE: this must be valid JSON!
ACTIVE_VERSIONS: |-
{"2.5": "2.6", "2.6": "main"}
Expand Down Expand Up @@ -41,7 +42,7 @@ jobs:
- name: "Check out repository"
uses: actions/checkout@v4.1.7
with:
token: ${{ secrets.pat_token }}
token: ${{ secrets.MIXXX_BRANCH_SYNC_PAT }}
fetch-depth: 0
persist-credentials: true

Expand Down Expand Up @@ -99,7 +100,7 @@ jobs:
FROM_BRANCH: ${{ github.ref_name }}
TO_BRANCH: ${{ fromJSON(env.ACTIVE_VERSIONS)[github.ref_name] }}
SYNC_BRANCH: sync-branch-${{ github.ref_name }}-to-${{ fromJSON(env.ACTIVE_VERSIONS)[github.ref_name] }}
GITHUB_TOKEN: ${{ secrets.pat_token }}
GITHUB_TOKEN: ${{ secrets.MIXXX_BRANCH_SYNC_PAT }}
PULL_REQUEST_TITLE: Merge changes from `${{ github.ref_name }}` into `${{ fromJSON(env.ACTIVE_VERSIONS)[github.ref_name] }}`
PULL_REQUEST_BODY: |
New content has landed in the `${{ github.ref_name }}` branch, so let's merge the changes into `${{ fromJSON(env.ACTIVE_VERSIONS)[github.ref_name] }}`
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,23 @@
* Fix: import proper QtQml.Models module instead of qmllabs [#14675](https://github.com/mixxxdj/mixxx/pull/14675)
* qmlwaveform: Fix moc in Qt 6.9.0 [#14649](https://github.com/mixxxdj/mixxx/pull/14649)

## [2.5.3](https://github.com/mixxxdj/mixxx/milestone/50) (unreleased)

### Controller Mappings

* Traktor Kontrol S4 Mk3: tempo offset per deck [#14882](https://github.com/mixxxdj/mixxx/pull/14882)
* Traktor Kontrol S4 Mk3: don`t duplicate beatloop_activate behaviour [#14992](https://github.com/mixxxdj/mixxx/pull/14992)
* Traktor Kontrol S3: allow full library navigation [#14980](https://github.com/mixxxdj/mixxx/pull/14980)

### Misc

* Broadcast preferences: make setting string translatable [#15023](https://github.com/mixxxdj/mixxx/pull/15023)
* Sound Hardware preference: add (?) linking to Sound APIs in the manual [#14935](https://github.com/mixxxdj/mixxx/pull/14935)
* xwax: do not try to "correct" for drift in absolute mode. [#14960](https://github.com/mixxxdj/mixxx/pull/14960)
* Fix column header text assignment [#14944](https://github.com/mixxxdj/mixxx/pull/14944)
* Remove runtime assert to not risk crashes [#15000](https://github.com/mixxxdj/mixxx/pull/15000)
* Windows: Update build environment to Visual Studio 2022 [#15006](https://github.com/mixxxdj/mixxx/pull/15006)

## [2.5.2](https://github.com/mixxxdj/mixxx/milestone/49) (2025-06-13)

### Library
Expand Down
Loading
Loading