Skip to content

Build LinuxDwarfPack package #1

Build LinuxDwarfPack package

Build LinuxDwarfPack package #1

Workflow file for this run

name: Build LinuxDwarfPack package
# automatic buid deactivated to avoid distribution of the DF Vanilla binaries (might be forbidden by license since v0.50)
on:
workflow_dispatch
# push:
# pull_request:
# schedule:
# - cron: '0 0 * * 1'
jobs:
build:
runs-on: ubuntu-22.04
steps:
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install libxml-libxml-perl libxml-xslt-perl libxml-filter-xslt-perl help2man git libncurses5-dev zlib1g-dev lib32z1-dev mesa-common-dev gcc-multilib g++-multilib cmake dos2unix tcl autoconf gperf bison flex gawk libtool libsdl2-dev libsdl2-image-2.0-0 libsdl2-ttf-2.0-0 texinfo ninja-build qtbase5-dev qt5-qmake qttools5-dev-tools libqt5svg5-dev qt5-image-formats-plugins qtbase5-dev qtdeclarative5-dev python3-tk libasound2-dev libgtk-3-dev
- name: Checkout
uses: actions/checkout@v3
- name: Name package
id: slug
run: |
echo "PKG_NAME=LinuxDwarfPack-$(git rev-parse --short HEAD)" >> $GITHUB_ENV
echo "DIR_NAME=LinuxDwarfPack-$(source version.sh)" >> $GITHUB_ENV
- name: Build
run: |
autoreconf && ./configure --prefix=$PWD && make install
echo "CT_LOG_PROGRESS_BAR=n" >> .config
./bin/lnp-forge build
- name: Upload build log
uses: actions/upload-artifact@v3
with:
name: build.log
path: build.log
if: ${{ failure() }}
- name: Build tar.gz
run: |
source .config && mv .build/src/lnp-${CT_LNP_VERSION} ${{ env.DIR_NAME }}
tar cjf ${{ env.DIR_NAME }}.tar.bz2 ${{ env.DIR_NAME }}
- name: Upload .tar package
uses: actions/upload-artifact@v3
with:
name: ${{ env.PKG_NAME }}.tar.bz2
path: ${{ env.DIR_NAME }}.tar.bz2
- name: Install packaging dependencies
run: |
sudo apt-get install ruby ruby-dev rubygems build-essential libarchive-tools libfuse2
sudo gem install public_suffix -v 4.0.7
sudo gem install --no-document fpm
echo "/usr/local/bin" >> $GITHUB_PATH
- name: Fix world writable dirs
run: |
chmod go-w $HOME
sudo chmod -R go-w /home/linuxbrew
sudo chmod -R go-w /home/runner
sudo chmod -R go-w /usr/share
sudo chmod -R go-w /usr/local
sudo chmod -R go-w /opt
- name: Build AppImage, deb, arch, rpm, apk packages
run: |
echo "CT_APPIMAGE=y" >> .config
echo "CT_DEBIAN=y" >> .config
echo "CT_ARCH=y" >> .config
echo "CT_RPM=y" >> .config
echo "CT_ALPINE=y" >> .config
./configure --prefix=$PWD && make install && ./bin/lnp-forge clean build
- name: Upload build log
uses: actions/upload-artifact@v3
with:
name: build.log
path: build.log
if: ${{ failure() }}
- name: Upload AppImage
uses: actions/upload-artifact@v3
with:
name: ${{ env.PKG_NAME }}.AppImage
path: Dwarf_Fortress-*-x86_64.AppImage
- name: Upload .deb package
uses: actions/upload-artifact@v3
with:
name: ${{ env.PKG_NAME }}.deb
path: linux-dwarf-pack_*_amd64.deb
- name: Upload Arch package
uses: actions/upload-artifact@v3
with:
name: ${{ env.PKG_NAME }}.pkg.tar.bz2
path: linux-dwarf-pack-*-1-x86_64.pkg.tar.bz2
- name: Upload .rpm package
uses: actions/upload-artifact@v3
with:
name: ${{ env.PKG_NAME }}.rpm
path: linux-dwarf-pack-*-1.x86_64.rpm
- name: Upload Alpine package
uses: actions/upload-artifact@v3
with:
name: ${{ env.PKG_NAME }}.apk
path: linux-dwarf-pack_*_x86_64.apk
- name: Content versions
run: |
echo "DF_VERSION=v0.$(grep CT_DF_VERSION .config|sed -e 's|.*=\"\(.*\)_linux\"|\1|g' -e 's|_|.|g')" >> $GITHUB_ENV
echo "DFHACK_VERSION=v$(grep CT_DFHACK_VERSION .config|sed 's|.*=\"\(.*\)\"|\1|g')" >> $GITHUB_ENV
echo "LEGENDS2_VERSION=v$(grep CT_LEGENDS2_VERSION .config|sed 's|.*=\"\(.*\)\"|\1|g')" >> $GITHUB_ENV
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
body: |
A simple ready-to-play pack for Linux that includes:
- Dwarf Fortress ${{ env.DF_VERSION }}
- DFHack ${{ env.DFHACK_VERSION }}
- Legends Browser 2 ${{ env.LEGENDS2_VERSION }}
Support and feedback: [Bay12 Forums](http://www.bay12forums.com/smf/index.php?topic=157712)
[![bay12](https://www.bay12games.com/dwarves/imgs/support_large.png)](http://www.bay12games.com/support.html) or [![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/donate?business=mcarcady%40gmail.com&item_name=Create+and+expand+the+LinuxDwarfPack%21&currency_code=EUR) or [buy me a coffee!](https://www.buymeacoffee.com/mcarcady)
files: |
linux-dwarf-pack_*_amd64.deb
linux-dwarf-pack-*-1-x86_64.pkg.tar.bz2
linux-dwarf-pack-*-1.x86_64.rpm
linux-dwarf-pack_*_x86_64.apk
Dwarf_Fortress-*-x86_64.AppImage
${{ env.DIR_NAME }}.tar.bz2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}