Build Ion Fury #245
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: "Build Ion Fury" | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "0 0 * * *" | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: 🛒 Checkout repository | |
id: checkout | |
uses: actions/checkout@v4 | |
with: | |
# We need this for the 'check_tag' step. | |
fetch-depth: 0 | |
- name: 🔍 Determine latest EDuke32 "Synthesis" version | |
id: versions | |
run: | | |
EDUKE32_VERSION="$(curl -sL https://dukeworld.com/eduke32/synthesis/latest | grep -o '[^"]*.tar.xz' | head -n 1)" | |
SYNTHESIS_VERSION=${EDUKE32_VERSION#"eduke32_src_"}; SYNTHESIS_VERSION=${SYNTHESIS_VERSION%".tar.xz"} | |
echo "synthesis=$SYNTHESIS_VERSION" >> $GITHUB_OUTPUT | |
shell: bash | |
- name: ❓ Check if we already built this version | |
id: check_tag | |
run: | | |
if git rev-parse --verify --quiet "refs/tags/fury-${{ steps.versions.outputs.synthesis }}"; then | |
echo "Tag already exists, we can exit early!"; echo "tag_exists=true" >> $GITHUB_OUTPUT | |
else | |
echo "Tag does not exist, let's get cracking!"; echo "tag_exists=false" >> $GITHUB_OUTPUT | |
fi | |
shell: bash | |
- name: 🗃️ Fetch the source code | |
if: steps.check_tag.outputs.tag_exists == 'false' | |
run: | | |
wget -O 'eduke32_src.tar.xz' "https://dukeworld.duke4.net/eduke32/synthesis/${{ steps.versions.outputs.synthesis }}/eduke32_src_${{ steps.versions.outputs.synthesis }}.tar.xz" | |
tar -xf 'eduke32_src.tar.xz' --strip-components=1 && rm 'eduke32_src.tar.xz' | |
shell: bash | |
- name: 🏗️ Build | |
if: steps.check_tag.outputs.tag_exists == 'false' | |
uses: ./.github/actions/scout | |
with: | |
variant: FURY | |
- name: 📦️ Archive package | |
if: steps.check_tag.outputs.tag_exists == 'false' | |
run: | | |
7z a \ | |
-t7z \ | |
-m0=lzma \ | |
-mx=9 \ | |
-mfb=64 \ | |
-md=32m \ | |
-ms=on \ | |
"Fury.LinuxPortable_${{ steps.versions.outputs.synthesis }}.7z" ./out/* | |
shell: bash | |
- name: 🚚 Ship | |
if: steps.check_tag.outputs.tag_exists == 'false' | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: fury-${{ steps.versions.outputs.synthesis }} | |
name: "Ion Fury | ${{ steps.versions.outputs.synthesis }}" | |
body: | | |
![Ion Fury](https://github.com/AvinashReddy3108/EDuke32.LinuxPortable/assets/27774996/f61bf3bc-5629-4b2a-90cb-ab192bfb410d) | |
Read the changelog: https://dukeworld.com/eduke32/synthesis/${{ steps.versions.outputs.synthesis }}/ChangeLog.txt | |
# Notes | |
- The "startup screen"/GUI has been stripped out (flags: `STARTUP_WINDOW=0`, `HAVE_GTK2=0`) in favor of using shell scripts (or maybe a third party launcher in the future?) to launch the games. You will need to use the CLI for launching your games (see `./fury --help`). | |
- While the game should work on the latest compiled binaries here, it has not been tested thoroughly. If issues do arise, please use the binary that came with the game files (or the compiled binary of the same revision, can be found this on the lower right in the game's main menu) | |
files: Fury.LinuxPortable_${{ steps.versions.outputs.synthesis }}.7z |