|
- workspace:
- base: /media/sf_GOPATH1/src/cwtch.im
- path: ui
-
- pipeline:
- build-linux:
- mem_limit: 3G
- image: therecipe/qt:linux_static
- when:
- repo: cwtch.im/ui
- branch: master
- event: [ push, pull_request ]
- environment:
- - QT_DIR=/opt/Qt
- - QT_DOCKER='true'
- - QT_API=5.13.0
- - GO111MODULE=on
- commands:
- - export PATH=$PATH:/home/user/work/bin:/media/sf_GOPATH1/bin
- - apt-get -qq update && apt-get --no-install-recommends -qq -y install ca-certificates curl git openssh-client
- - go mod download
- - $QT_DIR/$QT_API/gcc_64/bin/lrelease ui.pro
- - git fetch --tags
- - export VERSION=`git describe --tags`
- - export BUILDDATE=`date +%G-%m-%d-%H-%M`
- - go mod vendor
- - qtdeploy -ldflags "-X main.buildVer=$VERSION -X main.buildDate=$BUILDDATE" build linux
- - cp README.md deploy/linux
- - cp -R assets deploy/linux/
- - export FILENAME=cwtch-linux-$BUILDDATE.tar.gz
- - cd deploy
- - mv linux cwtch
- - tar -czf $FILENAME cwtch
- - sha256sum $FILENAME > $FILENAME.sha256
- - rm -r cwtch
- build-android-arm-v7a:
- mem_limit: 3G
- image: therecipe/qt:android
- secrets: [upload_jks_file,upload_jks_pass]
- when:
- repo: cwtch.im/ui
- branch: master
- event: push
- environment:
- - QT_DIR=/opt/Qt
- - QT_DOCKER='true'
- - QT_API=5.13.0
- - ANDROID_NDK_DIR=/home/user/android-ndk-r18b
- - ANDROID_SDK_DIR=/home/user/android-sdk-linux
- - GO111MODULE=on
- commands:
- - export PATH=$PATH:/home/user/work/bin:/media/sf_GOPATH1/bin
- - apt-get -qq update && apt-get --no-install-recommends -qq -y install ca-certificates curl git
- - rm -r vendor/
- - make clean
- - echo "cwtch-upload" > android/jks_alias
- - echo $UPLOAD_JKS_PASS > android/jks_pass
- - echo $UPLOAD_JKS_FILE | tr -d '\n ' > android/ui.jks.b64
- - base64 --decode android/ui.jks.b64 > android/ui.jks
- - export GOARCH=arm
- - go mod download
- - export VERSION=`git describe --tags`
- - export BUILDDATE=`date +%G-%m-%d-%H-%M`
- - go mod vendor
- - qtsetup generate android
- - mv assets android/
- - ANDROID_MODULES_INCLUDE="Core,Gui,Svg,QuickWidgets,Xml" qtdeploy -ldflags "-X main.buildVer=$VERSION -X main.buildDate=$BUILDDATE" build android
- - mv android/assets assets
- - cd deploy
- - export FILENAME=cwtch-android-arm-v7a-$BUILDDATE.apk
- - cp android/build-release-signed.apk $FILENAME
- - sha256sum $FILENAME > $FILENAME.sha256
- - rm -r android
- build-android-arm64-v8a:
- mem_limit: 3G
- image: therecipe/qt:android
- secrets: [upload_jks_file,upload_jks_pass]
- when:
- repo: cwtch.im/ui
- branch: master
- event: push
- environment:
- - QT_DIR=/opt/Qt
- - QT_DOCKER='true'
- - QT_API=5.13.0
- - ANDROID_NDK_DIR=/home/user/android-ndk-r18b
- - ANDROID_SDK_DIR=/home/user/android-sdk-linux
- - GO111MODULE=on
- commands:
- - export PATH=$PATH:/home/user/work/bin:/media/sf_GOPATH1/bin
- - apt-get -qq update && apt-get --no-install-recommends -qq -y install ca-certificates curl git
- - rm -r vendor/
- - make clean
- - echo "cwtch-upload" > android/jks_alias
- - echo $UPLOAD_JKS_PASS > android/jks_pass
- - echo $UPLOAD_JKS_FILE | tr -d '\n ' > android/ui.jks.b64
- - base64 --decode android/ui.jks.b64 > android/ui.jks
- - export GOARCH=arm64
- - perl -pe 's/versionCode="(\d+)"/"versionCode=\"" .($1+1)."\""/eg' android/AndroidManifest.xml > android/AndroidManifest.xml.inc
- - rm android/AndroidManifest.xml
- - mv android/AndroidManifest.xml.inc android/AndroidManifest.xml
- - go mod download
- - export VERSION=`git describe --tags`
- - export BUILDDATE=`date +%G-%m-%d-%H-%M`
- - go mod vendor
- - qtsetup generate android
- - mv assets android/
- - ANDROID_MODULES_INCLUDE="Core,Gui,Svg,QuickWidgets,Xml" qtdeploy -ldflags "-X main.buildVer=$VERSION -X main.buildDate=$BUILDDATE" build android
- - mv android/assets assets
- - cd deploy
- - export FILENAME=cwtch-android-arm64-v8a-$BUILDDATE.apk
- - cp android/build-release-signed.apk $FILENAME
- - sha256sum $FILENAME > $FILENAME.sha256
- - rm -r android
- build-windows:
- mem_limit: 3G
- image: therecipe/qt:windows_64_static
- when:
- repo: cwtch.im/ui
- branch: [ master, windows_build ]
- event: push
- environment:
- - QT_DIR=/opt/Qt
- - QT_DOCKER='true'
- - QT_API=5.13.0
- - GO111MODULE=on
- commands:
- - export PATH=$PATH:/home/user/work/bin:/media/sf_GOPATH1/bin
- - apt-get -qq update && apt-get --no-install-recommends -qq -y install ca-certificates curl git zip
- - rm -r vendor || true
- - make clean || true
- - go mod download
- - export VERSION=`git describe --tags`
- - export BUILDDATE=`date +%G-%m-%d-%H-%M`
- - go mod vendor
- - export QT_DEBUG=true
- - export CONSOLE=true
- - export QT_DEBUG_QML=true
- - qtdeploy -ldflags "-X main.buildVer=$VERSION -X main.buildDate=$BUILDDATE" build windows
- - cp README.md deploy/windows
- - cp -R assets deploy/windows/
- - cp -r windows/* deploy/windows
- - cd deploy
- - mv windows cwtch
- - export FILENAME=cwtch-windows-$BUILDDATE.zip
- - zip -r $FILENAME cwtch
- - sha256sum $FILENAME > $FILENAME.sha256
- - mv cwtch windows
- package-windows:
- mem_limit: 3G
- image: hp41/nsis:latest
- when:
- repo: cwtch.im/ui
- branch: [ master, windows_build ]
- event: push
- environment:
- commands:
- - cp nsis/cwtch-installer.nsi deploy/
- - cd deploy
- - makensis -V3 cwtch-installer.nsi
- - export BUILDDATE=`date +%G-%m-%d-%H-%M`
- - export FILENAME=cwtch-installer-$BUILDDATE.exe
- - mv cwtch-installer.exe $FILENAME
- - sha256sum $FILENAME > $FILENAME.sha256
- - rm cwtch-installer.nsi
- - rm -r windows
- deploy-buildfiles:
- image: pivotaldata/concourse-ssh
- secrets: [buildfiles_key]
- when:
- repo: cwtch.im/ui
- branch: master
- event: push
- status: [ success ]
- commands:
- - apk add --no-cache git
- - echo $BUILDFILES_KEY > ~/id_rsab64
- - base64 -d ~/id_rsab64 > ~/id_rsa
- - chmod 400 ~/id_rsa
- - export DIR=`date +%G.%m.%d-%H.%M`-`git describe --tags`
- - cd deploy
- - mkdir $DIR
- - mv cwtch* $DIR/
- - scp -r -o StrictHostKeyChecking=no -i ~/id_rsa $DIR buildfiles@openprivacy.ca:/home/buildfiles/buildfiles/
- deploy-windows-build:
- image: pivotaldata/concourse-ssh
- secrets: [buildfiles_key]
- when:
- repo: cwtch.im/ui
- branch: windows_build
- event: push
- status: [ success ]
- commands:
- - apk add --no-cache git
- - echo $BUILDFILES_KEY > ~/id_rsab64
- - base64 -d ~/id_rsab64 > ~/id_rsa
- - chmod 400 ~/id_rsa
- - git fetch --tags
- - export DIR=`date +%G.%m.%d-%H.%M`-`git describe --tags`
- - cd deploy
- - mkdir -p windows_build/$DIR
- - mv cwtch* windows_build/$DIR/
- - scp -r -o StrictHostKeyChecking=no -i ~/id_rsa windows_build buildfiles@openprivacy.ca:/home/buildfiles/buildfiles/
- notify-email:
- image: drillster/drone-email
- host: build.openprivacy.ca
- port: 25
- skip_verify: true
- from: drone@openprivacy.ca
- when:
- repo: cwtch.im/ui
- branch: master
- status: [ failure ]
- notify-gogs:
- image: openpriv/drone-gogs
- when:
- repo: cwtch.im/ui
- branch: master
- event: pull_request
- status: [ success, changed, failure ]
- secrets: [gogs_account_token]
- gogs_url: https://git.openprivacy.ca
|