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

CI: Run LMMS #7427

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
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
16 changes: 16 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,16 @@ jobs:
update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
- name: Configure git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Install wine and p7zip
run: |
if [ "${{ matrix.arch }}" = "32" ]; then
dpkg --add-architecture i386 # add i386 arch for wine32
fi
apt-get --yes update
apt-get --yes install wine-stable p7zip-full
if [ "${{ matrix.arch }}" = "32" ]; then
apt-get --yes install wine32
fi
- name: Check out
uses: actions/checkout@v3
with:
Expand All @@ -219,6 +229,10 @@ jobs:
run: cmake --build build
- name: Package
run: cmake --build build --target package
- name: Unpack
run: |
mkdir build/install
7z x -obuild/install build/lmms-*.exe
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -315,6 +329,8 @@ jobs:
ctest --output-on-failure -j2
- name: Package
run: cmake --build build --target package
- name: Unpack
run: 7z x -obuild/install build/lmms-*.exe
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
Expand Down
121 changes: 121 additions & 0 deletions .github/workflows/run-help.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
---
name: run-help
'on': [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
help-linux:
name: help-linux
runs-on: ubuntu-latest
#container: ghcr.io/lmms/linux.gcc:20.04
steps:
- name: wait for build
uses: lewagon/wait-on-check-action@v1.3.4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
check-name: 'linux'
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 30
- name: Download workflow artifact
uses: dawidd6/action-download-artifact@v6
with:
workflow: build.yml
name: linux
- name: Extract artifact
run: |
chmod +x lmms-*.AppImage
./lmms-*.AppImage --appimage-extract
- name: Display help
run: |
cd squashfs-root/
./AppRun --help | grep "Usage: lmms"
help-macos:
strategy:
fail-fast: false
matrix:
config:
- arch: 'x86_64'
runner: 'macos-latest'
# ARM is currently disabled because there seems to be no runner available
# - arch: 'arm64'
# runner: 'macos-14-arm64'
name: help-macos-${{ matrix.config.arch }}
runs-on: ${{ matrix.config.runner }}
steps:
- name: wait for build
uses: lewagon/wait-on-check-action@v1.3.4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
check-name: macos-${{ matrix.config.arch }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 30
- name: Download workflow artifact
uses: dawidd6/action-download-artifact@v6
with:
workflow: build.yml
name: macos-${{ matrix.config.arch }}
- name: Mount the DMG
run: |
hdiutil attach lmms-*.dmg -mountpoint ~/tmpvolume
cp -R ~/tmpvolume/LMMS.app /tmp/
- name: Display help
run: |
/tmp/LMMS.app/Contents/MacOS/lmms --help | grep "Usage: lmms"
help-mingw:
strategy:
fail-fast: false
matrix:
arch: ['32', '64']
name: help-mingw${{ matrix.arch }}
runs-on: windows-latest
steps:
- name: wait for build
uses: lewagon/wait-on-check-action@v1.3.4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
check-name: mingw${{ matrix.arch }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 30
- name: Download workflow artifact
uses: dawidd6/action-download-artifact@v6
with:
workflow: build.yml
name: mingw${{ matrix.arch }}
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
- name: Display help
run: >
$exe = Get-ChildItem -Path . -Filter "lmms-*.exe" | Select-Object -First 1;
if ($null -eq $exe) { exit 1 };
$result = & $exe.FullName "--help" |
Select-String "Usage: lmms";
if($result.Matches.Count -eq 0) { exit 1 }
help-msvc:
strategy:
fail-fast: false
matrix:
arch: ['x86', 'x64']
name: help-msvc-${{ matrix.arch }}
runs-on: windows-latest
steps:
- name: wait for build
uses: lewagon/wait-on-check-action@v1.3.4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
check-name: msvc-${{ matrix.arch }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 30
- name: Download workflow artifact
uses: dawidd6/action-download-artifact@v6
with:
workflow: build.yml
name: msvc-${{ matrix.arch }}
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
- name: Display help
run: >
$exe = Get-ChildItem -Path . -Filter "lmms-*.exe" | Select-Object -Property Name;
if ($null -eq $exe) { exit 1 };
$result = & ".\$($exe.Name)" "--help" | Select-String "Usage: lmms";
if($result.Matches.Count -eq 0) { exit 1 }
Loading