-
Notifications
You must be signed in to change notification settings - Fork 19
141 lines (121 loc) · 5.18 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
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 }}