Skip to content
Merged
Changes from all commits
Commits
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
36 changes: 30 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,25 @@ jobs:
artifacts_path: build/*.deb
artifacts_slug: ubuntu-focal
qt_qpa_platform: offscreen
- name: Arch Linux (Qt6, gcc)
os: ubuntu-20.04
# The Dockerfile for this container can be found at:
# https://github.com/Holzhaus/mixxx-ci-docker
container: holzhaus/mixxx-ci:20211016-qt6
cmake_args: >-
-DWARNINGS_FATAL=ON
-DQT6=ON
-DBULK=ON
-DFFMPEG=ON
-DLOCALECOMPARE=ON
-DMAD=ON
-DMODPLUG=ON
-DWAVPACK=ON
-DINSTALL_USER_UDEV_RULES=OFF
ctest_args:
compiler_cache: ccache
compiler_cache_path: ~/.ccache
qt_qpa_platform: offscreen
- name: macOS 10.15
os: macos-10.15
cmake_args: >-
Expand Down Expand Up @@ -88,6 +107,7 @@ jobs:
MACOS_CODESIGN_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CODESIGN_CERTIFICATE_PASSWORD }}

runs-on: ${{ matrix.os }}
container: ${{ matrix.container }}
name: ${{ matrix.name }}
outputs:
artifact-macos-macosintel: ${{ steps.prepare_deploy.outputs.artifact-macos-macosintel }}
Expand Down Expand Up @@ -145,12 +165,12 @@ jobs:
brew install ccache ninja

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

- name: "[macOS/Windows] Set up build environment cache"
if: runner.os != 'Linux'
if: runner.os != 'Linux' && matrix.buildenv_script != null
uses: actions/cache@v2
with:
path: ${{ matrix.buildenv_basepath }}
Expand Down Expand Up @@ -194,6 +214,7 @@ jobs:

- name: "Set up build environment"
id: buildenv
if: matrix.buildenv_script != null
run: ${{ matrix.buildenv_script }} setup
env:
BUILDENV_BASEPATH: ${{ matrix.buildenv_basepath }}
Expand Down Expand Up @@ -279,6 +300,7 @@ jobs:
QT_QPA_PLATFORM: ${{ matrix.qt_qpa_platform }}

- name: "Package"
if: matrix.cpack_generator != null
run: cpack -G ${{ matrix.cpack_generator }} -V
working-directory: build

Expand All @@ -290,7 +312,7 @@ jobs:

- name: "Package for PPA"
# No need to do the PPA build for both Ubuntu versions
if: matrix.os == 'ubuntu-20.04'
if: matrix.os == 'ubuntu-20.04' && matrix.cpack_generator == 'DEB'
run: |
if [[ "${{ github.ref }}" == "refs/heads/main" ]] && [[ "${{ github.repository }}" == "mixxxdj/mixxx" ]]; then
CPACK_ARGS="-D DEB_UPLOAD_PPA=ppa:mixxx/nightlies -D CPACK_DEBIAN_DEBIAN_VERSION=0ubuntu2"
Expand Down Expand Up @@ -322,7 +344,8 @@ 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'
if: github.event_name == 'push' && matrix.artifacts_slug != null && matrix.artifacts_path != null

shell: bash
run: >
if [[ "${GITHUB_REF}" =~ ^refs/tags/.* ]];
Expand Down Expand Up @@ -372,7 +395,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: github.event_name == 'push' && env.SSH_PRIVATE_KEY != null && matrix.artifacts_slug != null && matrix.artifacts_path != null
shell: bash
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
Expand All @@ -387,7 +410,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' && github.event_name == 'push' && env.SSH_AUTH_SOCK != null && matrix.artifacts_slug != null && matrix.artifacts_path != null
shell: bash --login -eo pipefail "{0}"
run: rsync --verbose --recursive --checksum --times --delay-updates "deploy/" "${SSH_USER}@${SSH_HOST}:${DESTDIR}/"
env:
Expand All @@ -403,6 +426,7 @@ jobs:
echo "C:/Windows/System32;C:/ProgramData/Chocolatey/bin" >> $GITHUB_PATH

- name: "Upload GitHub Actions artifacts"
if: matrix.artifacts_name != null && matrix.artifacts_path != null
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.artifacts_name }}
Expand Down