Compare commits
2 Commits
5b30bbe0c1
...
897384f3da
Author | SHA1 | Date |
---|---|---|
Adrian Siekierka | 897384f3da | |
Nadia Holmquist Pedersen | 15c3faa26e |
|
@ -4,6 +4,7 @@ on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
|
- ci/*
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
|
@ -15,16 +16,24 @@ env:
|
||||||
MELONDS_VERSION_SUFFIX: " RC"
|
MELONDS_VERSION_SUFFIX: " RC"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-x86_64:
|
build:
|
||||||
|
continue-on-error: true
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
arch:
|
||||||
|
- runner: ubuntu-22.04
|
||||||
name: x86_64
|
name: x86_64
|
||||||
runs-on: ubuntu-22.04
|
- runner: ubuntu-22.04-arm
|
||||||
|
name: aarch64
|
||||||
|
|
||||||
|
name: ${{ matrix.arch.name }}
|
||||||
|
runs-on: ${{ matrix.arch.runner }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
name: Check out sources
|
name: Check out sources
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo rm -f /etc/apt/sources.list.d/dotnetdev.list /etc/apt/sources.list.d/microsoft-prod.list
|
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install --allow-downgrades cmake ninja-build extra-cmake-modules libpcap0.8-dev libsdl2-dev libenet-dev \
|
sudo apt install --allow-downgrades cmake ninja-build extra-cmake-modules libpcap0.8-dev libsdl2-dev libenet-dev \
|
||||||
qt6-{base,base-private,multimedia}-dev libqt6svg6-dev libarchive-dev libzstd-dev libfuse2
|
qt6-{base,base-private,multimedia}-dev libqt6svg6-dev libarchive-dev libzstd-dev libfuse2
|
||||||
|
@ -36,56 +45,23 @@ jobs:
|
||||||
DESTDIR=AppDir cmake --install build
|
DESTDIR=AppDir cmake --install build
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: melonDS-ubuntu-x86_64
|
name: melonDS-ubuntu-${{ matrix.arch.name }}
|
||||||
path: AppDir/usr/bin/melonDS
|
path: AppDir/usr/bin/melonDS
|
||||||
- name: Fetch AppImage tools
|
- name: Fetch AppImage tools
|
||||||
|
# linuxdeploy doesn't seem to work on the aarch64 runners?
|
||||||
|
if: matrix.arch.name != 'aarch64'
|
||||||
run: |
|
run: |
|
||||||
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-${{ matrix.arch.name }}.AppImage
|
||||||
wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
|
wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-${{ matrix.arch.name }}.AppImage
|
||||||
chmod a+x linuxdeploy-*.AppImage
|
chmod a+x linuxdeploy-*.AppImage
|
||||||
- name: Build the AppImage
|
- name: Build the AppImage
|
||||||
|
if: matrix.arch.name != 'aarch64'
|
||||||
env:
|
env:
|
||||||
QMAKE: /usr/lib/qt6/bin/qmake
|
QMAKE: /usr/lib/qt6/bin/qmake
|
||||||
run: |
|
run: |
|
||||||
./linuxdeploy-x86_64.AppImage --appdir AppDir --plugin qt --output appimage
|
./linuxdeploy-${{ matrix.arch.name }}.AppImage --appdir AppDir --plugin qt --output appimage
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
|
if: matrix.arch.name != 'aarch64'
|
||||||
with:
|
with:
|
||||||
name: melonDS-appimage-x86_64
|
name: melonDS-appimage-${{ matrix.arch.name }}
|
||||||
path: melonDS*.AppImage
|
path: melonDS*.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},libqt6svg6,libarchive,libzstd,libenet}-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 \
|
|
||||||
-DMELONDS_EMBED_BUILD_INFO=ON
|
|
||||||
- name: Build
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
cmake --build build
|
|
||||||
- uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: melonDS-ubuntu-aarch64
|
|
||||||
path: build/melonDS
|
|
||||||
|
|
Loading…
Reference in New Issue