CI: drop travis (replaced with actions)

This commit is contained in:
Dag Heyman 2019-09-25 07:26:50 +02:00
parent bc9f963a97
commit 95cc8068d9
6 changed files with 1 additions and 174 deletions

View File

@ -13,7 +13,7 @@ jobs:
- name: Install dependencies from hombrew
run: |
brew upgrade
brew bundle --file=./.travis/Brewfile
brew bundle --file=./.github/workflows/Brewfile
brew link qt -f
- name: Build custom Python as a framework

View File

@ -1,73 +0,0 @@
# .travis.yml
# Building, testing and deployment on OS X and Linux
# Reference: https://docs.travis-ci.com/user/customizing-the-build
language: cpp
sudo: required
os:
- osx
- linux
osx_image: xcode10.2
services:
- docker
install:
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]
then
./.travis/build-macos
fi
script:
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]]
then
docker build -t xenial-deb -f docker/xenial-deb/Dockerfile .
docker build -t xenial-appimage -f docker/xenial-appimage/Dockerfile .
fi
after_success:
- mkdir deploy/
# Extract all user facing strings and create a textfile with them for deployment.
- lupdate yubioath-desktop.pro -ts yubioath-desktop.ts
- cp yubioath-desktop.ts deploy/yubioath-desktop-$TRAVIS_BRANCH-strings.xml
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]
then
# Rename app bundle
mv yubioath-desktop.app Yubico\ Authenticator.app
# Copy .app to deploy dir
tar -czf yubioath-desktop-$TRAVIS_BRANCH.app.tar.gz Yubico\ Authenticator.app
mv yubioath-desktop-$TRAVIS_BRANCH.app.tar.gz deploy
fi
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]]
then
id=$(docker create xenial-deb)
docker start --attach $id
docker cp $id:/yubioath-desktop-debian-packages.tar.gz deploy/yubioath-desktop-$TRAVIS_BRANCH-deb.tar.gz
id=$(docker create --privileged xenial-appimage)
docker start --attach $id
docker cp $id:/yubioath-desktop/Yubico_Authenticator-x86_64.AppImage deploy/yubioath-desktop-$TRAVIS_BRANCH.AppImage
git archive --format=tar.gz -o yubioath-desktop-$TRAVIS_BRANCH.tar.gz --prefix yubioath-desktop/ $TRAVIS_BRANCH
mv yubioath-desktop-$TRAVIS_BRANCH.tar.gz deploy
fi
deploy:
provider: s3
access_key_id: "$AWS_KEY_ID"
secret_access_key: "$AWS_SECRET_KEY"
bucket: "$AWS_BUCKET"
skip_cleanup: true
acl: public-read
region: eu-west-1
local-dir: "deploy/"
upload-dir: "yubioath-desktop"
on:
all_branches: true

View File

@ -1,85 +0,0 @@
#!/bin/bash
# Builds a deployable yubioath-desktop on macOS Mojave.
# Assumes hombrew and xcode installed.
# Uses pyenv to build a python as a framework, but
# compiles pyotherside against homebrew python.
# Make sure the versions match.
rm -rf ~/.pyenv
rm -rf lib
rm -rf yubioath-desktop.app
PYVERSION="3.6.7"
PYOTHERSIDEVERSION="1.5.3"
# Workaround for compiling python on mojave
# https://github.com/pyenv/pyenv/issues/1219
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
CFLAGS="-I$(xcrun --show-sdk-path)/usr/include"
# Get python 3.6.4 from homebrew, workaround for https://github.com/pyenv/pyenv/issues/1066 (can't use 3.7 yet)
brew uninstall python --ignore-dependencies
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/10cdf659af8c56c629fba94347b25346d0770875/Formula/python.rb
brew link --overwrite python
# Install and upgrade brew dependencies
brew install swig ykpers libyubikey libusb qt pyenv wget zlib openssl@1.1
brew upgrade swig ykpers libyubikey libusb qt pyenv wget zlib openssl@1.1
brew link qt -f
# Download, build and install pyotherside qml plugin
wget https://github.com/thp/pyotherside/archive/$PYOTHERSIDEVERSION.tar.gz -P ./lib
cd lib
tar -xzvf $PYOTHERSIDEVERSION.tar.gz
echo "DEFINES += QT_NO_DEBUG_OUTPUT" >> pyotherside-$PYOTHERSIDEVERSION/src/src.pro
cd pyotherside-$PYOTHERSIDEVERSION
qmake
make
sudo make install
cd ../..
# Build custom Python from pyenv with --enable-framework and activate it
eval "$(pyenv init -)"
env PYTHON_CONFIGURE_OPTS="--enable-framework CC=clang" pyenv install $PYVERSION -f
pyenv global $PYVERSION
# Build yubioath-desktop
make distclean
qmake
make
macdeployqt yubioath-desktop.app/ -qmldir=qml/
# Copy over dylibs from homebrew
sudo find /usr/local/Cellar/json-c/ -name '*.dylib' -exec cp '{}' yubioath-desktop.app/Contents/Frameworks/ ';'
sudo find /usr/local/Cellar/ykpers/ -name '*.dylib' -exec cp '{}' yubioath-desktop.app/Contents/Frameworks/ ';'
sudo find /usr/local/Cellar/libyubikey/ -name '*.dylib' -exec cp '{}' yubioath-desktop.app/Contents/Frameworks/ ';'
sudo find /usr/local/Cellar/libusb/ -name '*.dylib' -exec cp '{}' yubioath-desktop.app/Contents/Frameworks/ ';'
sudo find /usr/local/Cellar/openssl@1.1/ -name '*.dylib' -exec cp '{}' yubioath-desktop.app/Contents/Frameworks/ ';'
# Copy over Python.framework
cp -a ~/.pyenv/versions/$PYVERSION/Python.framework yubioath-desktop.app/Contents/Frameworks/
sudo find yubioath-desktop.app/Contents/Frameworks/Python.framework -name '*.pyc' -delete
sudo find yubioath-desktop.app/Contents/Frameworks/Python.framework -name '__pycache__' -delete
# Move pymodules from app bundle to site-packages, to be accepted by codesign
mv yubioath-desktop.app/Contents/MacOS/pymodules/* yubioath-desktop.app/Contents/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/
rm -rf yubioath-desktop.app/Contents/MacOS/pymodules
# Point pyotherside to relative custom Python, currently points to homebrew python
sudo install_name_tool -change /usr/local/opt/python/Frameworks/Python.framework/Versions/3.6/Python @executable_path/../Frameworks/Python.framework/Versions/3.6/Python yubioath-desktop.app/Contents/PlugIns/quick/libpyothersideplugin.dylib
# Fix linking for python and openssl .so's
sudo install_name_tool -change /usr/local/opt/openssl@1.1/lib/libcrypto.1.1.dylib @executable_path/../Frameworks/libcrypto.1.1.dylib yubioath-desktop.app/Contents/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload/_ssl.cpython-36m-darwin.so
sudo install_name_tool -change /usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib @executable_path/../Frameworks/libssl.1.1.dylib yubioath-desktop.app/Contents/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload/_ssl.cpython-36m-darwin.so
sudo install_name_tool -change /usr/local/opt/openssl@1.1/lib/libcrypto.1.1.dylib @executable_path/../Frameworks/libcrypto.1.1.dylib yubioath-desktop.app/Contents/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload/_hashlib.cpython-36m-darwin.so
sudo install_name_tool -change /usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib @executable_path/../Frameworks/libssl.1.1.dylib yubioath-desktop.app/Contents/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload/_hashlib.cpython-36m-darwin.so
sudo install_name_tool -change /usr/local/Cellar/openssl@1.1/1.1.1c/lib/libcrypto.1.1.dylib @executable_path/../Frameworks/libcrypto.1.1.dylib yubioath-desktop.app/Contents/Frameworks/libssl.1.1.dylib
# Fix linking to dependencies for libykpers
sudo install_name_tool -change /usr/local/opt/libyubikey/lib/libyubikey.0.dylib @executable_path/../Frameworks/libyubikey.0.dylib yubioath-desktop.app/Contents/Frameworks/libykpers-1.1.dylib
sudo install_name_tool -change /usr/local/opt/libyubikey/lib/libyubikey.0.dylib @executable_path/../Frameworks/libyubikey.0.dylib yubioath-desktop.app/Contents/Frameworks/libykpers-1.dylib
sudo install_name_tool -change /usr/local/opt/json-c/lib/libjson-c.4.dylib @executable_path/../Frameworks/libjson-c.4.dylib yubioath-desktop.app/Contents/Frameworks/libykpers-1.1.dylib
sudo install_name_tool -change /usr/local/opt/json-c/lib/libjson-c.4.dylib @executable_path/../Frameworks/libjson-c.4.dylib yubioath-desktop.app/Contents/Frameworks/libykpers-1.dylib

1
README
View File

@ -1,5 +1,4 @@
== Yubico Authenticator
image:https://travis-ci.org/Yubico/yubioath-desktop.svg?branch=master["Build Status", link="https://travis-ci.org/Yubico/yubioath-desktop"]
image:https://ci.appveyor.com/api/projects/status/tddss2exet3ysypt?svg=true["Appveyor Status", link="https://ci.appveyor.com/project/Yubico53275/yubioath-desktop-xfr6h/"]
Cross-platform application for generating Open Authentication (OATH) time-based TOTP and event-based HOTP one-time password codes, with the help of a YubiKey that protects the shared secrets.

View File

@ -1,14 +0,0 @@
FROM ubuntu:xenial
RUN apt-get update -qq
RUN apt-get install -qq software-properties-common
RUN add-apt-repository -y ppa:yubico/stable
RUN apt-get -qq update && apt-get -qq upgrade && apt-get install -y git devscripts equivs python3-dev python3-pip
COPY . yubioath-desktop
RUN yes | mk-build-deps -i /yubioath-desktop/debian/control
RUN cd yubioath-desktop && debuild -us -uc
RUN mkdir /deb && mv /yubioath-desktop_* /deb
RUN cd / && tar czf yubioath-desktop-debian-packages.tar.gz deb
RUN git clone https://github.com/Yubico/yubikey-manager
RUN yes | mk-build-deps -i /yubikey-manager/debian/control
RUN cd yubikey-manager && debuild -us -uc
RUN mv /yubikey-manager_* /python3-yubikey-manager_* /python-yubikey-manager_* /deb