Skip to content

Nightly

Nightly #900

Workflow file for this run

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@v3
- 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=0x0501 -D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON'
artifact: 'diablo-nightly-x86.zip'
- name: hellfire-x86
packages: 'sdl2:x86-windows libsodium:x86-windows'
cmakeargs: '-A Win32 -D_WIN32_WINNT=0x0501 -D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON -D HELLFIRE=ON'
artifact: 'hellfire-nightly-x86.zip'
- name: hellmini-x86
packages: 'sdl2:x86-windows'
cmakeargs: '-A Win32 -D_WIN32_WINNT=0x0501 -D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON -D HELLFIRE=ON -D HAS_JOYSTICK=OFF -D HAS_DPAD=OFF -D HAS_GAMECTRL=OFF -D HAS_TOUCHPAD=OFF -D HAS_KBCTRL=OFF -D NONET=ON -D NOSOUND=ON -D SCREEN_WIDTH=640 -D SCREEN_HEIGHT=480 -D NOWIDESCREEN=ON'
artifact: 'hellmini-nightly-x86.zip'
- name: hellsrv-x86
packages: 'sdl2:x86-windows libsodium:x86-windows'
cmakeargs: '-A Win32 -D_WIN32_WINNT=0x0501 -D NOHOSTING=OFF -D HOSTONLY=ON -D INET_MODE=ON -D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON -D HELLFIRE=ON -D HAS_JOYSTICK=OFF -D HAS_DPAD=OFF -D HAS_GAMECTRL=OFF -D HAS_TOUCHPAD=OFF -D HAS_KBCTRL=OFF -D NOSOUND=ON -D SCREEN_WIDTH=640 -D SCREEN_HEIGHT=480 -D NOWIDESCREEN=ON'
artifact: 'hellsrv-nightly-x86.zip'
# x64 builds
- name: diablo
packages: 'sdl2:x64-windows libsodium:x64-windows'
cmakeargs: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON'
artifact: 'diablo-nightly-x64.zip'
- name: hellfire
packages: 'sdl2:x64-windows libsodium:x64-windows'
cmakeargs: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON -D HELLFIRE=ON'
artifact: 'hellfire-nightly-x64.zip'
steps:
- uses: actions/checkout@v3
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: '927bc12e31148b0d44ae9d174b96c20e3bcf08eb'
#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 }} -D CMAKE_BUILD_TYPE="Release" -D CMAKE_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@v3
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: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON'
artifact: 'diablo-nightly-mingw-x86.zip'
- name: hellfire-x86
cmakeargs: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON -D HELLFIRE=ON'
artifact: 'hellfire-nightly-mingw-x86.zip'
steps:
- uses: actions/checkout@v3
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 }} -D CMAKE_BUILD_TYPE="Release" -D CMAKE_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@v3
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: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON'
artifact: 'diablo-nightly-mingw-x64.zip'
- name: hellfire-x64
cmakeargs: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON -D HELLFIRE=ON'
artifact: 'hellfire-nightly-mingw-x64.zip'
steps:
- uses: actions/checkout@v3
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 }} -D CMAKE_BUILD_TYPE="Release" -D CMAKE_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@v3
with:
path: build/devilutionx.zip
name: ${{ matrix.artifact }}
# Linux-builds
# 64bit
build_linux64:
needs: build_check
if: ${{ needs.build_check.outputs.should_run != 'false' }}
name: Nightly-aarch
strategy:
fail-fast: false
matrix:
#name: [diablo, hellfire]
include:
- name: diablo
cmakeargs: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF'
artifact: 'diablo-nightly-x86_64-linux-gnu.tar.xz'
appimage: 'diablo-nightly-x86_64-linux-gnu.appimage'
- name: hellfire
cmakeargs: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D HELLFIRE=ON'
artifact: 'hellfire-nightly-x86_64-linux-gnu.tar.xz'
appimage: 'hellfire-nightly-x86_64-linux-gnu.appimage'
- name: diablo-uxp
cmakeargs: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON'
artifact: 'diablo-nightly-x86_64-linux-gnup.tar.xz'
appimage: 'diablo-nightly-x86_64-linux-gnup.appimage'
- name: hellfire-uxp
cmakeargs: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON -D HELLFIRE=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@v3
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@v3
with:
path: devilutionx-x86_64-linux-gnu.tar.xz
name: ${{ matrix.artifact }}
- name: Upload AppImage
if: ${{ !env.ACT }}
uses: actions/upload-artifact@v3
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
strategy:
fail-fast: false
matrix:
#name: [diablo, hellfire]
include:
- name: diablo-aa64
cmakeargs: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF'
artifact: 'diablo-nightly-aarch64.tar.xz'
- name: hellfire-aa64
cmakeargs: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D HELLFIRE=ON'
artifact: 'hellfire-nightly-aarch64.tar.xz'
- name: diablo-aa64p
cmakeargs: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON'
artifact: 'diablo-nightly-aarch64p.tar.xz'
- name: hellfire-aa64p
cmakeargs: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON -D HELLFIRE=ON'
artifact: 'hellfire-nightly-aarch64p.tar.xz'
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v3
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@v3
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: '-D DEVILUTIONX_SYSTEM_SDL2=OFF'
artifact: 'diablo-nightly-mac.dmg'
- name: hellfire-mac
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -D HELLFIRE=ON'
artifact: 'hellfire-nightly-mac.dmg'
- name: diablo-macp
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON'
artifact: 'diablo-nightly-macp.dmg'
- name: hellfire-macp
cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -D USE_PATCH=ON -D HELLFIRE=ON'
artifact: 'hellfire-nightly-macp.dmg'
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
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 -D MACOSX_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@v3
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: '-D HELLFIRE=ON'
artifact: 'hellfire-nightly-ios.ipa'
- name: diablo-iosp
cmakeargs: '-D USE_PATCH=ON'
artifact: 'diablo-nightly-iosp.ipa'
- name: hellfire-iosp
cmakeargs: '-D USE_PATCH=ON -D HELLFIRE=ON'
artifact: 'hellfire-nightly-iosp.ipa'
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
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@v3
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
cmakeargs: ''
artifact: 'diablo-nightly-android.apk'
- name: hellfire
cmakeargs: '-DHELLFIRE=ON'
artifact: 'hellfire-nightly-android.apk'
- name: diablo-adrp
cmakeargs: '-D USE_PATCH=ON'
artifact: 'diablo-nightly-androidp.apk'
- name: hellfire-adrp
cmakeargs: '-D USE_PATCH=ON -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@v3
with:
fetch-depth: 0
- name: set up JDK 17
uses: actions/setup-java@v3
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 -Pcmakeargs="${{ matrix.cmakeargs }}"
- name: Upload-Package
uses: actions/upload-artifact@v3
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: ''
artifact: 'diablo-nightly-rg350.opk'
- name: hellfire
cmakeargs: '-DHELLFIRE=ON'
artifact: 'hellfire-nightly-rg350.opk'
- name: diablo-rgp
cmakeargs: '-D USE_PATCH=ON'
artifact: 'diablo-nightly-rg350p.opk'
- name: hellfire-rgp
cmakeargs: '-D USE_PATCH=ON -DHELLFIRE=ON'
artifact: 'hellfire-nightly-rg350p.opk'
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
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@v3
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: '-D USE_PATCH=ON'
artifact: 'diablo-nightly-lepusp.opk'
- name: hellfire-lepp
cmakeargs: '-D USE_PATCH=ON -DHELLFIRE=ON'
artifact: 'hellfire-nightly-lepusp.opk'
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
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@v3
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: ''
artifact: 'diablo-nightly-retrofw.opk'
- name: hellfire
cmakeargs: '-DHELLFIRE=ON'
artifact: 'hellfire-nightly-retrofw.opk'
- name: diablo-rtrp
cmakeargs: '-D USE_PATCH=ON'
artifact: 'diablo-nightly-retrofwp.opk'
- name: hellfire-rtrp
cmakeargs: '-D USE_PATCH=ON -DHELLFIRE=ON'
artifact: 'hellfire-nightly-retrofwp.opk'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
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@v3
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: ''
artifact: 'diablo-nightly-ps4.pkg'
- name: hellfire
cmakeargs: '-DHELLFIRE=ON'
artifact: 'hellfire-nightly-ps4.pkg'
- name: diablo-ps4p
cmakeargs: '-D USE_PATCH=ON'
artifact: 'diablo-nightly-ps4p.pkg'
- name: hellfire-ps4p
cmakeargs: '-D USE_PATCH=ON -DHELLFIRE=ON'
artifact: 'hellfire-nightly-ps4p.pkg'
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
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@v3
with:
name: ${{ matrix.artifact }}
path: build-ps4/devilutionx-ps4.pkg
# Releases
release:
needs: [build_check, build_msvc, build_mingw, build_mingw_x64, build_mac, build_ios, build_android, build_rg350, build_lepus, build_retrofw, build_ps4]
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
with:
name: hellfire-nightly-mingw-x86.zip
- run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-mingw-x86.zip
# Windows-builds (x64)
- name: Download a diablo artifact
uses: actions/download-artifact@v3
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@v3
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@v3
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@v3
with:
name: hellfire-nightly-mingw-x64.zip
- run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-mingw-x64.zip
# Mac-builds
- name: Download a diablo mac-artifact
uses: actions/download-artifact@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
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@v3
with:
name: hellfire-nightly-ps4p.pkg
- run: mv ${{github.workspace}}/devilutionx-ps4.pkg ${{github.workspace}}/hellfire-nightly-ps4p.pkg
# 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 '### **Diablo**' >> RELEASE_NOTE.md
echo '_Filename_ | _Description_' >> RELEASE_NOTE.md
echo '------------ | -------------' >> RELEASE_NOTE.md
echo '[diablo-nightly-android.apk](../../releases/download/devilx-nightly/diablo-nightly-android.apk) | Diablo package for `Android`' >> RELEASE_NOTE.md
echo '[diablo-nightly-lepus.opk](../../releases/download/devilx-nightly/diablo-nightly-lepus.opk) | Diablo package for `Lepus`' >> RELEASE_NOTE.md
echo '[diablo-nightly-retrofw.opk](../../releases/download/devilx-nightly/diablo-nightly-retrofw.opk) | Diablo package for `RetroFW`' >> RELEASE_NOTE.md
echo '[diablo-nightly-rg350.opk](../../releases/download/devilx-nightly/diablo-nightly-rg350.opk) | Diablo package for `RG350`' >> RELEASE_NOTE.md
echo '[diablo-nightly-ps4.pkg](../../releases/download/devilx-nightly/diablo-nightly-ps4.pkg) | Diablo package for `PS4`' >> RELEASE_NOTE.md
echo '[diablo-nightly-mac.dmg](../../releases/download/devilx-nightly/diablo-nightly-mac.dmg) | Diablo package for `Mac`' >> RELEASE_NOTE.md
echo '[diablo-nightly-ios.ipa](../../releases/download/devilx-nightly/diablo-nightly-ios.ipa) | Diablo package for `iOS`' >> RELEASE_NOTE.md
echo '[diablo-nightly-x64.zip](../../releases/download/devilx-nightly/diablo-nightly-x64.zip) | Diablo build for `Windows x64` (requires [VC++ Runtime](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist))' >> RELEASE_NOTE.md
echo '[diablo-nightly-mingw-x64.zip](../../releases/download/devilx-nightly/diablo-nightly-mingw-x64.zip) | Diablo build for `Windows x64`' >> RELEASE_NOTE.md
echo '[diablo-nightly-x86.zip](../../releases/download/devilx-nightly/diablo-nightly-x86.zip) | Diablo build for `Windows x86` (requires [VC++ Runtime](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist))' >> RELEASE_NOTE.md
echo '[diablo-nightly-mingw-x86.zip](../../releases/download/devilx-nightly/diablo-nightly-mingw-x86.zip) | Diablo build for `Windows x86`' >> RELEASE_NOTE.md
echo '' >> RELEASE_NOTE.md
echo '### **Diablo: Hellfire**' >> RELEASE_NOTE.md
echo '_Filename_ | _Description_' >> RELEASE_NOTE.md
echo '------------ | -------------' >> RELEASE_NOTE.md
echo '[hellfire-nightly-android.apk](../../releases/download/devilx-nightly/hellfire-nightly-android.apk) | Hellfire package for `Android`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-lepus.opk](../../releases/download/devilx-nightly/hellfire-nightly-lepus.opk) | Hellfire package for `Lepus`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-retrofw.opk](../../releases/download/devilx-nightly/hellfire-nightly-retrofw.opk) | Hellfire package for `RetroFW`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-rg350.opk](../../releases/download/devilx-nightly/hellfire-nightly-rg350.opk) | Hellfire package for `RG350`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-ps4.pkg](../../releases/download/devilx-nightly/hellfire-nightly-ps4.pkg) | Hellfire package for `PS4`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-mac.dmg](../../releases/download/devilx-nightly/hellfire-nightly-mac.dmg) | Hellfire package for `Mac`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-ios.ipa](../../releases/download/devilx-nightly/hellfire-nightly-ios.ipa) | Hellfire package for `iOS`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-x64.zip](../../releases/download/devilx-nightly/hellfire-nightly-x64.zip) | Hellfire build for `Windows x64`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-mingw-x64.zip](../../releases/download/devilx-nightly/hellfire-nightly-x64.zip) | Hellfire build for `Windows x64` (requires [VC++ Runtime](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist))' >> RELEASE_NOTE.md
echo '[hellfire-nightly-x86.zip](../../releases/download/devilx-nightly/hellfire-nightly-x86.zip) | Hellfire build for `Windows x86`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-mingw-x86.zip](../../releases/download/devilx-nightly/hellfire-nightly-x86.zip) | Hellfire build for `Windows x86` (requires [VC++ Runtime](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist))' >> RELEASE_NOTE.md
echo '[hellmini-nightly-x86.zip](../../releases/download/devilx-nightly/hellmini-nightly-x86.zip) | Minimal Hellfire build for `Windows x86`<br>- no internet, controller, sound or widescreen support' >> RELEASE_NOTE.md
echo '[hellsrv-nightly-x86.zip](../../releases/download/devilx-nightly/hellsrv-nightly-x86.zip) | Minimal Hellfire server for `Windows x86`<br>- no controller, sound or widescreen support<br>- only server functionality' >> RELEASE_NOTE.md
echo '' >> RELEASE_NOTE.md
echo '### **Diablo** using patched assets' >> RELEASE_NOTE.md
echo '_Filename_ | _Description_' >> RELEASE_NOTE.md
echo '------------ | -------------' >> RELEASE_NOTE.md
echo '[diablo-nightly-androidp.apk](../../releases/download/devilx-nightly/diablo-nightly-androidp.apk) | Diablo package for `Android`' >> RELEASE_NOTE.md
echo '[diablo-nightly-lepusp.opk](../../releases/download/devilx-nightly/diablo-nightly-lepusp.opk) | Diablo package for `Lepus`' >> RELEASE_NOTE.md
echo '[diablo-nightly-retrofwp.opk](../../releases/download/devilx-nightly/diablo-nightly-retrofwp.opk) | Diablo package for `RetroFW`' >> RELEASE_NOTE.md
echo '[diablo-nightly-rg350p.opk](../../releases/download/devilx-nightly/diablo-nightly-rg350p.opk) | Diablo package for `RG350`' >> RELEASE_NOTE.md
echo '[diablo-nightly-ps4p.pkg](../../releases/download/devilx-nightly/diablo-nightly-ps4p.pkg) | Diablo package for `PS4`' >> RELEASE_NOTE.md
echo '[diablo-nightly-macp.dmg](../../releases/download/devilx-nightly/diablo-nightly-macp.dmg) | Diablo package for `Mac`' >> RELEASE_NOTE.md
echo '[diablo-nightly-iosp.ipa](../../releases/download/devilx-nightly/diablo-nightly-iosp.ipa) | Diablo package for `iOS`' >> RELEASE_NOTE.md
echo '[diablo-nightly-x64.zip](../../releases/download/devilx-nightly/diablo-nightly-x64.zip) | Diablo build for `Windows x64` (requires [VC++ Runtime](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist))' >> RELEASE_NOTE.md
echo '[diablo-nightly-mingw-x64.zip](../../releases/download/devilx-nightly/diablo-nightly-mingw-x64.zip) | Diablo build for `Windows x64`' >> RELEASE_NOTE.md
echo '[diablo-nightly-x86.zip](../../releases/download/devilx-nightly/diablo-nightly-x86.zip) | Diablo build for `Windows x86` (requires [VC++ Runtime](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist))' >> RELEASE_NOTE.md
echo '[diablo-nightly-mingw-x86.zip](../../releases/download/devilx-nightly/diablo-nightly-mingw-x86.zip) | Diablo build for `Windows x86`' >> RELEASE_NOTE.md
echo '' >> RELEASE_NOTE.md
echo '### **Diablo: Hellfire** using patched assets' >> RELEASE_NOTE.md
echo '_Filename_ | _Description_' >> RELEASE_NOTE.md
echo '------------ | -------------' >> RELEASE_NOTE.md
echo '[hellfire-nightly-androidp.apk](../../releases/download/devilx-nightly/hellfire-nightly-androidp.apk) | Hellfire package for `Android`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-lepusp.opk](../../releases/download/devilx-nightly/hellfire-nightly-lepusp.opk) | Hellfire package for `Lepus`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-retrofwp.opk](../../releases/download/devilx-nightly/hellfire-nightly-retrofwp.opk) | Hellfire package for `RetroFW`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-rg350p.opk](../../releases/download/devilx-nightly/hellfire-nightly-rg350p.opk) | Hellfire package for `RG350`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-ps4p.pkg](../../releases/download/devilx-nightly/hellfire-nightly-ps4p.pkg) | Hellfire package for `PS4`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-macp.dmg](../../releases/download/devilx-nightly/hellfire-nightly-macp.dmg) | Hellfire package for `Mac`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-iosp.ipa](../../releases/download/devilx-nightly/hellfire-nightly-iosp.ipa) | Hellfire package for `iOS`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-x64.zip](../../releases/download/devilx-nightly/hellfire-nightly-x64.zip) | Hellfire build for `Windows x64`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-mingw-x64.zip](../../releases/download/devilx-nightly/hellfire-nightly-x64.zip) | Hellfire build for `Windows x64` (requires [VC++ Runtime](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist))' >> RELEASE_NOTE.md
echo '[hellfire-nightly-x86.zip](../../releases/download/devilx-nightly/hellfire-nightly-x86.zip) | Hellfire build for `Windows x86`' >> RELEASE_NOTE.md
echo '[hellfire-nightly-mingw-x86.zip](../../releases/download/devilx-nightly/hellfire-nightly-x86.zip) | Hellfire build for `Windows x86` (requires [VC++ Runtime](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist))' >> RELEASE_NOTE.md
echo '[hellmini-nightly-x86.zip](../../releases/download/devilx-nightly/hellmini-nightly-x86.zip) | Minimal Hellfire build for `Windows x86`<br>- no internet, controller, sound or widescreen support' >> RELEASE_NOTE.md
echo '[hellsrv-nightly-x86.zip](../../releases/download/devilx-nightly/hellsrv-nightly-x86.zip) | Minimal Hellfire server for `Windows x86`<br>- no controller, sound or widescreen support<br>- only server functionality' >> 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-mac.dmg
${{github.workspace}}/diablo-nightly-ios.ipa
${{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}}/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-mac.dmg
${{github.workspace}}/hellfire-nightly-ios.ipa
${{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}}/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-macp.dmg
${{github.workspace}}/diablo-nightly-iosp.ipa
${{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-macp.dmg
${{github.workspace}}/hellfire-nightly-iosp.ipa
fail_on_unmatched_files: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}