diff --git a/.travis.yml b/.travis.yml index 9dbf036..1544ef3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,3 +25,28 @@ jobs: on: repo: solvespace/solvespace tags: true + - stage: deploy + name: "Snap" + os: linux + dist: bionic + addons: + snaps: + - name: snapcraft + confinement: classic + script: ./.travis/build-snap.sh + deploy: + - provider: snap + skip_cleanup: true + snap: pkg/snap/*.snap + channel: edge + on: + branch: master + tags: false + - provider: snap + skip_cleanup: true + snap: pkg/snap/*.snap + channel: edge,beta + on: + branch: master + tags: true + diff --git a/.travis/build-snap.sh b/.travis/build-snap.sh new file mode 100755 index 0000000..d824b38 --- /dev/null +++ b/.travis/build-snap.sh @@ -0,0 +1,15 @@ +#!/bin/sh -xe + +lp_data_dir="$HOME/.local/share/snapcraft/provider/launchpad" +lp_credentials="$lp_data_dir/credentials" + +mkdir -p "$lp_data_dir" +openssl aes-256-cbc -K $encrypted_c4bc81f026a2_key -iv $encrypted_c4bc81f026a2_iv \ + -in .travis/launchpad-credentials.enc \ + -out "$lp_credentials" -d +chmod 600 "$lp_credentials" + +./pkg/snap/build.sh remote-build \ + --launchpad-user solvespace \ + --launchpad-accept-public-upload \ + --build-on=amd64,arm64,armhf,i386 diff --git a/.travis/launchpad-credentials.enc b/.travis/launchpad-credentials.enc new file mode 100644 index 0000000..5eba3cc Binary files /dev/null and b/.travis/launchpad-credentials.enc differ