Fix crash on lastFile op on initial load #6
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 🔨 Build & Release (TAG) | |
on: | |
push: | |
tags: | |
- '*' | |
jobs: | |
clang-format-check: | |
runs-on: ubuntu-24.04 | |
name: Clang-Format Check (TAG) | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: jidicula/clang-format-action@v4.15.0 | |
with: | |
clang-format-version: '19' | |
check-path: Source | |
build-windows: | |
runs-on: windows-latest | |
name: 🪟 Windows x86_64 (TAG) | |
strategy: | |
matrix: | |
configuration: [Release] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up MSBuild | |
uses: microsoft/setup-msbuild@v2 | |
- name: Initialize submodules | |
run: git submodule update --init | |
shell: powershell | |
- name: Set APP_VERSION for tags | |
run: echo "APP_VERSION=${{ github.ref_name }}" >> $env:GITHUB_ENV | |
shell: powershell | |
- name: Build | |
run: | | |
cmake Source -B .\Source\bin -A x64 "-DCMAKE_PREFIX_PATH=..\Externals\Qt\Qt6.5.3\x64" | |
cmake --build .\Source\bin --config ${{ matrix.configuration }} --parallel | |
shell: powershell | |
- name: Copy LICENSE, README to build directory | |
run: | | |
copy .\LICENSE .\Source\bin\${{ matrix.configuration }} | |
copy .\README.md .\Source\bin\${{ matrix.configuration }} | |
shell: powershell | |
- name: Create Release Archive | |
run: | | |
Compress-Archive -Path Source/bin/${{ matrix.configuration }}/* -DestinationPath dolphin-memory-engine-${{ github.ref_name }}-windows-amd64.zip | |
shell: powershell | |
- name: Publish Workflow Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: dolphin-memory-engine-${{ github.ref_name }}-windows-amd64 | |
path: dolphin-memory-engine-${{ github.ref_name }}-windows-amd64.zip | |
- name: Upload to GitHub Releases | |
uses: softprops/action-gh-release@v2 | |
if: github.ref_type == 'tag' | |
with: | |
files: dolphin-memory-engine-${{ github.ref_name }}-windows-amd64.zip | |
build-linux: | |
runs-on: ubuntu-22.04 | |
name: 🐧 Linux x86_64 (TAG) | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install Dependencies | |
run: | | |
sudo apt-get update | |
sudo apt install cmake libevdev-dev qt6-base-private-dev libqt6svg6 libqt6svg6-dev libgl1-mesa-dev libfuse2 | |
shell: bash | |
- name: Install GCC 10 and G++ 10 | |
run: | | |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y | |
sudo apt-get update | |
sudo apt-get install g++-10 gcc-10 -y | |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 90 | |
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 90 | |
- name: Set APP_VERSION for tags | |
run: echo "APP_VERSION=${GITHUB_REF_NAME}" >> $GITHUB_ENV | |
- name: Build | |
run: | | |
cmake Source -B Source/build -DCMAKE_BUILD_TYPE=Release | |
cmake --build Source/build --parallel | |
shell: bash | |
- name: Prepare Linux Binary | |
run: | | |
mkdir -p Source/build/linux_release_files | |
cp ./README.md ./Source/build/linux_release_files/ | |
cp ./LICENSE ./Source/build/linux_release_files/ | |
cp ./Source/build/dolphin-memory-engine ./Source/build/linux_release_files/dolphin-memory-engine | |
chmod +x ./Source/build/linux_release_files/dolphin-memory-engine | |
tar -czvf dolphin-memory-engine-${{ github.ref_name }}-linux-x86_64-binary.tar.gz -C Source/build/linux_release_files . | |
shell: bash | |
- name: Package AppImage | |
run: | | |
.github/assets/appimage.sh | |
shell: bash | |
- name: Rename AppImage for Release | |
id: rename_appimage | |
run: | | |
FINAL_APPIMAGE_NAME="dolphin-memory-engine-${{ github.ref_name }}-linux-x86_64.AppImage" | |
mv dolphin-memory-engine.AppImage $FINAL_APPIMAGE_NAME | |
echo "Renamed AppImage to $FINAL_APPIMAGE_NAME" | |
echo "appimage_name=$FINAL_APPIMAGE_NAME" >> $GITHUB_OUTPUT | |
shell: bash | |
- name: Publish Workflow Artifact (Linux binary tarball) | |
uses: actions/upload-artifact@v4 | |
with: | |
name: dolphin-memory-engine-${{ github.ref_name }}-linux-x86_64-binary | |
path: dolphin-memory-engine-${{ github.ref_name }}-linux-x86_64-binary.tar.gz | |
- name: Publish Workflow Artifact (AppImage) | |
uses: actions/upload-artifact@v4 | |
with: | |
name: dolphin-memory-engine-${{ github.ref_name }}-linux-x86_64-appimage | |
path: ${{ steps.rename_appimage.outputs.appimage_name }} | |
- name: Upload to GitHub Releases | |
uses: softprops/action-gh-release@v2 | |
if: github.ref_type == 'tag' | |
with: | |
files: | | |
${{ steps.rename_appimage.outputs.appimage_name }} | |
dolphin-memory-engine-${{ github.ref_name }}-linux-x86_64-binary.tar.gz | |
build-macos-intel: | |
runs-on: macos-13 | |
name: 🍎 macOS Intel (TAG) | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Initialize submodules | |
run: git submodule update --init | |
- name: Set APP_VERSION for tags | |
run: echo "APP_VERSION=${GITHUB_REF_NAME}" >> $GITHUB_ENV | |
- name: Build | |
run: | | |
mkdir -p Source/build | |
cd Source/build | |
cmake .. -DCMAKE_PREFIX_PATH="$(realpath ../../Externals/Qt-macOS)" | |
make | |
echo -e "\n" | ../../Tools/MacDeploy.sh | |
shell: bash | |
- name: Prepare macOS Release Artifacts | |
run: | | |
mkdir -p Source/build/macos_bundle_contents | |
cp ./README.md ./Source/build/macos_bundle_contents/ | |
cp ./LICENSE ./Source/build/macos_bundle_contents/ | |
cp ./Tools/MacSetup.sh ./Source/build/macos_bundle_contents/ | |
cp ./Source/build/dolphin-memory-engine.dmg ./Source/build/macos_bundle_contents/dolphin-memory-engine.dmg | |
shell: bash | |
- name: Create macOS Release Archive | |
run: | | |
(cd Source/build/macos_bundle_contents && zip -r ../../../dolphin-memory-engine-${{ github.ref_name }}-macOS-intel.zip .) | |
shell: bash | |
- name: Publish Workflow Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: dolphin-memory-engine-${{ github.ref_name }}-macOS-intel | |
path: dolphin-memory-engine-${{ github.ref_name }}-macOS-intel.zip | |
- name: Upload to GitHub Releases | |
uses: softprops/action-gh-release@v2 | |
if: github.ref_type == 'tag' | |
with: | |
files: dolphin-memory-engine-${{ github.ref_name }}-macOS-intel.zip |