Skip to content

Commit

Permalink
Update and integrate appstream file
Browse files Browse the repository at this point in the history
The appstream/appdata file is required for linux destop appliciations
and is not packaging-format specific so makes sense to include
upstream.

- Update existing appdata file.

- Add .desktop file since this is referred to by the appdata.

- Update the travis config to test this appdata and .desktop files
  making sure they remain correct.  We have to add linux back to the
  job matrix for this, but we only want to publish a binary release
  using electron-builder on OSX.

Fixes #729.
  • Loading branch information
Floris Bruynooghe committed Mar 17, 2019
1 parent 175bc7e commit 4163430
Show file tree
Hide file tree
Showing 4 changed files with 345 additions and 92 deletions.
41 changes: 39 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,62 @@
sudo: required
language: node_js
dist: xenial

addons:
apt:
packages:
- appstream-util
- python3-pip
- python3-setuptools
- libssl-dev
- libsqlite3-dev
- libbz2-dev
- zlib1g-dev
- libsasl2-dev

node_js:
- 10

os:
- osx
- linux

before_install:
- if [ $(uname) = Linux ]; then
wget https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-linux.zip;
unzip ninja-linux.zip;
chmod +x ninja;
sudo cp ninja /usr/bin;
fi
- ninja --version
- if [ $(uname) = Linux ]; then
sudo pip3 install meson;
fi

install:
- npm install

script:
- if [ $(uname) = Linux ]; then
desktop-file-validate static/chat.delta.desktop.desktop;
fi
- if [ $(uname) = Linux ]; then
appstream-util validate-relax static/chat.delta.desktop.appdata.xml;
fi
- npm run build
- npm test
- npm run test-integration

# Only deploy for OSX, for linux we only release source.
deploy:
skip_cleanup: true
provider: script
script: npm run dist-ci
on:
repo: deltachat/deltachat-desktop
os: osx
all_branches: true
skip_cleanup: true


notifications:
email: false
email: false
38 changes: 16 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,22 +27,14 @@ The application can be downloaded from the [`Releases`](https://github.com/delta

### Linux

#### AppImage
#### Flatpak

AppImages are a generic way to install software accross most linux distributions
and systems.

To install a `.AppImage` based release:

- Download the binary
- Make it executable, e.g. `chmod u+x ~/Downloads/deltachat-desktop-x.y.z-x86_64.AppImage`
- Executing the `.AppImage` will install it on the system in `/opt/DeltaChat`

#### Debian/Ubuntu

- Click on the link for the `.deb` file
- Some systems enable installing it directly by clicking
- If your system doesn't handle `.deb` files you can install manually by doing e.g. `sudo dpkg -i ~/Downloads/deltachat-desktop_x.y.z_amd64.deb`
The primary distribution-independed way to install is to use the
flatpak build. This is maintained in [it's own
repository](https://github.com/flathub/chat.delta.desktop), however a
pre-built binary can be downloaded and installed from
[flathub](https://flathub.org/apps/details/chat.delta.desktop) which
also has a setupup guide for many Linux platforms.

#### Arch Linux

Expand All @@ -65,7 +57,7 @@ makepkg -si
sudo pacman -U deltachat-desktop-git-<version>.tar.xz
```

#### Mac OS
### Mac OS

Simply install the `.dmg` file as you do it with all other software on mac.

Expand Down Expand Up @@ -292,14 +284,16 @@ tx push --source

### CI

For Continuous Integration we currently use both Travis and Jenkins. Travis is used for Mac and Jenkins for Linux. Once we support Windows we will most likely use Travis for Windows.
For Continuous Integration we currently use Travis.

### Deploy Workflow
### Release Workflow

1. Create a draft release on github, e.g. `vX.Y.Z`
2. Change `version` field in `package.json` to `X.Y.Z`
3. Commit and push modified `package.json` (repeat until release is ready)
4. Once done, publish the release on github, which will create the tag
1. Create a draft release on github, e.g. `vX.Y.Z`.
2. Change `version` field in `package.json` to `X.Y.Z`.
3. Update, commit and push `static/chat.delta.desktopp.appdata.xml`
with the new release information.
4. Commit and push modified `package.json` (repeat until release is ready).
5. Once done, publish the release on github, which will create the tag.

Also see <https://www.electron.build/configuration/publish>

Expand Down
Loading

0 comments on commit 4163430

Please sign in to comment.