Skip to content
Open
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
81 changes: 38 additions & 43 deletions .github/workflows/build-appimage.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,38 @@
name: build-appimage

on:
push:
tags:
- 'v*'
branches:
- master
pull_request:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true

jobs:
build-appimage:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
submodules: true

- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
create-symlink: true
key: ${{ github.job }}

- name: Cache KDE Neon GPG key
id: cache-kde-neon-key
uses: actions/cache@v5
with:
path: kde-neon.gpg
key: kde-neon-key-v1

- name: Add KDE Neon repository
run: |
if [ ! -f kde-neon.gpg ]; then
name : build
- appimage

on : push : tags : -'v*' branches : -master pull_request : workflow_dispatch :

concurrency : group : ${{github.workflow}}
- $
{
{
github.event_name == 'pull_request' && github.head_ref || github.sha
}
}
cancel - in
- progress : true

jobs : build
- appimage : runs
- on
: ubuntu
- 22.04 steps : -uses : actions / checkout @v6 with : fetch
- depth : 0 submodules : true

- name : ccache uses : hendrikmuhs / ccache
- action @v1 .2 with : create
- symlink : true key : ${{github.job}}

- name
: Cache KDE Neon GPG key id : cache
- kde
- neon
- key uses : actions / cache @v5 with : path : kde
- neon.gpg key
: kde - neon - key - v1

- name : Add KDE Neon repository run : | if[!-f kde - neon.gpg]; then
curl -sSfL --retry 5 --retry-delay 5 https://archive.neon.kde.org/public.key | gpg --dearmor --yes -o kde-neon.gpg
fi
sudo cp kde-neon.gpg /usr/share/keyrings/kde-neon.gpg
Expand Down Expand Up @@ -79,10 +74,10 @@ jobs:
make -j$(getconf _NPROCESSORS_ONLN)
make DESTDIR=appdir install

# Extract version from CPackConfig.cmake
#Extract version from CPackConfig.cmake
export VERSION=$(grep -i "SET(CPACK_PACKAGE_VERSION " CPackConfig.cmake | cut -d\" -f 2)

# Configure linuxdeploy and make sure the plugin can be found
#Configure linuxdeploy and make sure the plugin can be found
export PATH=$PATH:$(pwd)/..
export UPDATE_INFORMATION="gh-releases-zsync|MUME|MMapper|latest|MMapper-*-x86_64.AppImage.zsync"
export QMAKE=/usr/bin/qmake6
Expand All @@ -95,7 +90,7 @@ jobs:
exit 1
fi

# Run linuxdeploy
#Run linuxdeploy
../linuxdeploy-x86_64.AppImage --appdir appdir --output appimage \
--executable appdir/usr/bin/mmapper \
--desktop-file appdir/usr/share/applications/org.mume.MMapper.desktop \
Expand Down
86 changes: 50 additions & 36 deletions .github/workflows/build-release.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,52 @@
name: build-release
name : build
- release

on:
push:
tags:
- 'v*'
branches:
- master
pull_request:
workflow_dispatch:
on : push : tags : -'v*' branches : -master pull_request : workflow_dispatch :

concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true
concurrency : group : ${{github.workflow}}
- $
{
{
github.event_name == 'pull_request' && github.head_ref || github.sha
}
}
cancel - in
- progress : true

jobs:
build:
runs-on: ${{ matrix.os }}
continue-on-error: false
strategy:
fail-fast: false
matrix:
os: [windows-2022, macos-15-intel, macos-15, ubuntu-24.04, ubuntu-24.04-arm]
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
submodules: true
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
create-symlink: ${{ runner.os != 'Windows' }}
key: ${{ github.job }}-${{ matrix.os }}
jobs : build : runs
- on : $
{
{
matrix.os
}
}
continue - on - error : false strategy : fail
- fast : false matrix : os
: [windows - 2022, macos - 15 - intel, macos - 15, ubuntu - 24.04, ubuntu - 24.04 - arm] steps
: -uses : actions
/ checkout @v6 with
: fetch - depth : 0 submodules : true
- name : ccache uses : hendrikmuhs / ccache
- action @v1 .2 with : create
- symlink : $
{
{
runner.os != 'Windows'
}
}
key : ${{github.job}} - $
{
{
matrix.os
}
}
variant: ${{ matrix.compiler == 'msvc' && 'sccache' || 'ccache' }}
- if: runner.os == 'Windows' || runner.os == 'macOS'
uses: lukka/get-cmake@latest
- if: runner.os == 'Windows'
uses: ilammy/msvc-dev-cmd@v1

# Install Dependencies (Ubuntu)
#Install Dependencies(Ubuntu)
- if: runner.os == 'Linux'
name: Install Packages for Ubuntu
run: |
Expand All @@ -52,7 +61,7 @@ jobs:
echo "CXX=g++-12" >> $GITHUB_ENV
echo "MMAPPER_CMAKE_EXTRA=-DUSE_MOLD=true -DPACKAGE_TYPE=Deb" >> $GITHUB_ENV

# Install Dependencies (Mac)
#Install Dependencies(Mac)
- if: runner.os == 'macOS'
name: Install Qt for Mac
uses: jurplel/install-qt-action@v4
Expand All @@ -66,7 +75,7 @@ jobs:
run: |
echo "MMAPPER_CMAKE_EXTRA=-DCMAKE_PREFIX_PATH=$QT_ROOT_DIR -DPACKAGE_TYPE=Dmg" >> $GITHUB_ENV

# Install Dependencies (Windows)
#Install Dependencies(Windows)
- if: runner.os == 'Windows'
name: Install Qt for Windows
uses: jurplel/install-qt-action@v4
Expand All @@ -77,7 +86,7 @@ jobs:
cache: true
modules: 'qtwebsockets qtmultimedia'

# Build
#Build
- if: runner.os == 'Windows'
name: Build MMapper for Windows
shell: pwsh
Expand All @@ -87,7 +96,12 @@ jobs:
cd build
cmake --version
$packageDir = ($env:GITHUB_WORKSPACE -replace '\\', '/') + "/artifact"
$launcher = ${{ matrix.compiler == 'msvc' && 'sccache' || 'ccache' }}
$launcher = $
{
{
matrix.compiler == 'msvc' && 'sccache' || 'ccache'
}
}
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -G 'Ninja' -DCPACK_PACKAGE_DIRECTORY="$packageDir" -DCMAKE_PREFIX_PATH=$env:QT_ROOT_DIR -DWITH_WEBSOCKET=ON -DWITH_QTKEYCHAIN=ON -DPACKAGE_TYPE=Nsis -DCMAKE_C_COMPILER_LAUNCHER="$launcher" -DCMAKE_CXX_COMPILER_LAUNCHER="$launcher" -S .. || exit -1
cmake --build . --parallel
- if: runner.os == 'Linux' || runner.os == 'macOS'
Expand All @@ -99,7 +113,7 @@ jobs:
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -G 'Ninja' -DCPACK_PACKAGE_DIRECTORY=${{ github.workspace }}/artifact $MMAPPER_CMAKE_EXTRA -DWITH_WEBSOCKET=ON -DWITH_QTKEYCHAIN=ON -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -S .. || exit -1
cmake --build . --parallel

# Package
#Package
- name: Package MMapper
run: cd build && cpack
- if: runner.os == 'Linux'
Expand Down
Loading
Loading