Skip to content

Commit

Permalink
CI: Run LMMS
Browse files Browse the repository at this point in the history
This runs `lmms --version` and `lmms --help` in the github CI. Further
checks, like importing an LMMS project to WAV via CLI, are conceivable.
  • Loading branch information
JohannesLorenz committed Sep 22, 2024
1 parent 1825208 commit 1786b43
Show file tree
Hide file tree
Showing 2 changed files with 130 additions and 0 deletions.
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
114 changes: 114 additions & 0 deletions .github/workflows/run-help.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
---
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/[email protected]
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'
- arch: 'arm64'
runner: 'macos-latest-arm64'
name: help-macos-${{ matrix.config.arch }}
runs-on: ${{ matrix.config.runner }}
steps:
- name: wait for build
uses: lewagon/[email protected]
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: |
mkdir -p /Volumes/lmms
hdiutil attach lmms-*.dmg -mountpoint /Volumes/lmms
cp -R "/Volumes/lmms/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/[email protected]
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: Display help
run: >
$result = & lmms-*.exe "--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/[email protected]
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: Display help
run: >
$result = & lmms-*.exe "--help" |
Select-String "Usage: lmms";
if($result.Matches.Count -eq 0) { exit 1 }

0 comments on commit 1786b43

Please sign in to comment.