-
Notifications
You must be signed in to change notification settings - Fork 20
79 lines (64 loc) · 2.58 KB
/
build-appimage.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
name: Build AppImage
on:
push:
branches:
- main
- master
pull_request:
branches:
- main
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0 # Fetch all history for all branches and tags
- name: Determine version and dist
id: version
run: |
# Get the most recent tag, and check if the latest commit is tagged
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "0.0.0")
TAGGED_COMMIT=$(git describe --tags --exact-match 2>/dev/null || echo "notag")
if [ "$TAGGED_COMMIT" = "notag" ]; then
VERSION="${LATEST_TAG}+"
DIST="-git"
else
VERSION=$LATEST_TAG
DIST=""
fi
echo "VERSION=$VERSION" >> $GITHUB_ENV
echo "DIST=$DIST" >> $GITHUB_ENV
- name: Set up CentOS 7 Docker
run: |
docker run --rm -v $(pwd):/workspace -w /workspace centos:7 /bin/bash -c "
# Update repository URLs to use the vault since CentOS 7 has reached EOL
sed -i 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-*.repo
sed -i 's|^#baseurl=http://mirror.centos.org/centos/\$releasever|baseurl=http://vault.centos.org/7.9.2009|g' /etc/yum.repos.d/CentOS-*.repo
yum clean all
yum makecache
yum install -y epel-release
yum groupinstall -y 'Development Tools'
yum install -y gtk3-devel glib2-devel gettext-devel desktop-file-utils \
patchelf wget libtool autoconf automake pkgconfig
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
chmod +x linuxdeploy-x86_64.AppImage
./autogen.sh
./configure
make
mkdir -p AppDir/usr/bin
cp src/xnec2c AppDir/usr/bin/
cp resources/xnec2c.svg AppDir/usr/share/icons/hicolor/scalable/apps/
cp files/xnec2c.desktop AppDir/usr/share/applications/
./linuxdeploy-x86_64.AppImage --appdir AppDir --output appimage
mv xnec2c*.AppImage xnec2c-${{ github.sha }}.AppImage
chmod +x xnec2c-${{ github.sha }}.AppImage
./xnec2c-${{ github.sha }}.AppImage --appimage-extract-and-run -h
"
- name: Upload the AppImage
uses: actions/upload-artifact@v2
with:
name: xnec2c.AppImage
path: xnec2c-${{ github.sha }}.AppImage