Skip to content

Commit

Permalink
Merge pull request #318 from unoplatform/dev/jela/appimage
Browse files Browse the repository at this point in the history
feat: Generate x64 AppImage
  • Loading branch information
jeromelaban committed Oct 19, 2020
2 parents f5ccef3 + 1b5f22a commit ab0202c
Show file tree
Hide file tree
Showing 2 changed files with 141 additions and 0 deletions.
60 changes: 60 additions & 0 deletions .vsts-ci.Skia.yml
Original file line number Diff line number Diff line change
Expand Up @@ -344,3 +344,63 @@ jobs:
# pathToPublish: $(build.artifactstagingdirectory)
# artifactType: container
# artifactName: Calculator

- job: x64_AppImage
dependsOn:
- Linux_Skia_x86

pool:
vmImage: 'ubuntu-latest'

container:
image: appimagecrafters/appimage-builder:0.7.2
options: "--name ci-container -v /usr/bin/docker:/tmp/docker:ro"

steps:
- task: UseDotNet@2
displayName: 'Use .Net Core runtime 3.1.x'
inputs:
packageType: sdk
version: '3.1.x'

- task: gitversion/setup@0
inputs:
versionSpec: '5.x'

- task: gitversion/execute@0
inputs:
updateAssemblyInfo: 'False'
useConfigFile: true
configFilePath: gitversion.yml
displayName: Use GitVersion

- task: DownloadBuildArtifacts@0
inputs:
artifactName: Calculator
downloadPath: '$(build.sourcesdirectory)/build'

- script: |
/tmp/docker exec -t -u 0 ci-container \
sh -c "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confold" -y install sudo"
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata
sudo apt -y install zip
displayName: 'Setup dependencies'
- script: |
cd $(build.sourcesdirectory)/build/appimage
mkdir -p AppDir/usr/bin/uno-calculator
unzip $(build.sourcesdirectory)/build/Calculator/skia/Calculator-linux-x64.zip -d AppDir/usr/bin/uno-calculator
mkdir -p AppDir/usr/share/icons/50x50
cp AppDir/usr/bin/uno-calculator/Assets/StoreLogo.png AppDir/usr/share/icons/50x50/
appimage-builder --recipe AppImageBuilder.x64.yaml --skip-test
cp *.AppImage $(build.artifactstagingdirectory)
env:
GITVERSION_FullSemVer: $(GitVersion.FullSemVer)
- task: PublishBuildArtifacts@1
displayName: Publish Package Artifacts
inputs:
pathToPublish: $(build.artifactstagingdirectory)
artifactType: container
artifactName: Calculator
81 changes: 81 additions & 0 deletions build/appimage/AppImageBuilder.x64.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
version: 1
AppDir:
path: ./AppDir
app_info:
id: uno.platform.calculator
name: uno-calculator
icon: 'StoreLogo'
version: !ENV ${GITVERSION_FullSemVer}
exec: usr/bin/uno-calculator/Calculator.Skia.Gtk
exec_args: $@
runtime:
env:
APPDIR_LIBRARY_PATH: $APPDIR/lib/x86_64-linux-gnu
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'
GTK_THEME: Default
GTK_PATH: $APPDIR/usr/lib/x86_64-linux-gnu/gtk-2.0
GTK_EXE_PREFIX: $APPDIR/usr/lib/x86_64-linux-gnu
apt:
arch: amd64
sources:
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal main restricted
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3b4fe6acc0b21f32'
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal universe
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-updates universe
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal multiverse
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-updates multiverse
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted
universe multiverse
- sourceline: deb http://security.ubuntu.com/ubuntu/ focal-security main restricted
- sourceline: deb http://security.ubuntu.com/ubuntu/ focal-security universe
- sourceline: deb http://security.ubuntu.com/ubuntu/ focal-security multiverse
include:
- libgcc-s1
- libgtk-3-0
- libgtk-3-bin
- libgtk-3-common
- gtk2-engines-pixbuf
- libcanberra-gtk3-module
#- libgcc-s1
#- gtk+-3.0
#- gtk2-engines-pixbuf
exclude:
- hicolor-icon-theme
- humanity-icon-theme
- mono
exclude: []
files:
exclude:
- usr/share/man
- usr/share/doc/*/README.*
- usr/share/doc/*/changelog.*
- usr/share/doc/*/NEWS.*
- usr/share/doc/*/TODO.*
test:
fedora:
image: appimagecrafters/tests-env:fedora-30
command: ./AppRun
use_host_x: true
debian:
image: appimagecrafters/tests-env:debian-stable
command: ./AppRun
use_host_x: true
arch:
image: appimagecrafters/tests-env:archlinux-latest
command: ./AppRun
use_host_x: true
centos:
image: appimagecrafters/tests-env:centos-7
command: ./AppRun
use_host_x: true
ubuntu:
image: appimagecrafters/tests-env:ubuntu-xenial
command: ./AppRun
use_host_x: true

AppImage:
arch: x86_64
file_name: !ENV uno-calculator-${GITVERSION_FullSemVer}-x86_64.AppImage
update-information: None
sign-key: None

0 comments on commit ab0202c

Please sign in to comment.