Nightly #916
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=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@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: '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@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 }} -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@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 }} -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 }} | |
# 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: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D USE_PATCH=ON' | |
artifact: 'diablo-nightly-mingw-w9x.zip' | |
- name: hellfire-w9x | |
cmakeargs: '-D DEVILUTIONX_SYSTEM_LIBSODIUM=OFF -D USE_PATCH=ON -D HELLFIRE=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@v3 | |
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: '-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@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@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-x64 | |
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@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@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@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 -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@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@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@v4 | |
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@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@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@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@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@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@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@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@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 }} |