Skip to content

Updating version

Updating version #644

Workflow file for this run

name: Ubuntu
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build-x86_64:
name: x86_64
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
name: Check out sources
- name: Install dependencies
run: |
sudo rm -f /etc/apt/sources.list.d/dotnetdev.list /etc/apt/sources.list.d/microsoft-prod.list
sudo apt update
sudo apt install --allow-downgrades cmake ninja-build extra-cmake-modules libpcap0.8-dev libsdl2-dev \
qt6-{base,base-private,multimedia}-dev libarchive-dev libzstd-dev libfuse2
- name: Install GStreamer dependencies
run: |
sudo apt-get install --allow-downgrades libunwind-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl \
gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
- name: Configure
run: cmake -B build -G Ninja -DUSE_QT6=ON -DCMAKE_INSTALL_PREFIX=/usr
- name: Build
run: |
cmake --build build
DESTDIR=AppDir cmake --install build
mv AppDir/usr/bin/melonDS AppDir/usr/bin/MelonMix
- name: Preparing artifacts (ubuntu-x86_64)
run: |
mkdir dist
mkdir -p ./dist/roms
touch ./dist/roms/DELETE_ME
mkdir -p ./dist/assets/days/cutscenes/cinematics
touch ./dist/assets/days/cutscenes/cinematics/DELETE_ME
cp AppDir/usr/bin/MelonMix ./dist/MelonMix
echo -ne "#!/bin/bash\n./MelonMix -f roms/days.nds" > ./dist/MelonMix_KHDays.sh
echo -ne "#!/bin/bash\n./MelonMix -f roms/recoded.nds" > ./dist/MelonMix_KHReCoded.sh
chmod +x ./dist/MelonMix_KHDays.sh
chmod +x ./dist/MelonMix_KHReCoded.sh
- uses: actions/upload-artifact@v4
with:
name: MelonMix-ubuntu-x86_64
path: dist
- name: Fetch AppImage tools
run: |
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
wget https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gstreamer/master/linuxdeploy-plugin-gstreamer.sh
chmod a+x linuxdeploy-*.AppImage
chmod a+x linuxdeploy-*.sh
- name: Build the AppImage
env:
QMAKE: /usr/lib/qt6/bin/qmake
run: |
./linuxdeploy-x86_64.AppImage --list-plugins
./linuxdeploy-x86_64.AppImage --appdir AppDir --plugin qt
./linuxdeploy-x86_64.AppImage --appdir AppDir --plugin gstreamer --output appimage
- name: Preparing artifacts (appimage-x86_64)
run: |
mkdir dist_appimage
mkdir -p ./dist_appimage/roms
touch ./dist_appimage/roms/DELETE_ME
mkdir -p ./dist_appimage/assets/days/cutscenes/cinematics
touch ./dist_appimage/assets/days/cutscenes/cinematics/DELETE_ME
mv MelonMix*.AppImage ./dist_appimage/MelonMix.AppImage
echo -ne "#!/bin/bash\n./MelonMix.AppImage -f roms/days.nds" > ./dist_appimage/MelonMix_KHDays.sh
echo -ne "#!/bin/bash\n./MelonMix.AppImage -f roms/recoded.nds" > ./dist_appimage/MelonMix_KHReCoded.sh
chmod +x ./dist_appimage/MelonMix_KHDays.sh
chmod +x ./dist_appimage/MelonMix_KHReCoded.sh
- uses: actions/upload-artifact@v4
with:
name: MelonMix-appimage-x86_64
path: dist_appimage
build-aarch64:
name: aarch64
runs-on: ubuntu-latest
container: ubuntu:22.04
steps:
- name: Prepare system
shell: bash
run: |
dpkg --add-architecture arm64
sh -c "sed \"s|^deb \([a-z\.:/]*\) \([a-z\-]*\) \(.*\)$|deb [arch=amd64] \1 \2 \3\ndeb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports \2 \3|\" /etc/apt/sources.list > /etc/apt/sources.list.new"
rm /etc/apt/sources.list
mv /etc/apt/sources.list{.new,}
apt update
apt -y full-upgrade
apt -y install git {gcc-12,g++-12}-aarch64-linux-gnu cmake ninja-build extra-cmake-modules \
{libsdl2,qt6-{base,base-private,multimedia},libarchive,libzstd}-dev:arm64 \
pkg-config dpkg-dev
- name: Check out source
uses: actions/checkout@v4
- name: Configure
shell: bash
run: |
cmake -B build -G Ninja \
-DPKG_CONFIG_EXECUTABLE=/usr/bin/aarch64-linux-gnu-pkg-config \
-DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc-12 \
-DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++-12 \
-DUSE_QT6=ON
- name: Build
shell: bash
run: |
cmake --build build
mkdir dist
mkdir -p ./dist/roms
touch ./dist/roms/DELETE_ME
mkdir -p ./dist/assets/days/cutscenes/cinematics
touch ./dist/assets/days/cutscenes/cinematics/DELETE_ME
mv build/melonDS dist/MelonMix
echo -ne "#!/bin/bash\n./MelonMix -f roms/days.nds" > dist/MelonMix_KHDays.sh
echo -ne "#!/bin/bash\n./MelonMix -f roms/recoded.nds" > dist/MelonMix_KHReCoded.sh
chmod +x dist/MelonMix_KHDays.sh
chmod +x dist/MelonMix_KHReCoded.sh
- uses: actions/upload-artifact@v4
with:
name: MelonMix-ubuntu-aarch64
path: dist