1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/sndnvaps-ebookdownloader

Клонировать/Скачать
.travis.yml 7.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
sndnvaps Отправлено 11.02.2021 12:07 7d875b9
# .travis.yml
# test in https://config.travis-ci.com/explore
language: go
version: ~> 1.0
# 设置初始环境
os: linux
dist: bionic
jobs:
include:
- os: linux
arch: amd64
dist: bionic
sudo: required
env: TRAVIS_ARCH="amd64"
- os: osx
arch: amd64
osx_image: xcode11
go:
- 1.14.x
git:
depth: 1
env:
global:
- GO111MODULE=on
# 更新系统文件
before_install: |-
case $TRAVIS_OS_NAME in
linux)
sudo add-apt-repository ppa:dominik-stadler/ppa -y
sudo add-apt-repository ppa:hnakamur/yaml-cpp -y
sudo add-apt-repository ppa:panfaust/qt3 -y
sudo add-apt-repository ppa:ymshenyu/grpc -y
sudo add-apt-repository ppa:savoury1/backports -y
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update
;;
osx)
brew update
export PATH="/usr/local/Cellar/qt/5.14.2/bin:$PATH"
export PATH="/usr/local/opt/qt/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/qt/lib"
export CPPFLAGS="-I/usr/local/opt/qt/include"
export PATH="/usr/local/opt/python@3.8/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/python@3.8/lib"
export PKG_CONFIG_PATH="/usr/local/opt/python@3.8/lib/pkgconfig"
;;
esac
# 安装依赖程序
install: |-
case $TRAVIS_OS_NAME in
linux)
sudo apt-get install -y libgl1-mesa-dev xorg-dev p7zip-full
sudo apt-get install debhelper gcc-7 g++-7 libqrencode-dev libzbar-dev libgl-dev git build-essential python-dev autoconf autotools-dev libicu-dev libbz2-dev checkinstall zlib1g zlib1g-dev python3 pkg-config libsodium-dev libuv1-dev libssl-dev libyaml-cpp-dev qtbase5-dev qttools5-dev qt5-default -y
sudo apt-get install -y patchelf cmake
git clone https://github.com/visualfc/goqt $GOPATH/src/github.com/visualfc/goqt
cd $GOPATH/src/github.com/visualfc/goqt/qtdrv
qmake "CONFIG+=release"
sudo make
sudo make install
cd $GOPATH/src/github.com/visualfc/goqt/ui
go build
go install
cd $GOPATH/src/github.com/visualfc/goqt/tools/rcc
qmake "CONFIG+=release"
sudo make
sudo make install
sudo install $GOPATH/src/github.com/visualfc/goqt/bin/goqt_rcc /usr/local/bin/goqt_rcc
git clone https://github.com/probonopd/linuxdeployqt.git --depth=1 ~/linuxdeployqt
cp $TRAVIS_BUILD_DIR/linuxdeployqt-patch/*.patch ~/linuxdeployqt/
cd ~/linuxdeployqt
sudo git fetch origin --tags
git apply *.patch
cmake CMakeLists.txt
make
sudo cp ~/linuxdeployqt/tools/linuxdeployqt/linuxdeployqt /usr/local/bin/
sudo chmod a+x /usr/local/bin/linuxdeployqt
sudo wget -c "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" -O /usr/local/bin/appimagetool
sudo chmod a+x /usr/local/bin/appimagetool
;;
osx)
brew install glew glfw3 p7zip
brew install zbar qrencode openssl@1.1 zlib pcre python3 libsodium libuv pkg-config yaml-cpp
brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/8846805afc0cb8e5d114d5e222af1de3b35289df/Formula/qt.rb --verbose
rm -rf /usr/local/opt/protobuf/lib/libprotobuf-lite.*
cp -r framework/Sparkle.framework /usr/local/Cellar/qt/5.14.2/lib
cp -r framework/LetsMove.framework /usr/local/Cellar/qt/5.14.2/lib
git clone https://github.com/visualfc/goqt $GOPATH/src/github.com/visualfc/goqt
cd $GOPATH/src/github.com/visualfc/goqt/qtdrv
qmake "CONFIG+=release"
make
make install
cd $GOPATH/src/github.com/visualfc/goqt/ui
go build
go install
cd $GOPATH/src/github.com/visualfc/goqt/tools/rcc
qmake "CONFIG+=release"
make
make install
;;
esac
# 运行脚本前
#before_script:
# 运行脚本进行编译
script: |-
case $TRAVIS_OS_NAME in
linux)
echo "Run go test -> $TRAVIS_OS_NAME-$TRAVIS_ARCH"
export PATH=$PATH:/usr/local/bin
cd $TRAVIS_BUILD_DIR
go test
cd $TRAVIS_BUILD_DIR/cli
GOOS=linux GOARCH=amd64 go build -ldflags "-s -w -X main.Version=${TRAVIS_TAG} -X main.Commit=${TRAVIS_COMMIT} -X main.BuildTime=$(date +'%Y-%m-%d_%T')" -o ebookdownloader_linux_-amd64-cli
cp ebookdownloader_linux_-amd64-cli ../
cd $TRAVIS_BUILD_DIR/http-server
GOOS=linux GOARCH=amd64 go build -ldflags "-s -w -X main.Version=${TRAVIS_TAG} -X main.Commit=${TRAVIS_COMMIT} -X main.BuildTime=$(date +'%Y-%m-%d_%T')" -o ebookdownloader_linux_-amd64-http-server
cp ebookdownloader_linux_-amd64-http-server ../
cd $TRAVIS_BUILD_DIR
chmod a+x ./scripts/BuildAppImage.sh
./scripts/BuildAppImage.sh
;;
osx)
echo "Run go test -> $TRAVIS_OS_NAME-$TRAVIS_ARCH"
cd $TRAVIS_BUILD_DIR
go test
cd $TRAVIS_BUILD_DIR/cli
GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w -X main.Version=${TRAVIS_TAG} -X main.Commit=${TRAVIS_COMMIT} -X main.BuildTime=$(date +'%Y-%m-%d_%T')" -o ebookdownloader_darwin_-amd64-cli
cp ebookdownloader_darwin_-amd64-cli ../
cd $TRAVIS_BUILD_DIR/http-server
GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w -X main.Version=${TRAVIS_TAG} -X main.Commit=${TRAVIS_COMMIT} -X main.BuildTime=$(date +'%Y-%m-%d_%T')" -o ebookdownloader_darwin_-amd64-http-server
cp ebookdownloader_darwin_-amd64-http-server ../
;;
esac
# 编译完成后,打包
after_success: |-
case $TRAVIS_OS_NAME in
linux)
cd $TRAVIS_BUILD_DIR/
wget https://github.com/upx/upx/releases/download/v3.96/upx-3.96-amd64_linux.tar.xz -O $TRAVIS_BUILD_DIR/upx-3.96-amd64_linux.tar.xz
tar -xvJf $TRAVIS_BUILD_DIR/upx-3.96-amd64_linux.tar.xz -C $TRAVIS_BUILD_DIR/ upx-3.96-amd64_linux/upx
rm -rf upx-3.96-amd64_linux.tar.xz
$TRAVIS_BUILD_DIR/upx-3.96-amd64_linux/upx -9 ebookdownloader_linux_-amd64-cli
$TRAVIS_BUILD_DIR/upx-3.96-amd64_linux/upx -9 ebookdownloader_linux_-amd64-http-server
rm -rf upx-3.96-amd64_linux
$TRAVIS_BUILD_DIR/ebookdownloader_linux_-amd64-cli
echo "Packing ebookdownloader-${TRAVIS_TAG}-${TRAVIS_OS_NAME}-${TRAVIS_ARCH}.zip"
7z a -tzip ebookdownloader-${TRAVIS_TAG}-${TRAVIS_OS_NAME}-${TRAVIS_ARCH}.zip tools/kindlegenLinux conf/* qrcode/* LICENSE CHANGELOG README.md ebookdownloader_linux_-amd64-cli Ebook_Downloader-*-x86_64.AppImage ebookdownloader_linux_-amd64-http-server
python2 $TRAVIS_BUILD_DIR/scripts/checksum.py ebookdownloader-${TRAVIS_TAG}-${TRAVIS_OS_NAME}-${TRAVIS_ARCH}.zip ebookdownloader-${TRAVIS_TAG}-${TRAVIS_OS_NAME}-${TRAVIS_ARCH}.zip.hash
;;
osx)
echo "Packing ebookdownloader-${TRAVIS_TAG}-darwin-${TRAVIS_ARCH}.zip"
cd $TRAVIS_BUILD_DIR/
$TRAVIS_BUILD_DIR/ebookdownloader_darwin_-amd64-cli
7z a -tzip ebookdownloader-${TRAVIS_TAG}-darwin-amd64.zip tools/kindlegenMac conf/* qrcode/* LICENSE CHANGELOG README.md ebookdownloader_darwin_-amd64-cli ebookdownloader_darwin_-amd64-gui ebookdownloader_darwin_-amd64-http-server
python2 $TRAVIS_BUILD_DIR/scripts/checksum.py ebookdownloader-${TRAVIS_TAG}-darwin-${TRAVIS_ARCH}.zip ebookdownloader-${TRAVIS_TAG}-darwin-${TRAVIS_ARCH}.zip.hash
;;
esac
# 发布Release前,配置 git
before_deploy: |-
git config --global user.name sndnvaps
git config --global user.email sndnvaps@gmail.com
# 发布Release到 github.com
deploy:
provider: releases
token: ${GITHUB_TOKEN}
file:
- "$TRAVIS_BUILD_DIR/ebookdownloader-${TRAVIS_TAG}-linux-amd64.zip"
- "$TRAVIS_BUILD_DIR/ebookdownloader-${TRAVIS_TAG}-linux-amd64.zip.hash"
- "$TRAVIS_BUILD_DIR/ebookdownloader-${TRAVIS_TAG}-darwin-amd64.zip"
- "$TRAVIS_BUILD_DIR/ebookdownloader-${TRAVIS_TAG}-darwin-amd64.zip.hash"
skip_cleanup: true
on:
tags: true

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/sndnvaps-ebookdownloader.git
git@api.gitlife.ru:oschina-mirror/sndnvaps-ebookdownloader.git
oschina-mirror
sndnvaps-ebookdownloader
sndnvaps-ebookdownloader
master