Build LinuxDwarfPack package #1
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 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¤cy_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 }} |