Nightly #1238
This file contains 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: Nightly | |
# Timed-trigger | |
on: | |
schedule: | |
# * is a special character in YAML so you have to quote this string | |
- cron: '*/30 0 * * *' | |
env: | |
buildDir: '${{ github.workspace }}/build' | |
jobs: | |
# Check if there was a commit in 24hours | |
build_check: | |
runs-on: ubuntu-latest | |
name: Check latest commit | |
outputs: | |
should_run: ${{ steps.should_run.outputs.should_run }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: print latest_commit | |
run: echo ${{ github.sha }} | |
- id: should_run | |
continue-on-error: true | |
name: check latest commit is less than a day | |
if: ${{ github.event_name == 'schedule' }} | |
run: test -z $(git rev-list --after="24 hours" ${{ github.sha }}) && echo "should_run=false" >> $GITHUB_OUTPUT | |
# Windows-builds | |
# MSVC | |
build_msvc: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-MSVC | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
# x86 builds | |
- name: diablo-x86 | |
#packages: 'sdl2:x86-windows libsodium:x86-windows' | |
cmakeargs: '-A Win32 -D_WIN32_WINNT=0x0600 -DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON' | |
artifact: 'diablo-nightly-x86.zip' | |
- name: hellfire-x86 | |
#packages: 'sdl2:x86-windows libsodium:x86-windows' | |
cmakeargs: '-A Win32 -D_WIN32_WINNT=0x0600 -DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-x86.zip' | |
- name: hellmini-x86 | |
#packages: 'sdl2:x86-windows' | |
cmakeargs: '-A Win32 -D_WIN32_WINNT=0x0501 -DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON -DHELLFIRE=ON -DHAS_JOYSTICK=OFF -DHAS_DPAD=OFF -DHAS_GAMECTRL=OFF -DHAS_TOUCHPAD=OFF -DHAS_KBCTRL=OFF -DNONET=ON -DNOSOUND=ON -DSCREEN_WIDTH=640 -DSCREEN_HEIGHT=480 -DNOWIDESCREEN=ON' | |
artifact: 'hellmini-nightly-x86.zip' | |
- name: hellsrv-x86 | |
#packages: 'sdl2:x86-windows libsodium:x86-windows' | |
cmakeargs: '-A Win32 -D_WIN32_WINNT=0x0501 -DNOHOSTING=OFF -DHOSTONLY=ON -DINET_MODE=ON -DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON -DHELLFIRE=ON -DHAS_JOYSTICK=OFF -DHAS_DPAD=OFF -DHAS_GAMECTRL=OFF -DHAS_TOUCHPAD=OFF -DHAS_KBCTRL=OFF -DNOSOUND=ON -DSCREEN_WIDTH=640 -DSCREEN_HEIGHT=480 -DNOWIDESCREEN=ON' | |
artifact: 'hellsrv-nightly-x86.zip' | |
# x64 builds | |
- name: diablo | |
#packages: 'sdl2:x64-windows libsodium:x64-windows' | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON' | |
artifact: 'diablo-nightly-x64.zip' | |
- name: hellfire | |
#packages: 'sdl2:x64-windows libsodium:x64-windows' | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-x64.zip' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
# Download and build vcpkg, without installing any port. If content is cached already, it is a no-op. | |
- name: Create Build Environment | |
uses: lukka/[email protected] | |
with: | |
vcpkgGitCommitId: 'f7423ee180c4b7f40d43402c2feb3859161ef625' | |
#setupOnly: true | |
# Now that vcpkg is installed, it is being used to run with the desired arguments. | |
#- name: Install Required Packages | |
# run: | | |
# vcpkg install ${{ matrix.packages }} | |
# # Start-Process -Wait -NoNewWindow -FilePath "$env:VCPKG_ROOT\vcpkg" -ArgumentList "install ${{ matrix.packages }}" | |
# # $VCPKG_ROOT/vcpkg install ${{ matrix.packages }} | |
# #shell: bash | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{ env.buildDir }} | |
run: cmake .. ${{ matrix.cmakeargs }} -DCMAKE_BUILD_TYPE="Release" -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake | |
- name: Build | |
working-directory: ${{ env.buildDir }} | |
shell: bash | |
# Execute the build (-j 2 : with two cores). | |
run: cmake --build . -j 2 --target package --config Release | |
# Upload the created artifact | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
path: ${{ env.buildDir }}/devilutionx.zip | |
name: ${{ matrix.artifact }} | |
# MingW 32bit | |
build_mingw: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-MingW | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo-x86, hellfire-x86] | |
include: | |
# x86 builds | |
- name: diablo-x86 | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON' | |
artifact: 'diablo-nightly-mingw-x86.zip' | |
- name: hellfire-x86 | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-mingw-x86.zip' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Create Build Environment | |
run: > | |
sudo apt-get update && | |
sudo apt install -y cmake gcc-mingw-w64-i686 g++-mingw-w64-i686 pkg-config-mingw-w64-i686 libz-mingw-w64-dev gettext dpkg-dev wget git sudo && | |
sudo rm /usr/i686-w64-mingw32/lib/libz.dll.a && | |
sudo Packaging/windows/mingw-prep.sh | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{github.workspace}} | |
run: cmake -S. -Bbuild ${{ matrix.cmakeargs }} -DCMAKE_BUILD_TYPE="Release" -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc.toolchain.cmake | |
- name: Build | |
working-directory: ${{github.workspace}} | |
shell: bash | |
run: cmake --build build -j $(nproc) --target package | |
# Upload the created artifact | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
path: build/devilutionx.zip | |
name: ${{ matrix.artifact }} | |
# MingW 64bit | |
build_mingw_x64: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-MingW-x64 | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
# x64 builds | |
- name: diablo-x64 | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON' | |
artifact: 'diablo-nightly-mingw-x64.zip' | |
- name: hellfire-x64 | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-mingw-x64.zip' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Create Build Environment | |
run: > | |
sudo apt-get update && | |
sudo apt-get install -y cmake gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 pkg-config-mingw-w64-x86-64 libz-mingw-w64-dev dpkg-dev wget git sudo && | |
sudo rm /usr/x86_64-w64-mingw32/lib/libz.dll.a && | |
sudo Packaging/windows/mingw-prep.sh | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{github.workspace}} | |
run: cmake -S. -Bbuild ${{ matrix.cmakeargs }} -DCMAKE_BUILD_TYPE="Release" -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc64.toolchain.cmake | |
- name: Build | |
working-directory: ${{github.workspace}} | |
shell: bash | |
run: cmake --build build -j $(nproc) --target package | |
# Upload the created artifact | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
path: build/devilutionx.zip | |
name: ${{ matrix.artifact }} | |
# MingW Win9x | |
build_w98: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-MingW-Win9x | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo-x86, hellfire-x86] | |
include: | |
# x86 builds | |
- name: diablo-w9x | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DUSE_PATCH=ON -DNONET=ON' | |
artifact: 'diablo-nightly-mingw-w9x.zip' | |
- name: hellfire-w9x | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DUSE_PATCH=ON -DNONET=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-mingw-w9x.zip' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Create Build Environment | |
run: > | |
sudo apt-get update && | |
sudo apt-get install -y cmake gcc-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64-tools libz-mingw-w64-dev gettext dpkg-dev wget git sudo && | |
sudo rm /usr/i686-w64-mingw32/lib/libz.dll.a && | |
sudo Packaging/windows/mingw9x-prep.sh | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{ env.buildDir }} | |
run: cmake .. ${{ matrix.cmakeargs }} -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../CMake/mingw9x.toolchain.cmake -DTARGET_PLATFORM=windows9x | |
- name: Build | |
working-directory: ${{ env.buildDir }} | |
shell: bash | |
run: cmake --build . -j $(nproc) --target package | |
# Upload the created artifact | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
path: ${{ env.buildDir }}/devilutionx.zip | |
name: ${{ matrix.artifact }} | |
# Linux-builds | |
# 64bit | |
build_linux64: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-Linux-x64 | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
- name: diablo | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF' | |
artifact: 'diablo-nightly-x86_64-linux-gnu.tar.xz' | |
appimage: 'diablo-nightly-x86_64-linux-gnu.appimage' | |
- name: hellfire | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-x86_64-linux-gnu.tar.xz' | |
appimage: 'hellfire-nightly-x86_64-linux-gnu.appimage' | |
- name: diablo-uxp | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON' | |
artifact: 'diablo-nightly-x86_64-linux-gnup.tar.xz' | |
appimage: 'diablo-nightly-x86_64-linux-gnup.appimage' | |
- name: hellfire-uxp | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-x86_64-linux-gnup.tar.xz' | |
appimage: 'hellfire-nightly-x86_64-linux-gnup.appimage' | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Create Build Environment | |
run: Packaging/nix/debian-host-prep.sh | |
#- name: Cache CMake build folder | |
# uses: actions/cache@v3 | |
# with: | |
# path: build | |
# key: ${{ github.workflow }}-v1-${{ github.sha }} | |
# restore-keys: ${{ github.workflow }}-v1- | |
- name: Build | |
working-directory: ${{github.workspace}} | |
shell: bash | |
env: | |
CMAKE_BUILD_TYPE: ${{github.event_name == 'release' && 'Release' || 'RelWithDebInfo'}} | |
run: | | |
cmake -S. -Bbuild ${{ matrix.cmakeargs }} -DCMAKE_BUILD_TYPE=${{env.CMAKE_BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=/usr -DCPACK=ON && \ | |
cmake --build build -j $(getconf _NPROCESSORS_ONLN) --target package | |
- name: Package | |
run: Packaging/nix/LinuxReleasePackaging.sh && mv devilutionx.tar.xz devilutionx-x86_64-linux-gnu.tar.xz | |
- name: Package AppImage | |
run: Packaging/nix/AppImage.sh && mv devilutionx.appimage devilutionx-x86_64-linux-gnu.appimage | |
- name: Upload Package | |
if: ${{ !env.ACT }} | |
uses: actions/upload-artifact@v4 | |
with: | |
path: devilutionx-x86_64-linux-gnu.tar.xz | |
name: ${{ matrix.artifact }} | |
- name: Upload AppImage | |
if: ${{ !env.ACT }} | |
uses: actions/upload-artifact@v4 | |
with: | |
path: devilutionx-x86_64-linux-gnu.appimage | |
name: ${{ matrix.appimage }} | |
# aarch64 | |
build_aarch: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-Aarch-x64 | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
- name: diablo-aa64 | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF' | |
artifact: 'diablo-nightly-aarch64.tar.xz' | |
- name: hellfire-aa64 | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-aarch64.tar.xz' | |
- name: diablo-aa64p | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON' | |
artifact: 'diablo-nightly-aarch64p.tar.xz' | |
- name: hellfire-aa64p | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-aarch64p.tar.xz' | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Create Build Environment | |
run: | | |
# Work around the somewhat broken packages in the GitHub Actions Ubuntu 20.04 image. | |
# https://github.com/actions/runner-images/issues/4620#issuecomment-981333260 | |
sudo apt-get -y install --allow-downgrades libpcre2-8-0=10.34-7 | |
Packaging/nix/debian-cross-aarch64-prep.sh | |
- name: Build | |
working-directory: ${{github.workspace}} | |
shell: bash | |
env: | |
CMAKE_BUILD_TYPE: ${{github.event_name == 'release' && 'Release' || 'RelWithDebInfo'}} | |
run: | | |
cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=../CMake/aarch64-linux-gnu.toolchain.cmake \ | |
${{ matrix.cmakeargs }} -DCMAKE_BUILD_TYPE=${{env.CMAKE_BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=/usr -DCPACK=ON && \ | |
cmake --build build -j $(getconf _NPROCESSORS_ONLN) --target package | |
- name: Package | |
run: Packaging/nix/LinuxReleasePackaging.sh && mv devilutionx.tar.xz devilutionx-aarch64.tar.xz | |
# AppImage cross-packaging is not implemented yet. | |
# - name: Package AppImage | |
# run: Packaging/nix/AppImage.sh && mv devilutionx.appimage devilutionx-aarch64.appimage | |
- name: Upload Package | |
if: ${{ !env.ACT }} | |
uses: actions/upload-artifact@v4 | |
with: | |
path: devilutionx-aarch64.tar.xz | |
name: ${{ matrix.artifact }} | |
# Mac-builds | |
build_mac: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-Mac | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
- name: diablo-mac | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_SDL2=OFF' | |
artifact: 'diablo-nightly-mac.dmg' | |
- name: hellfire-mac | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_SDL2=OFF -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-mac.dmg' | |
- name: diablo-macp | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON' | |
artifact: 'diablo-nightly-macp.dmg' | |
- name: hellfire-macp | |
cmakeargs: '-DDEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-macp.dmg' | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Create Build Environment | |
run: brew bundle install | |
- name: Configure CMake | |
shell: bash | |
working-directory: ${{github.workspace}} | |
run: cmake -S. -Bbuild -DMACOSX_STANDALONE_APP_BUNDLE=ON ${{ matrix.cmakeargs }} | |
- name: Build | |
working-directory: ${{github.workspace}} | |
shell: bash | |
# Execute the build (-j 2 : with two cores). | |
run: cmake --build build -j $(sysctl -n hw.physicalcpu) --target package | |
# Upload the created artifact | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
path: ${{ env.buildDir }}/devilutionx.dmg | |
name: ${{ matrix.artifact }} | |
# iOS-builds | |
build_ios: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-IOS | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
- name: diablo-ios | |
cmakeargs: '' | |
artifact: 'diablo-nightly-ios.ipa' | |
- name: hellfire-ios | |
cmakeargs: '-DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-ios.ipa' | |
- name: diablo-iosp | |
cmakeargs: '-DUSE_PATCH=ON' | |
artifact: 'diablo-nightly-iosp.ipa' | |
- name: hellfire-iosp | |
cmakeargs: '-DUSE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-iosp.ipa' | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Configure CMake | |
# Use a bash shell so we can use the same syntax for environment variable | |
# access regardless of the host operating system | |
shell: bash | |
working-directory: ${{github.workspace}} | |
run: cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=../CMake/ios.toolchain.cmake -DENABLE_BITCODE=0 -DPLATFORM=OS64 ${{ matrix.cmakeargs }} | |
- name: Build | |
working-directory: ${{github.workspace}} | |
shell: bash | |
run: > | |
cmake --build build -j $(sysctl -n hw.physicalcpu) --config Release && | |
cd build && | |
rm -rf Payload devilutionx.ipa && | |
mkdir Payload && | |
mv devilutionx.app Payload && | |
zip -r devilutionx.ipa Payload | |
# Upload the created artifact | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
path: ${{ env.buildDir }}/devilutionx.ipa | |
name: ${{ matrix.artifact }} | |
# Android-builds | |
build_android: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-Android | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
- name: diablo | |
artifact: 'diablo-nightly-android.apk' | |
- name: hellfire | |
cmakearg0: '-DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-android.apk' | |
- name: diablo-adrp | |
cmakearg0: '-DUSE_PATCH=ON' | |
artifact: 'diablo-nightly-androidp.apk' | |
- name: hellfire-adrp | |
cmakearg0: '-DUSE_PATCH=ON' | |
cmakearg1: '-DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-androidp.apk' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install gettext | |
run: sudo apt-get update && sudo apt-get install -y gettext | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
cache: gradle | |
# CMake version 3.21.3 causes gradle to throw a NullPointerException during the build | |
# Removing it will cause gradle to fall back on 3.18.1 installed by the Android SDK | |
- name: Remove system CMake | |
run: rm /usr/local/bin/cmake | |
#- name: Cache CMake build folder | |
# uses: actions/cache@v3 | |
# with: | |
# path: android-project/app/.cxx | |
# key: ${{ github.workflow }}-v1-${{ github.sha }} | |
# restore-keys: ${{ github.workflow }}-v1- | |
- name: Build | |
working-directory: ${{github.workspace}} | |
shell: bash | |
run: cd android-project && ./gradlew assembleRelease -Pcmakearg0="${{ matrix.cmakearg0 }}" -Pcmakearg1="${{ matrix.cmakearg1 }}" -Pcmakearg2="${{ matrix.cmakearg2 }}" | |
- name: Upload-Package | |
uses: actions/upload-artifact@v4 | |
with: | |
#name: devilutionx-debug.apk | |
#path: android-project/app/build/outputs/apk/debug/app-debug.apk | |
name: ${{ matrix.artifact }} | |
path: android-project/app/build/outputs/apk/release/app-release-unsigned.apk | |
# rg350-builds | |
build_rg350: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-RG350 | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
- name: diablo | |
cmakeargs: '-DZEROTIER=OFF' | |
artifact: 'diablo-nightly-rg350.opk' | |
- name: hellfire | |
cmakeargs: '-DZEROTIER=OFF -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-rg350.opk' | |
- name: diablo-rgp | |
cmakeargs: '-DZEROTIER=OFF -DUSE_PATCH=ON' | |
artifact: 'diablo-nightly-rg350p.opk' | |
- name: hellfire-rgp | |
cmakeargs: '-DZEROTIER=OFF -DUSE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-rg350p.opk' | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
# curl -L http://od.abstraction.se/opendingux/toolchain/opendingux-gcw0-toolchain.2021-10-22.tar.xz -o gcw0-toolchain.tar.xz && | |
# curl -L http://od.abstraction.se/opendingux/toolchain/opendingux-gcw0-toolchain.2021-03-10.tar.xz -o gcw0-toolchain.tar.xz && | |
- name: Create Build Environment | |
run: > | |
sudo apt-get update && | |
sudo apt-get install -y curl cmake git squashfs-tools && | |
curl -L https://github.com/OpenDingux/buildroot/releases/download/od-2022.09.22/opendingux-gcw0-toolchain.2022-09-22.tar.xz -o gcw0-toolchain.tar.xz && | |
sudo mkdir -p /opt/gcw0-toolchain && sudo chown -R "${USER}:" /opt/gcw0-toolchain && | |
tar -C /opt -xf gcw0-toolchain.tar.xz && | |
cd /opt/gcw0-toolchain && ./relocate-sdk.sh | |
- name: Build | |
working-directory: ${{github.workspace}} | |
shell: bash | |
run: Packaging/OpenDingux/build.sh rg350 "${{ matrix.cmakeargs }}" | |
env: | |
TOOLCHAIN: /opt/gcw0-toolchain | |
- name: Upload-Package | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.artifact }} | |
path: build-rg350/devilutionx-rg350.opk | |
# lepus-builds | |
build_lepus: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-Lepus | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
- name: diablo | |
cmakeargs: '' | |
artifact: 'diablo-nightly-lepus.opk' | |
- name: hellfire | |
cmakeargs: '-DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-lepus.opk' | |
- name: diablo-lepp | |
cmakeargs: '-DUSE_PATCH=ON' | |
artifact: 'diablo-nightly-lepusp.opk' | |
- name: hellfire-lepp | |
cmakeargs: '-DUSE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-lepusp.opk' | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
# curl -L http://od.abstraction.se/opendingux/toolchain/opendingux-lepus-toolchain.2021-10-22.tar.xz -o lepus-toolchain.tar.xz && | |
# curl -L http://od.abstraction.se/opendingux/toolchain/opendingux-lepus-toolchain.2021-03-11.tar.xz -o lepus-toolchain.tar.xz && | |
- name: Create Build Environment | |
run: > | |
sudo apt-get update && | |
sudo apt-get install -y curl cmake git squashfs-tools && | |
curl -L https://github.com/OpenDingux/buildroot/releases/download/od-2022.09.22/opendingux-lepus-toolchain.2022-09-22.tar.xz -o lepus-toolchain.tar.xz && | |
sudo mkdir -p /opt/lepus-toolchain && sudo chown -R "${USER}:" /opt/lepus-toolchain && | |
tar -C /opt -xf lepus-toolchain.tar.xz && | |
cd /opt/lepus-toolchain && ./relocate-sdk.sh | |
- name: Build | |
working-directory: ${{github.workspace}} | |
shell: bash | |
run: Packaging/OpenDingux/build.sh lepus "${{ matrix.cmakeargs }}" | |
env: | |
TOOLCHAIN: /opt/lepus-toolchain | |
- name: Upload-Package | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.artifact }} | |
path: build-lepus/devilutionx-lepus.opk | |
# retrofw-builds | |
build_retrofw: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-RetroFW | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
- name: diablo | |
cmakeargs: '-DZEROTIER=OFF' | |
artifact: 'diablo-nightly-retrofw.opk' | |
- name: hellfire | |
cmakeargs: '-DZEROTIER=OFF -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-retrofw.opk' | |
- name: diablo-rtrp | |
cmakeargs: '-DZEROTIER=OFF -DUSE_PATCH=ON' | |
artifact: 'diablo-nightly-retrofwp.opk' | |
- name: hellfire-rtrp | |
cmakeargs: '-DZEROTIER=OFF -DUSE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-retrofwp.opk' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
#sudo apt-get install -y curl git smpq && | |
#curl -L https://github.com/retrofw/buildroot/releases/download/2018.02.11/mipsel-linux-uclibc_x64.tar.gz -o retrofw-toolchain.tar.xz && | |
#sudo mkdir -p /opt/mipsel-linux-uclibc && sudo chown -R "${USER}:" /opt/mipsel-linux-uclibc && | |
#tar -C /opt -xvf retrofw-toolchain.tar.xz | |
- name: Create Build Environment | |
run: > | |
sudo apt-get update && | |
sudo apt-get install -y curl cmake git squashfs-tools gettext && | |
curl -L https://github.com/retrofw/retrofw.github.io/releases/download/v2.3/mipsel-RetroFW-linux-uclibc_sdk-buildroot.tar.gz -o retrofw-toolchain.tar.gz && | |
sudo mkdir -p /opt/retrofw-toolchain && sudo chown -R "${USER}:" /opt/retrofw-toolchain && | |
tar -C /opt/retrofw-toolchain --strip-components=1 -xf retrofw-toolchain.tar.gz && | |
cd /opt/retrofw-toolchain && ./relocate-sdk.sh | |
#TOOLCHAIN: /opt/mipsel-linux-uclibc | |
- name: Build | |
working-directory: ${{github.workspace}} | |
shell: bash | |
run: Packaging/OpenDingux/build.sh retrofw "${{ matrix.cmakeargs }}" | |
env: | |
TOOLCHAIN: /opt/retrofw-toolchain | |
- name: Upload-Package | |
uses: actions/upload-artifact@v4 | |
with: | |
#name: devilutionx-retrofw.opk.zip | |
name: ${{ matrix.artifact }} | |
path: build-retrofw/devilutionx-retrofw.opk | |
# ps4-builds | |
build_ps4: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-PS4 | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
- name: diablo | |
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF' | |
artifact: 'diablo-nightly-ps4.pkg' | |
- name: hellfire | |
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-ps4.pkg' | |
- name: diablo-ps4p | |
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON' | |
artifact: 'diablo-nightly-ps4p.pkg' | |
- name: hellfire-ps4p | |
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -DUSE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-ps4p.pkg' | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Create Build Environment | |
run: > | |
sudo apt-get update && | |
sudo apt-get install -y wget cmake git gettext && | |
wget https://github.com/PacBrew/pacbrew-pacman/releases/download/v1.1/pacbrew-pacman-1.1.deb && | |
sudo dpkg -i pacbrew-pacman-1.1.deb && sudo pacbrew-pacman -Sy && | |
sudo pacbrew-pacman --noconfirm -S ps4-openorbis ps4-openorbis-portlibs && | |
echo "#include <endian.h>" | sudo tee /opt/pacbrew/ps4/openorbis/include/sys/endian.h | |
- name: Build | |
working-directory: ${{github.workspace}} | |
shell: bash | |
run: Packaging/ps4/build.sh "${{ matrix.cmakeargs }}" | |
- name: Upload-Package | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.artifact }} | |
path: build-ps4/devilutionx-ps4.pkg | |
# vita-builds | |
build_vita: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-VITA | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
- name: diablo | |
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -DNONET=ON' | |
artifact: 'diablo-nightly-vita.vpk' | |
- name: hellfire | |
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -DNONET=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-vita.vpk' | |
- name: diablo-vita | |
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -DNONET=ON -D USE_PATCH=ON' | |
artifact: 'diablo-nightly-vitap.vpk' | |
- name: hellfire-vita | |
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -DNONET=ON -D USE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-vitap.vpk' | |
runs-on: ubuntu-latest | |
container: vitasdk/vitasdk:latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Create Build Environment | |
run: apk add git ninja gettext | |
- name: Configure CMake | |
run: | | |
cmake -S. -Bbuild -GNinja \ | |
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} ${{ matrix.cmakeargs }} \ | |
-DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake | |
- name: Build | |
run: cmake --build build -j $(sysctl -n hw.physicalcpu) | |
- name: Upload Package | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.artifact }} | |
path: build/devilutionx.vpk | |
# n3ds-builds | |
build_n3ds: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-Nintendo 3DS | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
- name: diablo | |
cmakeargs: '-DNONET=ON' | |
artifact: 'diablo-nightly-3ds.3dsx' | |
cia: 'diablo-nightly-3ds.cia' | |
- name: hellfire | |
cmakeargs: '-DNONET=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-3ds.3dsx' | |
cia: 'hellfire-nightly-3ds.cia' | |
- name: diablo-3ds | |
cmakeargs: '-DNONET=ON -D USE_PATCH=ON' | |
artifact: 'diablo-nightly-3dsp.3dsx' | |
cia: 'diablo-nightly-3dsp.cia' | |
- name: hellfire-3ds | |
cmakeargs: '-DNONET=ON -D USE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-3dsp.3dsx' | |
cia: 'hellfire-nightly-3dsp.cia' | |
runs-on: ubuntu-latest | |
container: devkitpro/devkitarm:latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install dependencies | |
run: | | |
apt-get update && \ | |
apt-get install -y --no-install-recommends --no-install-suggests \ | |
ffmpeg \ | |
gettext | |
- name: Get external dependencies | |
run: | | |
wget https://github.com/diasurgical/bannertool/releases/download/1.2.0/bannertool.zip | |
unzip -j "bannertool.zip" "linux-x86_64/bannertool" -d "/opt/devkitpro/tools/bin" | |
wget https://github.com/3DSGuy/Project_CTR/releases/download/makerom-v0.18/makerom-v0.18-ubuntu_x86_64.zip | |
unzip "makerom-v0.18-ubuntu_x86_64.zip" "makerom" -d "/opt/devkitpro/tools/bin" | |
chmod a+x /opt/devkitpro/tools/bin/makerom | |
- name: Configure CMake | |
run: | | |
cmake -S. -Bbuild -GNinja \ | |
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} ${{ matrix.cmakeargs }} -DNINTENDO_3DS=ON \ | |
-DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/3DS.cmake | |
- name: Build DevilutionX | |
run: cmake --build build -j$(nproc) | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.artifact }} | |
path: build/devilutionx.3dsx | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.cia }} | |
path: build/devilutionx.cia | |
# switch-builds | |
build_switch: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-Nintendo Switch | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
- name: diablo | |
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -DNONET=ON' | |
artifact: 'diablo-nightly-switch.nro' | |
- name: hellfire | |
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -DNONET=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-switch.nro' | |
- name: diablo-switch | |
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -DNONET=ON -D USE_PATCH=ON' | |
artifact: 'diablo-nightly-switchp.nro' | |
- name: hellfire-switch | |
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -DNONET=ON -D USE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-switchp.nro' | |
runs-on: ubuntu-latest | |
container: devkitpro/devkita64:latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
# - name: Create Build Environment | |
# run: brew bundle install | |
- name: Install dependencies | |
shell: bash | |
run: | | |
apt-get update && \ | |
apt-get install -y --no-install-recommends --no-install-suggests \ | |
gettext | |
- name: Configure CMake | |
run: | | |
cmake -S . -B build \ | |
-D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} ${{ matrix.cmakeargs }} \ | |
-D CMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake | |
- name: Build DevilutionX | |
run: cmake --build build -j$(nproc) | |
- name: Upload Package | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.artifact }} | |
path: ./build/devilutionx.nro | |
# amiga-builds | |
build_amiga: | |
needs: build_check | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
name: Nightly-Amiga M68K | |
strategy: | |
fail-fast: false | |
matrix: | |
#name: [diablo, hellfire] | |
include: | |
- name: diablo | |
cmakeargs: '-DNONET=ON' | |
artifact: 'diablo-nightly-amiga' | |
- name: hellfire | |
cmakeargs: '-DNONET=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-amiga' | |
- name: diablo-amiga | |
cmakeargs: '-DNONET=ON -D USE_PATCH=ON' | |
artifact: 'diablo-nightly-amigap' | |
- name: hellfire-amiga | |
cmakeargs: '-DNONET=ON -D USE_PATCH=ON -DHELLFIRE=ON' | |
artifact: 'hellfire-nightly-amigap' | |
runs-on: ubuntu-latest | |
container: amigadev/crosstools:m68k-amigaos-gcc10 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Run prep.sh script | |
run: Packaging/amiga/prep.sh | |
- name: Configure CMake | |
run: | | |
cmake -S. -Bbuild -GNinja \ | |
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} ${{ matrix.cmakeargs }} \ | |
-DM68K_COMMON="-s -ffast-math -O3" \ | |
-DM68K_CPU=68040 \ | |
-DM68K_FPU=hard | |
- name: Build DevilutionX | |
run: cmake --build build | |
- name: Upload Package | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.artifact }} | |
path: ./build/devilutionx | |
# Releases | |
release: | |
needs: [build_check, build_msvc, build_mingw, build_mingw_x64, build_w98, build_linux64, build_aarch, build_mac, build_ios, build_android, build_rg350, build_lepus, build_retrofw, build_ps4, build_vita, build_n3ds, build_switch, build_amiga] | |
if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
#runs-on: windows-latest | |
runs-on: ubuntu-latest | |
steps: | |
# Windows-builds (x86) | |
- name: Download a diablo artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-x86.zip | |
- run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/diablo-nightly-x86.zip | |
- name: Download a hellfire artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-x86.zip | |
- run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-x86.zip | |
- name: Download a diablo artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellmini-nightly-x86.zip | |
- run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellmini-nightly-x86.zip | |
- name: Download a diablo artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellsrv-nightly-x86.zip | |
- run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellsrv-nightly-x86.zip | |
- name: Download a diablo artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-mingw-x86.zip | |
- run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/diablo-nightly-mingw-x86.zip | |
- name: Download a hellfire artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-mingw-x86.zip | |
- run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-mingw-x86.zip | |
- name: Download a diablo artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-mingw-w9x.zip | |
- run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/diablo-nightly-mingw-w9x.zip | |
- name: Download a hellfire artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-mingw-w9x.zip | |
- run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-mingw-w9x.zip | |
# Windows-builds (x64) | |
- name: Download a diablo artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-x64.zip | |
- run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/diablo-nightly-x64.zip | |
- name: Download a hellfire artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-x64.zip | |
- run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-x64.zip | |
- name: Download a diablo artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-mingw-x64.zip | |
- run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/diablo-nightly-mingw-x64.zip | |
- name: Download a hellfire artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-mingw-x64.zip | |
- run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-mingw-x64.zip | |
# Linux-builds (x64) | |
- name: Download a diablo artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-x86_64-linux-gnu.tar.xz | |
- run: mv ${{github.workspace}}/devilutionx-x86_64-linux-gnu.tar.xz ${{github.workspace}}/diablo-nightly-x86_64-linux-gnu.tar.xz | |
- name: Download a diablo artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-x86_64-linux-gnu.appimage | |
- run: mv ${{github.workspace}}/devilutionx-x86_64-linux-gnu.appimage ${{github.workspace}}/diablo-nightly-x86_64-linux-gnu.appimage | |
- name: Download a hellfire artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-x86_64-linux-gnu.tar.xz | |
- run: mv ${{github.workspace}}/devilutionx-x86_64-linux-gnu.tar.xz ${{github.workspace}}/hellfire-nightly-x86_64-linux-gnu.tar.xz | |
- name: Download a hellfire artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-x86_64-linux-gnu.appimage | |
- run: mv ${{github.workspace}}/devilutionx-x86_64-linux-gnu.appimage ${{github.workspace}}/hellfire-nightly-x86_64-linux-gnu.appimage | |
- name: Download a diablo artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-x86_64-linux-gnup.tar.xz | |
- run: mv ${{github.workspace}}/devilutionx-x86_64-linux-gnu.tar.xz ${{github.workspace}}/diablo-nightly-x86_64-linux-gnup.tar.xz | |
- name: Download a diablo artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-x86_64-linux-gnup.appimage | |
- run: mv ${{github.workspace}}/devilutionx-x86_64-linux-gnu.appimage ${{github.workspace}}/diablo-nightly-x86_64-linux-gnup.appimage | |
- name: Download a hellfire artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-x86_64-linux-gnup.tar.xz | |
- run: mv ${{github.workspace}}/devilutionx-x86_64-linux-gnu.tar.xz ${{github.workspace}}/hellfire-nightly-x86_64-linux-gnup.tar.xz | |
- name: Download a hellfire artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-x86_64-linux-gnup.appimage | |
- run: mv ${{github.workspace}}/devilutionx-x86_64-linux-gnu.appimage ${{github.workspace}}/hellfire-nightly-x86_64-linux-gnup.appimage | |
# Aarch64-builds (x64) | |
- name: Download a diablo aarch64-artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-aarch64.tar.xz | |
- run: mv ${{github.workspace}}/devilutionx-aarch64.tar.xz ${{github.workspace}}/diablo-nightly-aarch64.tar.xz | |
- name: Download a diablo aarch64-artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-aarch64p.tar.xz | |
- run: mv ${{github.workspace}}/devilutionx-aarch64.tar.xz ${{github.workspace}}/diablo-nightly-aarch64p.tar.xz | |
- name: Download a hellfire aarch64-artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-aarch64.tar.xz | |
- run: mv ${{github.workspace}}/devilutionx-aarch64.tar.xz ${{github.workspace}}/hellfire-nightly-aarch64.tar.xz | |
- name: Download a hellfire aarch64-artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-aarch64p.tar.xz | |
- run: mv ${{github.workspace}}/devilutionx-aarch64.tar.xz ${{github.workspace}}/hellfire-nightly-aarch64p.tar.xz | |
# Mac-builds | |
- name: Download a diablo mac-artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-mac.dmg | |
- run: mv ${{github.workspace}}/devilutionx.dmg ${{github.workspace}}/diablo-nightly-mac.dmg | |
- name: Download a diablo mac-artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-macp.dmg | |
- run: mv ${{github.workspace}}/devilutionx.dmg ${{github.workspace}}/diablo-nightly-macp.dmg | |
- name: Download a hellfire mac-artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-mac.dmg | |
- run: mv ${{github.workspace}}/devilutionx.dmg ${{github.workspace}}/hellfire-nightly-mac.dmg | |
- name: Download a hellfire mac-artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-macp.dmg | |
- run: mv ${{github.workspace}}/devilutionx.dmg ${{github.workspace}}/hellfire-nightly-macp.dmg | |
# iOS-builds | |
- name: Download a diablo iOS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-ios.ipa | |
- run: mv ${{github.workspace}}/devilutionx.ipa ${{github.workspace}}/diablo-nightly-ios.ipa | |
- name: Download a diablo iOS artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-iosp.ipa | |
- run: mv ${{github.workspace}}/devilutionx.ipa ${{github.workspace}}/diablo-nightly-iosp.ipa | |
- name: Download a hellfire iOS artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-ios.ipa | |
- run: mv ${{github.workspace}}/devilutionx.ipa ${{github.workspace}}/hellfire-nightly-ios.ipa | |
- name: Download a hellfire iOS artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-iosp.ipa | |
- run: mv ${{github.workspace}}/devilutionx.ipa ${{github.workspace}}/hellfire-nightly-iosp.ipa | |
# Android-builds | |
- name: Download a diablo android artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-android.apk | |
- run: mv ${{github.workspace}}/app-release-unsigned.apk ${{github.workspace}}/diablo-nightly-android.apk | |
- name: Download a diablo android artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-androidp.apk | |
- run: mv ${{github.workspace}}/app-release-unsigned.apk ${{github.workspace}}/diablo-nightly-androidp.apk | |
- name: Download a hellfire android artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-android.apk | |
- run: mv ${{github.workspace}}/app-release-unsigned.apk ${{github.workspace}}/hellfire-nightly-android.apk | |
- name: Download a hellfire android artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-androidp.apk | |
- run: mv ${{github.workspace}}/app-release-unsigned.apk ${{github.workspace}}/hellfire-nightly-androidp.apk | |
# rg350-builds | |
- name: Download a diablo rg350 artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-rg350.opk | |
- run: mv ${{github.workspace}}/devilutionx-rg350.opk ${{github.workspace}}/diablo-nightly-rg350.opk | |
- name: Download a diablo rg350 artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-rg350p.opk | |
- run: mv ${{github.workspace}}/devilutionx-rg350.opk ${{github.workspace}}/diablo-nightly-rg350p.opk | |
- name: Download a hellfire rg350 artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-rg350.opk | |
- run: mv ${{github.workspace}}/devilutionx-rg350.opk ${{github.workspace}}/hellfire-nightly-rg350.opk | |
- name: Download a hellfire rg350 artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-rg350p.opk | |
- run: mv ${{github.workspace}}/devilutionx-rg350.opk ${{github.workspace}}/hellfire-nightly-rg350p.opk | |
# lepus-builds | |
- name: Download a diablo lepus artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-lepus.opk | |
- run: mv ${{github.workspace}}/devilutionx-lepus.opk ${{github.workspace}}/diablo-nightly-lepus.opk | |
- name: Download a diablo lepus artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-lepusp.opk | |
- run: mv ${{github.workspace}}/devilutionx-lepus.opk ${{github.workspace}}/diablo-nightly-lepusp.opk | |
- name: Download a hellfire lepus artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-lepus.opk | |
- run: mv ${{github.workspace}}/devilutionx-lepus.opk ${{github.workspace}}/hellfire-nightly-lepus.opk | |
- name: Download a hellfire lepus artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-lepusp.opk | |
- run: mv ${{github.workspace}}/devilutionx-lepus.opk ${{github.workspace}}/hellfire-nightly-lepusp.opk | |
# retrofw-builds | |
- name: Download a diablo retrofw artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-retrofw.opk | |
- run: mv ${{github.workspace}}/devilutionx-retrofw.opk ${{github.workspace}}/diablo-nightly-retrofw.opk | |
- name: Download a diablo retrofw artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-retrofwp.opk | |
- run: mv ${{github.workspace}}/devilutionx-retrofw.opk ${{github.workspace}}/diablo-nightly-retrofwp.opk | |
- name: Download a hellfire retrofw artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-retrofw.opk | |
- run: mv ${{github.workspace}}/devilutionx-retrofw.opk ${{github.workspace}}/hellfire-nightly-retrofw.opk | |
- name: Download a hellfire retrofw artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-retrofwp.opk | |
- run: mv ${{github.workspace}}/devilutionx-retrofw.opk ${{github.workspace}}/hellfire-nightly-retrofwp.opk | |
# ps4-builds | |
- name: Download a diablo ps4 artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-ps4.pkg | |
- run: mv ${{github.workspace}}/devilutionx-ps4.pkg ${{github.workspace}}/diablo-nightly-ps4.pkg | |
- name: Download a diablo ps4 artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-ps4p.pkg | |
- run: mv ${{github.workspace}}/devilutionx-ps4.pkg ${{github.workspace}}/diablo-nightly-ps4p.pkg | |
- name: Download a hellfire ps4 artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-ps4.pkg | |
- run: mv ${{github.workspace}}/devilutionx-ps4.pkg ${{github.workspace}}/hellfire-nightly-ps4.pkg | |
- name: Download a hellfire ps4 artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-ps4p.pkg | |
- run: mv ${{github.workspace}}/devilutionx-ps4.pkg ${{github.workspace}}/hellfire-nightly-ps4p.pkg | |
# vita-builds | |
- name: Download a diablo vita artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-vita.vpk | |
- run: mv ${{github.workspace}}/devilutionx.vpk ${{github.workspace}}/diablo-nightly-vita.vpk | |
- name: Download a diablo vita artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-vitap.vpk | |
- run: mv ${{github.workspace}}/devilutionx.vpk ${{github.workspace}}/diablo-nightly-vitap.vpk | |
- name: Download a hellfire vita artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-vita.vpk | |
- run: mv ${{github.workspace}}/devilutionx.vpk ${{github.workspace}}/hellfire-nightly-vita.vpk | |
- name: Download a hellfire vita artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-vitap.vpk | |
- run: mv ${{github.workspace}}/devilutionx.vpk ${{github.workspace}}/hellfire-nightly-vitap.vpk | |
# n3ds-builds | |
- name: Download a diablo n3ds artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-3ds.3dsx | |
- run: mv ${{github.workspace}}/devilutionx.3dsx ${{github.workspace}}/diablo-nightly-3ds.3dsx | |
- name: Download a diablo n3ds artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-3ds.cia | |
- run: mv ${{github.workspace}}/devilutionx.cia ${{github.workspace}}/diablo-nightly-3ds.cia | |
- name: Download a diablo n3ds artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-3dsp.3dsx | |
- run: mv ${{github.workspace}}/devilutionx.3dsx ${{github.workspace}}/diablo-nightly-3dsp.3dsx | |
- name: Download a diablo n3ds artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-3dsp.cia | |
- run: mv ${{github.workspace}}/devilutionx.cia ${{github.workspace}}/diablo-nightly-3dsp.cia | |
- name: Download a hellfire n3ds artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-3ds.3dsx | |
- run: mv ${{github.workspace}}/devilutionx.3dsx ${{github.workspace}}/hellfire-nightly-3ds.3dsx | |
- name: Download a hellfire n3ds artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-3ds.cia | |
- run: mv ${{github.workspace}}/devilutionx.cia ${{github.workspace}}/hellfire-nightly-3ds.cia | |
- name: Download a hellfire n3ds artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-3dsp.3dsx | |
- run: mv ${{github.workspace}}/devilutionx.3dsx ${{github.workspace}}/hellfire-nightly-3dsp.3dsx | |
- name: Download a hellfire n3ds artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-3dsp.cia | |
- run: mv ${{github.workspace}}/devilutionx.cia ${{github.workspace}}/hellfire-nightly-3dsp.cia | |
# switch-builds | |
- name: Download a diablo switch artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-switch.nro | |
- run: mv ${{github.workspace}}/devilutionx.nro ${{github.workspace}}/diablo-nightly-switch.nro | |
- name: Download a diablo switch artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-switchp.nro | |
- run: mv ${{github.workspace}}/devilutionx.nro ${{github.workspace}}/diablo-nightly-switchp.nro | |
- name: Download a hellfire switch artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-switch.nro | |
- run: mv ${{github.workspace}}/devilutionx.nro ${{github.workspace}}/hellfire-nightly-switch.nro | |
- name: Download a hellfire switch artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-switchp.nro | |
- run: mv ${{github.workspace}}/devilutionx.nro ${{github.workspace}}/hellfire-nightly-switchp.nro | |
# amiga-builds | |
- name: Download a diablo amiga artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-amiga | |
- run: mv ${{github.workspace}}/devilutionx ${{github.workspace}}/diablo-nightly-amiga | |
- name: Download a diablo amiga artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: diablo-nightly-amigap | |
- run: mv ${{github.workspace}}/devilutionx ${{github.workspace}}/diablo-nightly-amigap | |
- name: Download a hellfire amiga artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-amiga | |
- run: mv ${{github.workspace}}/devilutionx ${{github.workspace}}/hellfire-nightly-amiga | |
- name: Download a hellfire amiga artifact using patched assets | |
uses: actions/download-artifact@v4 | |
with: | |
name: hellfire-nightly-amigap | |
- run: mv ${{github.workspace}}/devilutionx ${{github.workspace}}/hellfire-nightly-amigap | |
# release notes | |
- name: Create release notes | |
run: | | |
echo 'Latest nightly builds' > RELEASE_NOTE.md | |
echo '' >> RELEASE_NOTE.md | |
echo 'For the list of changes see [changelog](docs/CHANGELOG.md#DevilX).' >> RELEASE_NOTE.md | |
echo '' >> RELEASE_NOTE.md | |
echo '### **Packages**' >> RELEASE_NOTE.md | |
echo '<table><thead><tr>' >> RELEASE_NOTE.md | |
echo '<th colspan=2><em>Diablo</em></th>' >> RELEASE_NOTE.md | |
echo '<th rowspan=2>Environment</th>' >> RELEASE_NOTE.md | |
echo '<th colspan=2><em>Hellfire</em></th>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<th>Base</th>' >> RELEASE_NOTE.md | |
echo '<th>Patched</th>' >> RELEASE_NOTE.md | |
echo '<th>Base</th>' >> RELEASE_NOTE.md | |
echo '<th>Patched</th>' >> RELEASE_NOTE.md | |
echo '</tr></thead><tbody><tr>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-android.apk">android.apk</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-androidp.apk">androidp.apk</a></td>' >> RELEASE_NOTE.md | |
echo '<td align="center"><code>Android</code></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-android.apk">android.apk</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-androidp.apk">androidp.apk</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-lepus.opk">lepus.opk</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-lepusp.opk">lepusp.opk</a></td>' >> RELEASE_NOTE.md | |
echo '<td align="center"><code>Lepus</code></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-lepus.opk">lepus.opk</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-lepusp.opk">lepusp.opk</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-retrofw.opk">retrofw.opk</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-retrofwp.opk">retrofwp.opk</a></td>' >> RELEASE_NOTE.md | |
echo '<td align="center"><code>RetroFW</code></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-retrofw.opk">retrofw.opk</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-retrofwp.opk">retrofwp.opk</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-rg350.opk">rg350.opk</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-rg350p.opk">rg350p.opk</a></td>' >> RELEASE_NOTE.md | |
echo '<td align="center"><code>RG350</code></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-rg350.opk">rg350.opk</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-rg350p.opk">rg350p.opk</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-ps4.pkg">ps4.pkg</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-ps4p.pkg">ps4p.pkg</a></td>' >> RELEASE_NOTE.md | |
echo '<td align="center"><code>PS4</code></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-ps4.pkg">ps4.pkg</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-ps4p.pkg">ps4p.pkg</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-aarch64.tar.xz">aarch64.tar.xz</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-aarch64p.tar.xz">aarch64p.tar.xz</a></td>' >> RELEASE_NOTE.md | |
echo '<td align="center"><code>aarch64</code></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-aarch64.tar.xz">aarch64.tar.xz</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-aarch64p.tar.xz">aarch64p.tar.xz</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-mac.dmg">mac.dmg</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-macp.dmg">macp.dmg</a></td>' >> RELEASE_NOTE.md | |
echo '<td align="center"><code>Mac</code></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-mac.dmg">mac.dmg</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-macp.dmg">macp.dmg</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-ios.ipa">ios.ipa</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-iosp.ipa">iosp.ipa</a></td>' >> RELEASE_NOTE.md | |
echo '<td align="center"><code>iOS</code></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-ios.ipa">ios.ipa</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-iosp.ipa">iosp.ipa</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-vita.vpk">vita.vpk</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-vitap.vpk">vitap.vpk</a></td>' >> RELEASE_NOTE.md | |
echo '<td align="center"><code>Vita</code></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-vita.vpk">vita.vpk</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-vitap.vpk">vitap.vpk</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-3ds.3dsx">3ds.3dsx</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-3dsp.3dsx">3dsp.3dsx</a></td>' >> RELEASE_NOTE.md | |
echo '<td align="center" rowspan=2><code>Nintendo 3DS</code></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-3ds.3dsx">3ds.3dsx</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-3dsp.3dsx">3dsp.3dsx</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-3ds.cia">3ds.cia</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-3dsp.cia">3dsp.cia</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-3ds.cia">3ds.cia</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-3dsp.cia">3dsp.cia</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-switch.nro">switch.nro</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-switchp.nro">switchp.nro</a></td>' >> RELEASE_NOTE.md | |
echo '<td align="center"><code>Nintendo Switch</code></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-switch.nro">switch.nro</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-switchp.nro">switchp.nro</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-amiga">amiga</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/diablo-nightly-amigap">amigap</a></td>' >> RELEASE_NOTE.md | |
echo '<td align="center"><code>Amiga</code></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-amiga">amiga</a></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellfire-nightly-amigap">amigap</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td colspan=2 align="center"><a href="../../releases/download/devilx-nightly/diablo-nightly-x64.zip">x64.zip</a> <sup><a href="#fn-1" id="user-content-fnref-1" data-footnote-ref="">1</a></sup></td>' >> RELEASE_NOTE.md | |
echo '<td rowspan=2 align="center"><code>Windows x64</code></td>' >> RELEASE_NOTE.md | |
echo '<td colspan=2 align="center"><a href="../../releases/download/devilx-nightly/hellfire-nightly-x64.zip">x64.zip</a> <sup><a href="#fn-1" id="user-content-fnref-1" data-footnote-ref="">1</a></sup></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td colspan=2 align="center"><a href="../../releases/download/devilx-nightly/diablo-nightly-mingw-x64.zip">mingw-x64.zip</a></td>' >> RELEASE_NOTE.md | |
echo '<td colspan=2 align="center"><a href="../../releases/download/devilx-nightly/hellfire-nightly-mingw-x64.zip">mingw-x64.zip</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td colspan=2 align="center"><a href="../../releases/download/devilx-nightly/diablo-nightly-x86.zip">x86.zip</a> <sup><a href="#fn-1" id="user-content-fnref-1" data-footnote-ref="">1</a></sup></td>' >> RELEASE_NOTE.md | |
echo '<td rowspan=3 align="center"><code>Windows x86</code></td>' >> RELEASE_NOTE.md | |
echo '<td colspan=2 align="center"><a href="../../releases/download/devilx-nightly/hellfire-nightly-x86.zip">x86.zip</a> <sup><a href="#fn-1" id="user-content-fnref-1" data-footnote-ref="">1</a></sup></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td colspan=2 align="center"><a href="../../releases/download/devilx-nightly/diablo-nightly-mingw-x86.zip">mingw-x86.zip</a></td>' >> RELEASE_NOTE.md | |
echo '<td colspan=2 align="center"><a href="../../releases/download/devilx-nightly/hellfire-nightly-mingw-x86.zip">mingw-x86.zip</a></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td colspan=2></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellmini-nightly-x86.zip">mini-x86.zip</a> <sup><a href="#fn-2" id="user-content-fnref-2" data-footnote-ref="">2</a></sup></td>' >> RELEASE_NOTE.md | |
echo '<td><a href="../../releases/download/devilx-nightly/hellsrv-nightly-x86.zip">srv-x86.zip</a> <sup><a href="#fn-3" id="user-content-fnref-3" data-footnote-ref="">3</a></sup></td>' >> RELEASE_NOTE.md | |
echo '</tr><tr>' >> RELEASE_NOTE.md | |
echo '<td colspan=2 align="center"><a href="../../releases/download/devilx-nightly/diablo-nightly-mingw-w9x.zip">mingw-w9x.zip</a></td>' >> RELEASE_NOTE.md | |
echo '<td align="center"><code>Windows 98</code></td>' >> RELEASE_NOTE.md | |
echo '<td colspan=2 align="center"><a href="../../releases/download/devilx-nightly/hellfire-nightly-mingw-w9x.zip">mingw-w9x.zip</a></td>' >> RELEASE_NOTE.md | |
echo '</tr></tbody></table>' >> RELEASE_NOTE.md | |
echo '<section data-footnotes=""><ol><li id="user-content-fn-1">' >> RELEASE_NOTE.md | |
echo '<p>requires <a href="https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist" rel="nofollow">VC++ Runtime</a></p>' >> RELEASE_NOTE.md | |
echo '</li><li id="user-content-fn-2">' >> RELEASE_NOTE.md | |
echo '<p>minimal build - no internet, controller or sound support</p>' >> RELEASE_NOTE.md | |
echo '</li><li id="user-content-fn-3">' >> RELEASE_NOTE.md | |
echo '<p>server build - no controller or sound support</p>' >> RELEASE_NOTE.md | |
echo '</li></ol></section>' >> RELEASE_NOTE.md | |
#- name: Show content of workspace | |
# run: find $RUNNER_WORKSPACE | |
# shell: bash | |
# uses: dev-drprasad/[email protected] | |
- name: Delete tag and release | |
uses: pionere/delete-tag-and-release@v1 | |
with: | |
delete_release: true | |
tag_name: devilx-nightly | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# Sleep a bit to let GitHub recover from the shock of tag-delete | |
# run: Start-Sleep -s 60 | |
# shell: powershell | |
- name: Sleep for 60 seconds | |
run: sleep 60s | |
shell: bash | |
- name: Release | |
uses: softprops/[email protected] | |
with: | |
tag_name: devilx-nightly | |
body_path: ${{ github.workspace }}/RELEASE_NOTE.md | |
draft: false | |
prerelease: true | |
files: | | |
${{github.workspace}}/diablo-nightly-android.apk | |
${{github.workspace}}/diablo-nightly-lepus.opk | |
${{github.workspace}}/diablo-nightly-retrofw.opk | |
${{github.workspace}}/diablo-nightly-rg350.opk | |
${{github.workspace}}/diablo-nightly-ps4.pkg | |
${{github.workspace}}/diablo-nightly-aarch64.tar.xz | |
${{github.workspace}}/diablo-nightly-mac.dmg | |
${{github.workspace}}/diablo-nightly-ios.ipa | |
${{github.workspace}}/diablo-nightly-vita.vpk | |
${{github.workspace}}/diablo-nightly-3ds.3dsx | |
${{github.workspace}}/diablo-nightly-3ds.cia | |
${{github.workspace}}/diablo-nightly-switch.nro | |
${{github.workspace}}/diablo-nightly-amiga | |
${{github.workspace}}/diablo-nightly-x64.zip | |
${{github.workspace}}/diablo-nightly-mingw-x64.zip | |
${{github.workspace}}/diablo-nightly-x86.zip | |
${{github.workspace}}/diablo-nightly-mingw-x86.zip | |
${{github.workspace}}/diablo-nightly-mingw-w9x.zip | |
${{github.workspace}}/hellfire-nightly-android.apk | |
${{github.workspace}}/hellfire-nightly-lepus.opk | |
${{github.workspace}}/hellfire-nightly-retrofw.opk | |
${{github.workspace}}/hellfire-nightly-rg350.opk | |
${{github.workspace}}/hellfire-nightly-ps4.pkg | |
${{github.workspace}}/hellfire-nightly-aarch64.tar.xz | |
${{github.workspace}}/hellfire-nightly-mac.dmg | |
${{github.workspace}}/hellfire-nightly-ios.ipa | |
${{github.workspace}}/hellfire-nightly-vita.vpk | |
${{github.workspace}}/hellfire-nightly-3ds.3dsx | |
${{github.workspace}}/hellfire-nightly-3ds.cia | |
${{github.workspace}}/hellfire-nightly-switch.nro | |
${{github.workspace}}/hellfire-nightly-amiga | |
${{github.workspace}}/hellfire-nightly-x64.zip | |
${{github.workspace}}/hellfire-nightly-mingw-x64.zip | |
${{github.workspace}}/hellfire-nightly-x86.zip | |
${{github.workspace}}/hellfire-nightly-mingw-x86.zip | |
${{github.workspace}}/hellfire-nightly-mingw-w9x.zip | |
${{github.workspace}}/hellmini-nightly-x86.zip | |
${{github.workspace}}/hellsrv-nightly-x86.zip | |
${{github.workspace}}/diablo-nightly-androidp.apk | |
${{github.workspace}}/diablo-nightly-lepusp.opk | |
${{github.workspace}}/diablo-nightly-retrofwp.opk | |
${{github.workspace}}/diablo-nightly-rg350p.opk | |
${{github.workspace}}/diablo-nightly-ps4p.pkg | |
${{github.workspace}}/diablo-nightly-aarch64p.tar.xz | |
${{github.workspace}}/diablo-nightly-macp.dmg | |
${{github.workspace}}/diablo-nightly-iosp.ipa | |
${{github.workspace}}/diablo-nightly-vitap.vpk | |
${{github.workspace}}/diablo-nightly-3dsp.3dsx | |
${{github.workspace}}/diablo-nightly-3dsp.cia | |
${{github.workspace}}/diablo-nightly-switchp.nro | |
${{github.workspace}}/diablo-nightly-amigap | |
${{github.workspace}}/hellfire-nightly-androidp.apk | |
${{github.workspace}}/hellfire-nightly-lepusp.opk | |
${{github.workspace}}/hellfire-nightly-retrofwp.opk | |
${{github.workspace}}/hellfire-nightly-rg350p.opk | |
${{github.workspace}}/hellfire-nightly-ps4p.pkg | |
${{github.workspace}}/hellfire-nightly-aarch64p.tar.xz | |
${{github.workspace}}/hellfire-nightly-macp.dmg | |
${{github.workspace}}/hellfire-nightly-iosp.ipa | |
${{github.workspace}}/hellfire-nightly-vitap.vpk | |
${{github.workspace}}/hellfire-nightly-3dsp.3dsx | |
${{github.workspace}}/hellfire-nightly-3dsp.cia | |
${{github.workspace}}/hellfire-nightly-switchp.nro | |
${{github.workspace}}/hellfire-nightly-amigap | |
fail_on_unmatched_files: true | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |