Nightly #1684
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: 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' | |
| # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
| BUILD_TYPE: Release | |
| 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: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - 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: | |
| 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' | |
| 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 -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-x86.zip' | |
| - name: diablo-mini-x86 | |
| #packages: 'sdl2:x86-windows' | |
| cmakeargs: '-A Win32 -D_WIN32_WINNT=0x0501 -DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -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: 'diablo-nightly-mini-x86.zip' | |
| - name: hellfire-mini-x86 | |
| #packages: 'sdl2:x86-windows' | |
| cmakeargs: '-A Win32 -D_WIN32_WINNT=0x0501 -DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -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: 'hellfire-nightly-mini-x86.zip' | |
| - name: diablo-server-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 -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: 'diablo-nightly-server-x86.zip' | |
| - name: hellfire-server-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 -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: 'hellfire-nightly-server-x86.zip' | |
| # x64 builds | |
| - name: diablo | |
| #packages: 'sdl2:x64-windows libsodium:x64-windows' | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF' | |
| artifact: 'diablo-nightly-x64.zip' | |
| - name: hellfire | |
| #packages: 'sdl2:x64-windows libsodium:x64-windows' | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-x64.zip' | |
| - name: diablo-hd2 | |
| #packages: 'sdl2:x64-windows libsodium:x64-windows' | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DASSET_MPL=2' | |
| artifact: 'diablo-nightly-hd2-x64.zip' | |
| - name: hellfire-hd2 | |
| #packages: 'sdl2:x64-windows libsodium:x64-windows' | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DASSET_MPL=2 -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-hd2-x64.zip' | |
| - name: diablo-mini | |
| #packages: 'sdl2:x64-windows libsodium:x64-windows' | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -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: 'diablo-nightly-mini-x64.zip' | |
| - name: hellfire-mini | |
| #packages: 'sdl2:x64-windows libsodium:x64-windows' | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -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: 'hellfire-nightly-mini-x64.zip' | |
| - name: diablo-server | |
| #packages: 'sdl2:x64-windows libsodium:x64-windows' | |
| cmakeargs: '-DNOHOSTING=OFF -DHOSTONLY=ON -DINET_MODE=ON -DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -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: 'diablo-nightly-server-x64.zip' | |
| - name: hellfire-server | |
| #packages: 'sdl2:x64-windows libsodium:x64-windows' | |
| cmakeargs: '-DNOHOSTING=OFF -DHOSTONLY=ON -DINET_MODE=ON -DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -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: 'hellfire-nightly-server-x64.zip' | |
| - name: diablo-screen-reader | |
| #packages: 'sdl2:x64-windows libsodium:x64-windows' | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DSCREEN_READER_INTEGRATION=ON' | |
| artifact: 'diablo-nightly-scr-x64.zip' | |
| - name: hellfire-screen-reader | |
| #packages: 'sdl2:x64-windows libsodium:x64-windows' | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DSCREEN_READER_INTEGRATION=ON -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-scr-x64.zip' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # 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: 'a62ce77d56ee07513b4b67de1ec2daeaebfae51a' | |
| #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=${{env.BUILD_TYPE}} -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 ${{env.BUILD_TYPE}} | |
| # Upload the created artifact | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| path: ${{ env.buildDir }}/devilutionx.zip | |
| name: ${{ matrix.artifact }} | |
| compression-level: 0 | |
| # 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: | |
| include: | |
| # x86 builds | |
| - name: diablo | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF' | |
| artifact: 'diablo-nightly-mingw-x86.zip' | |
| - name: hellfire | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-mingw-x86.zip' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # 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 pkg-config-mingw-w64-i686 dpkg-dev wget git sudo && | |
| sudo Packaging/windows/mingw-prep.sh | |
| - name: Configure CMake | |
| shell: bash | |
| working-directory: ${{github.workspace}} | |
| run: cmake -S. -Bbuild ${{ matrix.cmakeargs }} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc.toolchain.cmake | |
| - name: Build | |
| working-directory: ${{github.workspace}} | |
| shell: bash | |
| run: cmake --build build -j $(nproc) --target package --config ${{env.BUILD_TYPE}} | |
| # Upload the created artifact | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| path: build/devilutionx.zip | |
| name: ${{ matrix.artifact }} | |
| compression-level: 0 | |
| # 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: | |
| include: | |
| # x64 builds | |
| - name: diablo | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF' | |
| artifact: 'diablo-nightly-mingw-x64.zip' | |
| - name: hellfire | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-mingw-x64.zip' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # 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 dpkg-dev wget git sudo && | |
| sudo Packaging/windows/mingw-prep64.sh | |
| - name: Configure CMake | |
| shell: bash | |
| working-directory: ${{github.workspace}} | |
| run: cmake -S. -Bbuild ${{ matrix.cmakeargs }} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc64.toolchain.cmake | |
| - name: Build | |
| working-directory: ${{github.workspace}} | |
| shell: bash | |
| run: cmake --build build -j $(nproc) --target package --config ${{env.BUILD_TYPE}} | |
| # Upload the created artifact | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| path: build/devilutionx.zip | |
| name: ${{ matrix.artifact }} | |
| compression-level: 0 | |
| # 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: | |
| include: | |
| # x86 builds | |
| - name: diablo | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF' | |
| artifact: 'diablo-nightly-mingw-w9x.zip' | |
| - name: hellfire | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-mingw-w9x.zip' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # 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 dpkg-dev wget git sudo && | |
| sudo Packaging/windows/mingw9x-prep.sh | |
| - name: Configure CMake | |
| shell: bash | |
| working-directory: ${{ env.buildDir }} | |
| run: cmake .. ${{ matrix.cmakeargs }} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -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 --config ${{env.BUILD_TYPE}} | |
| # Upload the created artifact | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| path: ${{ env.buildDir }}/devilutionx.zip | |
| name: ${{ matrix.artifact }} | |
| compression-level: 0 | |
| # MingW WinXP | |
| build_wXP: | |
| needs: build_check | |
| if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
| name: Nightly-MingW-WinXP | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # x86 builds | |
| - name: diablo | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF' | |
| artifact: 'diablo-nightly-mingw-wx.zip' | |
| - name: hellfire | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-mingw-wx.zip' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # 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 dpkg-dev wget git sudo && | |
| sudo Packaging/windows/mingw-prep.sh | |
| - name: Configure CMake | |
| shell: bash | |
| working-directory: ${{ env.buildDir }} | |
| run: cmake .. ${{ matrix.cmakeargs }} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc.toolchain.cmake -DTARGET_PLATFORM=windowsXP | |
| - name: Build | |
| working-directory: ${{ env.buildDir }} | |
| shell: bash | |
| run: cmake --build . -j $(nproc) --target package --config ${{env.BUILD_TYPE}} | |
| # Upload the created artifact | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| path: ${{ env.buildDir }}/devilutionx.zip | |
| name: ${{ matrix.artifact }} | |
| compression-level: 0 | |
| # 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: | |
| 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' | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # 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 | |
| run: | | |
| cmake -S. -Bbuild ${{ matrix.cmakeargs }} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=/usr -DCPACK=ON && \ | |
| cmake --build build -j $(getconf _NPROCESSORS_ONLN) --target package --config ${{env.BUILD_TYPE}} | |
| - 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 | |
| if: ${{ !env.ACT }} | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| path: devilutionx-x86_64-linux-gnu.tar.xz | |
| name: ${{ matrix.artifact }} | |
| - name: Upload AppImage | |
| if: ${{ !env.ACT }} | |
| uses: actions/upload-artifact@v5 | |
| 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: | |
| include: | |
| - name: diablo | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF' | |
| artifact: 'diablo-nightly-aarch64.tar.xz' | |
| - name: hellfire | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_LIBSODIUM=OFF -DDEVILUTIONX_SYSTEM_SDL2=OFF -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-aarch64.tar.xz' | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # fetch-depth: 0 | |
| - name: Create Build Environment | |
| run: | | |
| Packaging/nix/debian-cross-aarch64-prep.sh | |
| - name: Build | |
| working-directory: ${{github.workspace}} | |
| shell: bash | |
| run: | | |
| cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=../CMake/aarch64-linux-gnu.toolchain.cmake \ | |
| ${{ matrix.cmakeargs }} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=/usr -DCPACK=ON && \ | |
| cmake --build build -j $(getconf _NPROCESSORS_ONLN) --target package --config ${{env.BUILD_TYPE}} | |
| - 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 | |
| if: ${{ !env.ACT }} | |
| uses: actions/upload-artifact@v5 | |
| 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: | |
| include: | |
| - name: diablo | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_SDL2=OFF' | |
| artifact: 'diablo-nightly-mac.dmg' | |
| - name: hellfire | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_SDL2=OFF -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-mac.dmg' | |
| runs-on: macos-15-intel | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # fetch-depth: 0 | |
| - name: Create Build Environment | |
| run: brew bundle install | |
| - name: Configure CMake | |
| shell: bash | |
| working-directory: ${{github.workspace}} | |
| run: cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DMACOSX_STANDALONE_APP_BUNDLE=ON -D CMAKE_OSX_DEPLOYMENT_TARGET=10.12 ${{ 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 --config ${{env.BUILD_TYPE}} | |
| # Upload the created artifact | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| path: ${{ env.buildDir }}/devilutionx.dmg | |
| name: ${{ matrix.artifact }} | |
| build_mac_arm: | |
| needs: build_check | |
| if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
| name: Nightly-Mac-Arm | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: diablo | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_SDL2=OFF' | |
| artifact: 'diablo-nightly-mac-arm.dmg' | |
| - name: hellfire | |
| cmakeargs: '-DDEVILUTIONX_SYSTEM_SDL2=OFF -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-mac-arm.dmg' | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # fetch-depth: 0 | |
| - name: Create Build Environment | |
| run: brew bundle install | |
| #- name: Cache CMake build folder | |
| # uses: actions/cache@v4 | |
| # with: | |
| # path: build | |
| # key: ${{ github.workflow }}-v1-${{ github.sha }} | |
| # restore-keys: ${{ github.workflow }}-v1- | |
| #- name: Clean previous DMG | |
| # working-directory: ${{github.workspace}} | |
| # run: rm -f build/*.dmg | |
| - name: Build | |
| working-directory: ${{github.workspace}} | |
| shell: bash | |
| run: | | |
| cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DMACOSX_STANDALONE_APP_BUNDLE=ON ${{ matrix.cmakeargs }} && \ | |
| cmake --build build -j $(sysctl -n hw.physicalcpu) --target package --config ${{env.BUILD_TYPE}} | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| 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: | |
| include: | |
| - name: diablo | |
| cmakeargs: '' | |
| artifact: 'diablo-nightly-ios.ipa' | |
| - name: hellfire | |
| cmakeargs: '-DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-ios.ipa' | |
| runs-on: macos-15-intel | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # 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_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=../CMake/ios.toolchain.cmake -DENABLE_BITCODE=0 -DPLATFORM=OS64 -D CMAKE_OSX_DEPLOYMENT_TARGET=9.0 ${{ matrix.cmakeargs }} | |
| - name: Build | |
| working-directory: ${{github.workspace}} | |
| shell: bash | |
| run: > | |
| cmake --build build -j $(sysctl -n hw.physicalcpu) --config ${{env.BUILD_TYPE}} && | |
| 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@v5 | |
| with: | |
| path: ${{ env.buildDir }}/devilutionx.ipa | |
| name: ${{ matrix.artifact }} | |
| compression-level: 0 | |
| # Android-builds | |
| build_android: | |
| needs: build_check | |
| if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
| name: Nightly-Android | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: diablo | |
| artifact: 'diablo-nightly-android.apk' | |
| - name: hellfire | |
| cmakearg0: '-DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-android.apk' | |
| runs-on: ubuntu-24.04 | |
| environment: android | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # fetch-depth: 0 | |
| - name: Create Build Environment | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y gettext | |
| - name: set up JDK 17 | |
| uses: actions/setup-java@v5 | |
| 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: Accept SDK licenses | |
| # run: yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses | |
| - name: Install CMake | |
| run: | | |
| $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "cmake;3.31.0" | |
| #- name: Cache CMake build folder | |
| # uses: actions/cache@v3 | |
| # with: | |
| # path: android-project/app/.cxx | |
| # key: ${{ github.workflow }}-v4-${{ github.sha }} | |
| # restore-keys: ${{ github.workflow }}-v4- | |
| - name: Build | |
| working-directory: ${{github.workspace}} | |
| #env: | |
| # GRADLE_ASSEMBLE: ${{env.BUILD_TYPE == 'Release' && 'assembleRelease' || 'assembleDebug'}} | |
| shell: bash | |
| run: cd android-project && ./gradlew assembleRelease -Pcmakearg0="${{ matrix.cmakearg0 }}" -Pcmakearg1="${{ matrix.cmakearg1 }}" -Pcmakearg2="${{ matrix.cmakearg2 }}" | |
| - uses: ilharp/sign-android-release@v2 # Or use @nightly | |
| name: Sign app APK | |
| id: sign_app | |
| with: | |
| releaseDir: android-project/app/build/outputs/apk/release | |
| signingKey: ${{ secrets.ANDROID_SIGNING_KEY }} | |
| keyAlias: ${{ secrets.ANDROID_KEY_ALIAS }} | |
| keyStorePassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} | |
| keyPassword: ${{ secrets.ANDROID_KEY_PASSWORD }} | |
| #buildToolsVersion: 36.0.0 | |
| - name: Rename | |
| working-directory: ${{github.workspace}} | |
| shell: bash | |
| run: mv ${{steps.sign_app.outputs.signedFile}} android-project/app/build/outputs/apk/release/devilutionx.apk | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| 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-signed.apk | |
| path: android-project/app/build/outputs/apk/release/devilutionx.apk | |
| # rg350-builds | |
| build_rg350: | |
| needs: build_check | |
| if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
| name: Nightly-RG350 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: diablo | |
| cmakeargs: '-DZEROTIER=OFF' | |
| artifact: 'diablo-nightly-rg350.opk' | |
| - name: hellfire | |
| cmakeargs: '-DZEROTIER=OFF -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-rg350.opk' | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # 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 | |
| uses: actions/upload-artifact@v5 | |
| 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: | |
| include: | |
| - name: diablo | |
| cmakeargs: '' | |
| artifact: 'diablo-nightly-lepus.opk' | |
| - name: hellfire | |
| cmakeargs: '-DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-lepus.opk' | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # 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 | |
| uses: actions/upload-artifact@v5 | |
| 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: | |
| include: | |
| - name: diablo | |
| cmakeargs: '-DZEROTIER=OFF' | |
| artifact: 'diablo-nightly-retrofw.opk' | |
| - name: hellfire | |
| cmakeargs: '-DZEROTIER=OFF -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-retrofw.opk' | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # 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 | |
| uses: actions/upload-artifact@v5 | |
| 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: | |
| 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' | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # fetch-depth: 0 | |
| - name: Create Build Environment | |
| run: | | |
| sudo apt-get update && \ | |
| sudo apt-get install -y pacman-package-manager wget cmake git gettext && \ | |
| sudo tee -a /etc/pacman.conf > /dev/null <<TEXT | |
| [pacbrew] | |
| SigLevel = Optional TrustAll | |
| Server = https://pacman.mydedibox.fr/pacbrew/packages/ | |
| TEXT | |
| - name: Setup pacman packages | |
| run: | | |
| sudo pacman --noconfirm -Sy && \ | |
| sudo 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 | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: ${{ matrix.artifact }} | |
| path: build-ps4/devilutionx-ps4.pkg | |
| # ps5-builds | |
| build_ps5: | |
| needs: build_check | |
| if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
| name: Nightly-PS5 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: diablo | |
| cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF' | |
| artifact: 'diablo-nightly-ps5.zip' | |
| - name: hellfire | |
| cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-ps5.zip' | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # fetch-depth: 0 | |
| - name: Create Build Environment | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install cmake pkg-config clang-15 lld-15 | |
| sudo apt-get install build-essential autoconf libtool yasm nasm | |
| sudo apt-get install smpq gperf pkgconf libarchive-tools autopoint po4a git curl doxygen wget | |
| wget https://github.com/ps5-payload-dev/pacbrew-repo/releases/download/v0.27/ps5-payload-dev.tar.gz | |
| sudo tar -xf ps5-payload-dev.tar.gz -C / | |
| - name: Build | |
| working-directory: ${{github.workspace}} | |
| shell: bash | |
| run: Packaging/ps5/build.sh "${{ matrix.cmakeargs }}" | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| path: build-ps5/devilutionx.zip | |
| name: ${{ matrix.artifact }} | |
| compression-level: 0 | |
| # vita-builds | |
| build_vita: | |
| needs: build_check | |
| if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
| name: Nightly-VITA | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: diablo | |
| cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF' | |
| artifact: 'diablo-nightly-vita.vpk' | |
| - name: hellfire | |
| cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-vita.vpk' | |
| runs-on: ubuntu-latest | |
| container: vitasdk/vitasdk:latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # fetch-depth: 0 | |
| - name: Create Build Environment | |
| run: apk add cmake ninja | |
| - 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) --config ${{env.BUILD_TYPE}} | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| 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: | |
| include: | |
| - name: diablo | |
| cmakeargs: '' | |
| artifact: 'diablo-nightly-3ds.3dsx' | |
| cia: 'diablo-nightly-3ds.cia' | |
| - name: hellfire | |
| cmakeargs: '-DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-3ds.3dsx' | |
| cia: 'hellfire-nightly-3ds.cia' | |
| runs-on: ubuntu-latest | |
| container: devkitpro/devkitarm:latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # fetch-depth: 0 | |
| #- name: Install dependencies | |
| # run: | | |
| # tee /etc/apt/sources.list.d/bullseye-backports.list <<LIST | |
| # deb http://deb.debian.org/debian bullseye-backports main | |
| # LIST | |
| # apt-get update | |
| # apt-get install -y -t bullseye-backports cmake | |
| # apt-get install -y --no-install-recommends --no-install-suggests \ | |
| # ffmpeg \ | |
| # gettext | |
| - name: Create Build Environment | |
| run: | | |
| sudo apt-get install -y cmake wget | |
| 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) --config ${{env.BUILD_TYPE}} | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: ${{ matrix.artifact }} | |
| path: build/devilutionx.3dsx | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| 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: | |
| include: | |
| - name: diablo | |
| cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF' | |
| artifact: 'diablo-nightly-switch.nro' | |
| - name: hellfire | |
| cmakeargs: '-D DEVILUTIONX_SYSTEM_SDL2=OFF -DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-switch.nro' | |
| runs-on: ubuntu-latest | |
| container: devkitpro/devkita64:latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # fetch-depth: 0 | |
| #- name: Install dependencies | |
| # shell: bash | |
| # run: | | |
| # tee /etc/apt/sources.list.d/bullseye-backports.list <<LIST | |
| # deb http://deb.debian.org/debian bullseye-backports main | |
| # LIST | |
| # apt-get update | |
| # apt-get install -y -t bullseye-backports cmake | |
| # apt-get install -y --no-install-recommends --no-install-suggests \ | |
| # gettext | |
| - name: Create Build Environment | |
| run: | | |
| sudo apt-get install -y cmake | |
| - name: Configure CMake | |
| run: | | |
| cmake -S . -B build \ | |
| -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} ${{ matrix.cmakeargs }} \ | |
| -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake | |
| - name: Build DevilutionX | |
| run: cmake --build build -j$(nproc) --config ${{env.BUILD_TYPE}} | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: ${{ matrix.artifact }} | |
| path: ./build/devilutionx.nro | |
| # xbox-builds | |
| build_xbox: | |
| needs: build_check | |
| if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
| name: Nightly-XBOX | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: diablo | |
| cmakeargs: '' | |
| artifact: 'diablo-nightly-xbox.zip' | |
| - name: hellfire | |
| cmakeargs: '-DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-xbox.zip' | |
| runs-on: ubuntu-24.04 | |
| env: | |
| NXDK_DIR: /opt/nxdk | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| #fetch-depth: 0 | |
| - name: Create Build Environment | |
| run: sudo apt-get update && sudo apt-get install -y clang llvm lld bison flex cmake git | |
| - name: Clone NXDK Repo | |
| shell: bash | |
| run: git clone --recursive --depth 1 https://github.com/XboxDev/nxdk.git "$NXDK_DIR" | |
| #- name: Clone NXDK Repo | |
| # uses: actions/checkout@v5 | |
| # with: | |
| # repository: XboxDev/nxdk | |
| # path: "$NXDK_DIR" | |
| - name: Build NXDK | |
| shell: bash | |
| run: PATH="${NXDK_DIR}/bin:$PATH" make -j $(nproc) -C "$NXDK_DIR" NXDK_ONLY=1 LTO=1 all cxbe | |
| - name: Configure CMake | |
| working-directory: ${{github.workspace}} | |
| run: cmake -S. -Bbuild-xbox ${{ matrix.cmakeargs }} -DNXDK=ON -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=/opt/nxdk/share/toolchain-nxdk.cmake | |
| - name: Build | |
| working-directory: ${{github.workspace}} | |
| shell: bash | |
| run: cmake --build build-xbox -j $(nproc) --target package --config ${{env.BUILD_TYPE}} | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: ${{ matrix.artifact }} | |
| path: build-xbox/devilutionx.zip | |
| build_xboxone: | |
| needs: build_check | |
| if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
| name: Nightly-XBOXONE | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: diablo | |
| cmakeargs: '' | |
| artifact: 'diablo-nightly-xboxone.zip' | |
| - name: hellfire | |
| cmakeargs: '-DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-xboxone.zip' | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| #fetch-depth: 0 | |
| - name: Add msbuild to PATH | |
| uses: microsoft/setup-msbuild@v2 | |
| with: | |
| msbuild-architecture: x64 | |
| - name: Configure git | |
| shell: cmd | |
| run: | | |
| git config --global core.filemode false | |
| git config --global core.autocrlf false | |
| - name: Build | |
| shell: cmd | |
| working-directory: ${{github.workspace}} | |
| run: | | |
| Packaging\xbox-one\build.bat ${{ matrix.cmakeargs }} | |
| - name: Upload | |
| if: ${{ !env.ACT }} | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: ${{ matrix.artifact }} | |
| path: ${{ env.buildDir }}/devilutionx.zip | |
| # amiga-builds | |
| build_amiga: | |
| needs: build_check | |
| if: ${{ needs.build_check.outputs.should_run != 'false' }} | |
| name: Nightly-Amiga M68K | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: diablo | |
| cmakeargs: '' | |
| artifact: 'diablo-nightly-amiga' | |
| - name: hellfire | |
| cmakeargs: '-DHELLFIRE=ON' | |
| artifact: 'hellfire-nightly-amiga' | |
| runs-on: ubuntu-24.04 | |
| container: amigadev/crosstools:m68k-amigaos-gcc10 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-tags: true | |
| # fetch-depth: 0 | |
| - name: Create Build Environment | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake wget | |
| 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 --config ${{env.BUILD_TYPE}} | |
| - name: Upload | |
| uses: actions/upload-artifact@v5 | |
| 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_ps5, build_vita, build_n3ds, build_switch, build_xbox, build_xboxone, 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@v6 | |
| 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@v6 | |
| 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@v6 | |
| with: | |
| name: diablo-nightly-mini-x86.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/diablo-nightly-mini-x86.zip | |
| - name: Download a hellfire artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-mini-x86.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-mini-x86.zip | |
| - name: Download a diablo artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-server-x86.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/diablo-nightly-server-x86.zip | |
| - name: Download a hellfire artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-server-x86.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-server-x86.zip | |
| - name: Download a diablo artifact | |
| uses: actions/download-artifact@v6 | |
| 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@v6 | |
| 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@v6 | |
| 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@v6 | |
| 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@v6 | |
| 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@v6 | |
| 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@v6 | |
| with: | |
| name: diablo-nightly-hd2-x64.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/diablo-nightly-hd2-x64.zip | |
| - name: Download a hellfire artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-hd2-x64.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-hd2-x64.zip | |
| - name: Download a diablo artifact | |
| uses: actions/download-artifact@v6 | |
| 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@v6 | |
| with: | |
| name: hellfire-nightly-mingw-x64.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-mingw-x64.zip | |
| - name: Download a diablo artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-mini-x64.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/diablo-nightly-mini-x64.zip | |
| - name: Download a hellfire artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-mini-x64.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-mini-x64.zip | |
| - name: Download a diablo artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-server-x64.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/diablo-nightly-server-x64.zip | |
| - name: Download a hellfire artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-server-x64.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-server-x64.zip | |
| - name: Download a diablo artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-scr-x64.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/diablo-nightly-scr-x64.zip | |
| - name: Download a hellfire artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-scr-x64.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-scr-x64.zip | |
| # Linux-builds (x64) | |
| - name: Download a diablo artifact | |
| uses: actions/download-artifact@v6 | |
| 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@v6 | |
| 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@v6 | |
| 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@v6 | |
| 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 | |
| # Aarch64-builds (x64) | |
| - name: Download a diablo aarch64-artifact | |
| uses: actions/download-artifact@v6 | |
| 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 hellfire aarch64-artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-aarch64.tar.xz | |
| - run: mv ${{github.workspace}}/devilutionx-aarch64.tar.xz ${{github.workspace}}/hellfire-nightly-aarch64.tar.xz | |
| # Mac-builds | |
| - name: Download a diablo mac-artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-mac.dmg | |
| - run: mv ${{github.workspace}}/devilutionx.dmg ${{github.workspace}}/diablo-nightly-mac.dmg | |
| - name: Download a hellfire mac-artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-mac.dmg | |
| - run: mv ${{github.workspace}}/devilutionx.dmg ${{github.workspace}}/hellfire-nightly-mac.dmg | |
| # iOS-builds | |
| - name: Download a diablo iOS artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-ios.ipa | |
| - run: mv ${{github.workspace}}/devilutionx.ipa ${{github.workspace}}/diablo-nightly-ios.ipa | |
| - name: Download a hellfire iOS artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-ios.ipa | |
| - run: mv ${{github.workspace}}/devilutionx.ipa ${{github.workspace}}/hellfire-nightly-ios.ipa | |
| # Android-builds | |
| - name: Download a diablo android artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-android.apk | |
| - run: mv ${{github.workspace}}/devilutionx.apk ${{github.workspace}}/diablo-nightly-android.apk | |
| - name: Download a hellfire android artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-android.apk | |
| - run: mv ${{github.workspace}}/devilutionx.apk ${{github.workspace}}/hellfire-nightly-android.apk | |
| # rg350-builds | |
| - name: Download a diablo rg350 artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-rg350.opk | |
| - run: mv ${{github.workspace}}/devilutionx-rg350.opk ${{github.workspace}}/diablo-nightly-rg350.opk | |
| - name: Download a hellfire rg350 artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-rg350.opk | |
| - run: mv ${{github.workspace}}/devilutionx-rg350.opk ${{github.workspace}}/hellfire-nightly-rg350.opk | |
| # lepus-builds | |
| - name: Download a diablo lepus artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-lepus.opk | |
| - run: mv ${{github.workspace}}/devilutionx-lepus.opk ${{github.workspace}}/diablo-nightly-lepus.opk | |
| - name: Download a hellfire lepus artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-lepus.opk | |
| - run: mv ${{github.workspace}}/devilutionx-lepus.opk ${{github.workspace}}/hellfire-nightly-lepus.opk | |
| # retrofw-builds | |
| - name: Download a diablo retrofw artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-retrofw.opk | |
| - run: mv ${{github.workspace}}/devilutionx-retrofw.opk ${{github.workspace}}/diablo-nightly-retrofw.opk | |
| - name: Download a hellfire retrofw artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-retrofw.opk | |
| - run: mv ${{github.workspace}}/devilutionx-retrofw.opk ${{github.workspace}}/hellfire-nightly-retrofw.opk | |
| # ps4-builds | |
| - name: Download a diablo ps4 artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-ps4.pkg | |
| - run: mv ${{github.workspace}}/devilutionx-ps4.pkg ${{github.workspace}}/diablo-nightly-ps4.pkg | |
| - name: Download a hellfire ps4 artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-ps4.pkg | |
| - run: mv ${{github.workspace}}/devilutionx-ps4.pkg ${{github.workspace}}/hellfire-nightly-ps4.pkg | |
| # ps5-builds | |
| - name: Download a diablo ps5 artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-ps5.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/diablo-nightly-ps5.zip | |
| - name: Download a hellfire ps5 artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-ps5.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-ps5.zip | |
| # vita-builds | |
| - name: Download a diablo vita artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-vita.vpk | |
| - run: mv ${{github.workspace}}/devilutionx.vpk ${{github.workspace}}/diablo-nightly-vita.vpk | |
| - name: Download a hellfire vita artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-vita.vpk | |
| - run: mv ${{github.workspace}}/devilutionx.vpk ${{github.workspace}}/hellfire-nightly-vita.vpk | |
| # n3ds-builds | |
| - name: Download a diablo n3ds artifact | |
| uses: actions/download-artifact@v6 | |
| 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@v6 | |
| with: | |
| name: diablo-nightly-3ds.cia | |
| - run: mv ${{github.workspace}}/devilutionx.cia ${{github.workspace}}/diablo-nightly-3ds.cia | |
| - name: Download a hellfire n3ds artifact | |
| uses: actions/download-artifact@v6 | |
| 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@v6 | |
| with: | |
| name: hellfire-nightly-3ds.cia | |
| - run: mv ${{github.workspace}}/devilutionx.cia ${{github.workspace}}/hellfire-nightly-3ds.cia | |
| # switch-builds | |
| - name: Download a diablo switch artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-switch.nro | |
| - run: mv ${{github.workspace}}/devilutionx.nro ${{github.workspace}}/diablo-nightly-switch.nro | |
| - name: Download a hellfire switch artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-switch.nro | |
| - run: mv ${{github.workspace}}/devilutionx.nro ${{github.workspace}}/hellfire-nightly-switch.nro | |
| # xbox-builds | |
| - name: Download a diablo xbox artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-xbox.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/diablo-nightly-xbox.zip | |
| - name: Download a hellfire xbox artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-xbox.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-xbox.zip | |
| # xboxone-builds | |
| - name: Download a diablo xboxone artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-xboxone.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/diablo-nightly-xboxone.zip | |
| - name: Download a hellfire xboxone artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-xboxone.zip | |
| - run: mv ${{github.workspace}}/devilutionx.zip ${{github.workspace}}/hellfire-nightly-xboxone.zip | |
| # amiga-builds | |
| - name: Download a diablo amiga artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: diablo-nightly-amiga | |
| - run: mv ${{github.workspace}}/devilutionx ${{github.workspace}}/diablo-nightly-amiga | |
| - name: Download a hellfire amiga artifact | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: hellfire-nightly-amiga | |
| - run: mv ${{github.workspace}}/devilutionx ${{github.workspace}}/hellfire-nightly-amiga | |
| # 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><em>Diablo</em></th>' >> RELEASE_NOTE.md | |
| echo '<th>Environment</th>' >> RELEASE_NOTE.md | |
| echo '<th><em>Hellfire</em></th>' >> RELEASE_NOTE.md | |
| echo '</tr></thead><tbody><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-android.apk">android.apk</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><code>Android</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-android.apk">android.apk</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-lepus.opk">lepus.opk</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><code>Lepus</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-lepus.opk">lepus.opk</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-retrofw.opk">retrofw.opk</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><code>RetroFW</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-retrofw.opk">retrofw.opk</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-rg350.opk">rg350.opk</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><code>RG350</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-rg350.opk">rg350.opk</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-ps4.pkg">ps4.pkg</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><code>PS4</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-ps4.pkg">ps4.pkg</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-ps5.zip">ps5.zip</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><code>PS5</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-ps5.zip">ps5.zip</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-aarch64.tar.xz">aarch64.tar.xz</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><code>aarch64</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-aarch64.tar.xz">aarch64.tar.xz</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-mac.dmg">mac.dmg</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><code>Mac</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-mac.dmg">mac.dmg</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-ios.ipa">ios.ipa</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><code>iOS</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-ios.ipa">ios.ipa</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-vita.vpk">vita.vpk</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><code>Vita</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-vita.vpk">vita.vpk</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-3ds.3dsx">3ds.3dsx</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center rowspan=2><code>Nintendo 3DS</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-3ds.3dsx">3ds.3dsx</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-3ds.cia">3ds.cia</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-3ds.cia">3ds.cia</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-switch.nro">switch.nro</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><code>Nintendo Switch</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-switch.nro">switch.nro</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-xbox.zip">xbox.zip</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><code>XBOX</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-xbox.zip">xbox.zip</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-xboxone.zip">xboxone.zip</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><code>XBOXONE/SERIES</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-xboxone.zip">xboxone.zip</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-amiga">amiga</a></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><code>Amiga</code></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-amiga">amiga</a></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td 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=5 align=center><code>Windows x64</code></td>' >> RELEASE_NOTE.md | |
| echo '<td 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 align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-mingw-x64.zip">mingw-x64.zip</a></td>' >> RELEASE_NOTE.md | |
| echo '<td 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 align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-hd2-x64.zip">hd2-x64.zip</a> <sup><a href="#fn-2" id="user-content-fnref-2" data-footnote-ref="">2</a></sup></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-hd2-x64.zip">hd2-x64.zip</a> <sup><a href="#fn-2" id="user-content-fnref-2" data-footnote-ref="">2</a></sup></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-mini-x64.zip">mini-x64.zip</a> <sup><a href="#fn-3" id="user-content-fnref-3" data-footnote-ref="">3</a></sup></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-mini-x64.zip">mini-x64.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 align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-server-x64.zip">srv-x64.zip</a> <sup><a href="#fn-4" id="user-content-fnref-4" data-footnote-ref="">4</a></sup></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-server-x64.zip">srv-x64.zip</a> <sup><a href="#fn-4" id="user-content-fnref-4" data-footnote-ref="">4</a></sup></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-scr-x64.zip">scr-x64.zip</a> <sup><a href="#fn-5" id="user-content-fnref-5" data-footnote-ref="">5</a></sup></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><img align=center src="https://github.githubassets.com/assets/accessibility-317cd9a9f485.png" width=20 height=20/></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-scr-x64.zip">scr-x64.zip</a> <sup><a href="#fn-5" id="user-content-fnref-5" data-footnote-ref="">5</a></sup></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td 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=4 align=center><code>Windows x86</code></td>' >> RELEASE_NOTE.md | |
| echo '<td 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 align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-mingw-x86.zip">mingw-x86.zip</a></td>' >> RELEASE_NOTE.md | |
| echo '<td 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 align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-mini-x86.zip">mini-x86.zip</a> <sup><a href="#fn-3" id="user-content-fnref-3" data-footnote-ref="">3</a></sup></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-mini-x86.zip">mini-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 align=center><a href="../../releases/download/devilx-nightly/diablo-nightly-server-x86.zip">srv-x86.zip</a> <sup><a href="#fn-4" id="user-content-fnref-4" data-footnote-ref="">4</a></sup></td>' >> RELEASE_NOTE.md | |
| echo '<td align=center><a href="../../releases/download/devilx-nightly/hellfire-nightly-server-x86.zip">srv-x86.zip</a> <sup><a href="#fn-4" id="user-content-fnref-4" data-footnote-ref="">4</a></sup></td>' >> RELEASE_NOTE.md | |
| echo '</tr><tr>' >> RELEASE_NOTE.md | |
| echo '<td 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 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>hd build - uses upscaled (2x) assets (can be prepared using <a href="https://github.com/pionere/d1-graphics-tool/releases">d1-graphics-tool</a>)</p>' >> RELEASE_NOTE.md | |
| echo '</li><li id="user-content-fn-3">' >> RELEASE_NOTE.md | |
| echo '<p>minimal build - no internet, controller or sound support</p>' >> RELEASE_NOTE.md | |
| echo '</li><li id="user-content-fn-4">' >> RELEASE_NOTE.md | |
| echo '<p>server build - no controller or sound support</p>' >> RELEASE_NOTE.md | |
| echo '</li><li id="user-content-fn-5">' >> RELEASE_NOTE.md | |
| echo '<p>build with screen-reader support</p>' >> RELEASE_NOTE.md | |
| echo '</li></ol></section>' >> RELEASE_NOTE.md | |
| #- name: Show content of workspace | |
| # run: find $RUNNER_WORKSPACE | |
| # shell: bash | |
| # uses: pionere/delete-tag-and-release@v1 | |
| - name: Delete tag and release | |
| uses: dev-drprasad/[email protected] | |
| 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/action-gh-release@v2 | |
| with: | |
| tag_name: devilx-nightly | |
| body_path: ${{ github.workspace }}/RELEASE_NOTE.md | |
| draft: false | |
| prerelease: true | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| fail_on_unmatched_files: 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-ps5.zip | |
| ${{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-xbox.zip | |
| ${{github.workspace}}/diablo-nightly-xboxone.zip | |
| ${{github.workspace}}/diablo-nightly-amiga | |
| ${{github.workspace}}/diablo-nightly-x64.zip | |
| ${{github.workspace}}/diablo-nightly-mingw-x64.zip | |
| ${{github.workspace}}/diablo-nightly-hd2-x64.zip | |
| ${{github.workspace}}/diablo-nightly-mini-x64.zip | |
| ${{github.workspace}}/diablo-nightly-server-x64.zip | |
| ${{github.workspace}}/diablo-nightly-scr-x64.zip | |
| ${{github.workspace}}/diablo-nightly-x86.zip | |
| ${{github.workspace}}/diablo-nightly-mingw-x86.zip | |
| ${{github.workspace}}/diablo-nightly-mini-x86.zip | |
| ${{github.workspace}}/diablo-nightly-server-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-ps5.zip | |
| ${{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-xbox.zip | |
| ${{github.workspace}}/hellfire-nightly-xboxone.zip | |
| ${{github.workspace}}/hellfire-nightly-amiga | |
| ${{github.workspace}}/hellfire-nightly-x64.zip | |
| ${{github.workspace}}/hellfire-nightly-mingw-x64.zip | |
| ${{github.workspace}}/hellfire-nightly-hd2-x64.zip | |
| ${{github.workspace}}/hellfire-nightly-mini-x64.zip | |
| ${{github.workspace}}/hellfire-nightly-server-x64.zip | |
| ${{github.workspace}}/hellfire-nightly-scr-x64.zip | |
| ${{github.workspace}}/hellfire-nightly-x86.zip | |
| ${{github.workspace}}/hellfire-nightly-mingw-x86.zip | |
| ${{github.workspace}}/hellfire-nightly-mini-x86.zip | |
| ${{github.workspace}}/hellfire-nightly-server-x86.zip | |
| ${{github.workspace}}/hellfire-nightly-mingw-w9x.zip | |
| #env: | |
| # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |