Skip to content

Commit ab0202c

Browse files
authored
Merge pull request #318 from unoplatform/dev/jela/appimage
feat: Generate x64 AppImage
2 parents f5ccef3 + 1b5f22a commit ab0202c

File tree

2 files changed

+141
-0
lines changed

2 files changed

+141
-0
lines changed

.vsts-ci.Skia.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,3 +344,63 @@ jobs:
344344
# pathToPublish: $(build.artifactstagingdirectory)
345345
# artifactType: container
346346
# artifactName: Calculator
347+
348+
- job: x64_AppImage
349+
dependsOn:
350+
- Linux_Skia_x86
351+
352+
pool:
353+
vmImage: 'ubuntu-latest'
354+
355+
container:
356+
image: appimagecrafters/appimage-builder:0.7.2
357+
options: "--name ci-container -v /usr/bin/docker:/tmp/docker:ro"
358+
359+
steps:
360+
- task: UseDotNet@2
361+
displayName: 'Use .Net Core runtime 3.1.x'
362+
inputs:
363+
packageType: sdk
364+
version: '3.1.x'
365+
366+
- task: gitversion/setup@0
367+
inputs:
368+
versionSpec: '5.x'
369+
370+
- task: gitversion/execute@0
371+
inputs:
372+
updateAssemblyInfo: 'False'
373+
useConfigFile: true
374+
configFilePath: gitversion.yml
375+
displayName: Use GitVersion
376+
377+
- task: DownloadBuildArtifacts@0
378+
inputs:
379+
artifactName: Calculator
380+
downloadPath: '$(build.sourcesdirectory)/build'
381+
382+
- script: |
383+
/tmp/docker exec -t -u 0 ci-container \
384+
sh -c "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confold" -y install sudo"
385+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata
386+
sudo apt -y install zip
387+
displayName: 'Setup dependencies'
388+
389+
- script: |
390+
cd $(build.sourcesdirectory)/build/appimage
391+
mkdir -p AppDir/usr/bin/uno-calculator
392+
unzip $(build.sourcesdirectory)/build/Calculator/skia/Calculator-linux-x64.zip -d AppDir/usr/bin/uno-calculator
393+
mkdir -p AppDir/usr/share/icons/50x50
394+
cp AppDir/usr/bin/uno-calculator/Assets/StoreLogo.png AppDir/usr/share/icons/50x50/
395+
appimage-builder --recipe AppImageBuilder.x64.yaml --skip-test
396+
cp *.AppImage $(build.artifactstagingdirectory)
397+
398+
env:
399+
GITVERSION_FullSemVer: $(GitVersion.FullSemVer)
400+
401+
- task: PublishBuildArtifacts@1
402+
displayName: Publish Package Artifacts
403+
inputs:
404+
pathToPublish: $(build.artifactstagingdirectory)
405+
artifactType: container
406+
artifactName: Calculator
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
version: 1
2+
AppDir:
3+
path: ./AppDir
4+
app_info:
5+
id: uno.platform.calculator
6+
name: uno-calculator
7+
icon: 'StoreLogo'
8+
version: !ENV ${GITVERSION_FullSemVer}
9+
exec: usr/bin/uno-calculator/Calculator.Skia.Gtk
10+
exec_args: $@
11+
runtime:
12+
env:
13+
APPDIR_LIBRARY_PATH: $APPDIR/lib/x86_64-linux-gnu
14+
APPDIR_LIBRARY_PATH: '$APPDIR/usr/lib:$APPDIR/usr/lib/x86_64-linux-gnu:$APPDIR/lib/x86_64-linux-gnu:$APPDIR/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders'
15+
GTK_THEME: Default
16+
GTK_PATH: $APPDIR/usr/lib/x86_64-linux-gnu/gtk-2.0
17+
GTK_EXE_PREFIX: $APPDIR/usr/lib/x86_64-linux-gnu
18+
apt:
19+
arch: amd64
20+
sources:
21+
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal main restricted
22+
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3b4fe6acc0b21f32'
23+
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted
24+
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal universe
25+
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-updates universe
26+
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal multiverse
27+
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-updates multiverse
28+
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted
29+
universe multiverse
30+
- sourceline: deb http://security.ubuntu.com/ubuntu/ focal-security main restricted
31+
- sourceline: deb http://security.ubuntu.com/ubuntu/ focal-security universe
32+
- sourceline: deb http://security.ubuntu.com/ubuntu/ focal-security multiverse
33+
include:
34+
- libgcc-s1
35+
- libgtk-3-0
36+
- libgtk-3-bin
37+
- libgtk-3-common
38+
- gtk2-engines-pixbuf
39+
- libcanberra-gtk3-module
40+
#- libgcc-s1
41+
#- gtk+-3.0
42+
#- gtk2-engines-pixbuf
43+
exclude:
44+
- hicolor-icon-theme
45+
- humanity-icon-theme
46+
- mono
47+
exclude: []
48+
files:
49+
exclude:
50+
- usr/share/man
51+
- usr/share/doc/*/README.*
52+
- usr/share/doc/*/changelog.*
53+
- usr/share/doc/*/NEWS.*
54+
- usr/share/doc/*/TODO.*
55+
test:
56+
fedora:
57+
image: appimagecrafters/tests-env:fedora-30
58+
command: ./AppRun
59+
use_host_x: true
60+
debian:
61+
image: appimagecrafters/tests-env:debian-stable
62+
command: ./AppRun
63+
use_host_x: true
64+
arch:
65+
image: appimagecrafters/tests-env:archlinux-latest
66+
command: ./AppRun
67+
use_host_x: true
68+
centos:
69+
image: appimagecrafters/tests-env:centos-7
70+
command: ./AppRun
71+
use_host_x: true
72+
ubuntu:
73+
image: appimagecrafters/tests-env:ubuntu-xenial
74+
command: ./AppRun
75+
use_host_x: true
76+
77+
AppImage:
78+
arch: x86_64
79+
file_name: !ENV uno-calculator-${GITVERSION_FullSemVer}-x86_64.AppImage
80+
update-information: None
81+
sign-key: None

0 commit comments

Comments
 (0)