forked from LBRYCommunity/lbry-sdk
removed .gitlab-ci.yml
This commit is contained in:
parent
7a72409b61
commit
d075961ffa
1 changed files with 0 additions and 219 deletions
219
.gitlab-ci.yml
219
.gitlab-ci.yml
|
@ -1,219 +0,0 @@
|
||||||
default:
|
|
||||||
image: python:3.7
|
|
||||||
services:
|
|
||||||
- name: docker.elastic.co/elasticsearch/elasticsearch:7.11.2
|
|
||||||
alias: elasticsearch
|
|
||||||
command: [ "bin/elasticsearch", "-Expack.security.enabled=false", "-Ediscovery.type=single-node" ]
|
|
||||||
variables:
|
|
||||||
ES_JAVA_OPTS: "-Xms512m -Xmx512m"
|
|
||||||
|
|
||||||
|
|
||||||
#cache:
|
|
||||||
# directories:
|
|
||||||
# - $HOME/venv
|
|
||||||
# - $HOME/.cache/pip
|
|
||||||
# - $HOME/Library/Caches/pip
|
|
||||||
# - $HOME/Library/Caches/Homebrew
|
|
||||||
# - $TRAVIS_BUILD_DIR/.tox
|
|
||||||
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- test
|
|
||||||
- build
|
|
||||||
- assets
|
|
||||||
- release
|
|
||||||
|
|
||||||
|
|
||||||
.tagged:
|
|
||||||
rules:
|
|
||||||
- if: '$CI_COMMIT_TAG =~ /^v[0-9\.]+$/'
|
|
||||||
when: on_success
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
test:lint:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- make install tools
|
|
||||||
- make lint
|
|
||||||
|
|
||||||
test:unit:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- make install tools
|
|
||||||
- HOME=/tmp coverage run -p --source=lbry -m unittest discover -vv tests.unit
|
|
||||||
|
|
||||||
test:datanetwork-integration:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- pip install tox-travis
|
|
||||||
- ELASTIC_HOST=elasticsearch tox -e datanetwork --recreate
|
|
||||||
|
|
||||||
test:blockchain-integration:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- curl "http://elasticsearch:9200/_cat/health"
|
|
||||||
- pip install tox-travis
|
|
||||||
- ELASTIC_HOST=elasticsearch tox -e blockchain
|
|
||||||
|
|
||||||
test:other-integration:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- apt-get update
|
|
||||||
- apt-get install -y --no-install-recommends ffmpeg
|
|
||||||
- pip install tox-travis
|
|
||||||
- ELASTIC_HOST=elasticsearch tox -e other
|
|
||||||
|
|
||||||
test:json-api:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- make install tools
|
|
||||||
- ELASTIC_HOST=elasticsearch HOME=/tmp coverage run -p --source=lbry scripts/generate_json_api.py
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.build:
|
|
||||||
stage: build
|
|
||||||
artifacts:
|
|
||||||
expire_in: 1 day
|
|
||||||
paths:
|
|
||||||
- lbrynet-${OS}.zip
|
|
||||||
script:
|
|
||||||
- pip install --upgrade 'setuptools<45.0.0'
|
|
||||||
- pip install pyinstaller
|
|
||||||
- pip install -e .
|
|
||||||
- python3.7 docker/set_build.py # must come after lbry is installed because it imports lbry
|
|
||||||
- pyinstaller --onefile --name lbrynet lbry/extras/cli.py
|
|
||||||
- chmod +x dist/lbrynet
|
|
||||||
- zip --junk-paths ${CI_PROJECT_DIR}/lbrynet-${OS}.zip dist/lbrynet # gitlab expects artifacts to be in $CI_PROJECT_DIR
|
|
||||||
- openssl dgst -sha256 ${CI_PROJECT_DIR}/lbrynet-${OS}.zip | egrep -o [0-9a-f]+$ # get sha256 of asset. works on mac and ubuntu
|
|
||||||
- dist/lbrynet --version
|
|
||||||
|
|
||||||
build:linux:
|
|
||||||
extends: .build
|
|
||||||
image: ubuntu:16.04
|
|
||||||
variables:
|
|
||||||
OS: linux
|
|
||||||
before_script:
|
|
||||||
- apt-get update
|
|
||||||
- apt-get install -y --no-install-recommends software-properties-common zip curl build-essential
|
|
||||||
- add-apt-repository -y ppa:deadsnakes/ppa
|
|
||||||
- apt-get update
|
|
||||||
- apt-get install -y --no-install-recommends python3.7-dev
|
|
||||||
- python3.7 <(curl -q https://bootstrap.pypa.io/get-pip.py) # make sure we get pip with python3.7
|
|
||||||
- pip install lbry-libtorrent
|
|
||||||
|
|
||||||
build:mac:
|
|
||||||
extends: .build
|
|
||||||
tags: [macos] # makes gitlab use the mac runner
|
|
||||||
variables:
|
|
||||||
OS: mac
|
|
||||||
GIT_DEPTH: 5
|
|
||||||
VENV: /tmp/gitlab-lbry-sdk-venv
|
|
||||||
before_script:
|
|
||||||
# - brew upgrade python || true
|
|
||||||
- python3 --version | grep -q '^Python 3\.7\.' # dont upgrade python on every run. just make sure we're on the right Python
|
|
||||||
# - pip3 install --user --upgrade pip virtualenv
|
|
||||||
- pip3 --version | grep -q '\(python 3\.7\)'
|
|
||||||
- virtualenv --python=python3.7 "${VENV}"
|
|
||||||
- source "${VENV}/bin/activate"
|
|
||||||
after_script:
|
|
||||||
- rm -rf "${VENV}"
|
|
||||||
|
|
||||||
build:windows:
|
|
||||||
extends: .build
|
|
||||||
tags: [windows] # makes gitlab use the windows runner
|
|
||||||
variables:
|
|
||||||
OS: windows
|
|
||||||
GIT_DEPTH: 5
|
|
||||||
before_script:
|
|
||||||
- ./docker/install_choco.ps1
|
|
||||||
- choco install -y --x64 python --version=3.7.9
|
|
||||||
- choco install -y 7zip checksum
|
|
||||||
- python --version # | findstr /B "Python 3\.7\." # dont upgrade python on every run. just make sure we're on the right Python
|
|
||||||
- pip --version # | findstr /E '\(python 3\.7\)'
|
|
||||||
- python -c "import sys;print(f'{str(64 if sys.maxsize > 2**32 else 32)} bit python\n{sys.platform}')"
|
|
||||||
- pip install virtualenv pywin32
|
|
||||||
- virtualenv venv
|
|
||||||
- venv/Scripts/activate.ps1
|
|
||||||
after_script:
|
|
||||||
- rmdir -Recurse venv
|
|
||||||
script:
|
|
||||||
- pip install --upgrade 'setuptools<45.0.0'
|
|
||||||
- pip install pyinstaller==3.5
|
|
||||||
- pip install -e .
|
|
||||||
- python docker/set_build.py # must come after lbry is installed because it imports lbry
|
|
||||||
- pyinstaller --additional-hooks-dir=scripts/. --icon=icons/lbry256.ico -F -n lbrynet lbry/extras/cli.py
|
|
||||||
- 7z a -tzip $env:CI_PROJECT_DIR/lbrynet-${OS}.zip ./dist/lbrynet.exe
|
|
||||||
- checksum --type=sha256 --file=$env:CI_PROJECT_DIR/lbrynet-${OS}.zip
|
|
||||||
- dist/lbrynet.exe --version
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# s3 = upload asset to s3 (build.lbry.io)
|
|
||||||
.s3:
|
|
||||||
stage: assets
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: none
|
|
||||||
script:
|
|
||||||
- "[ -f lbrynet-${OS}.zip ]" # check that asset exists before trying to upload
|
|
||||||
- pip install awscli
|
|
||||||
- S3_PATH="daemon/gitlab-build-${CI_PIPELINE_ID}_commit-${CI_COMMIT_SHA:0:7}$( if [ ! -z ${CI_COMMIT_TAG} ]; then echo _tag-${CI_COMMIT_TAG}; else echo _branch-${CI_COMMIT_REF_NAME}; fi )"
|
|
||||||
- AWS_ACCESS_KEY_ID=${ARTIFACTS_KEY} AWS_SECRET_ACCESS_KEY=${ARTIFACTS_SECRET} AWS_REGION=${ARTIFACTS_REGION}
|
|
||||||
aws s3 cp lbrynet-${OS}.zip s3://${ARTIFACTS_BUCKET}/${S3_PATH}/lbrynet-${OS}.zip
|
|
||||||
|
|
||||||
s3:linux:
|
|
||||||
extends: .s3
|
|
||||||
variables: {OS: linux}
|
|
||||||
needs: ["build:linux"]
|
|
||||||
|
|
||||||
s3:mac:
|
|
||||||
extends: .s3
|
|
||||||
variables: {OS: mac}
|
|
||||||
needs: ["build:mac"]
|
|
||||||
|
|
||||||
s3:windows:
|
|
||||||
extends: .s3
|
|
||||||
variables: {OS: windows}
|
|
||||||
needs: ["build:windows"]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# github = upload assets to github when there's a tagged release
|
|
||||||
.github:
|
|
||||||
extends: .tagged
|
|
||||||
stage: assets
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: none
|
|
||||||
script:
|
|
||||||
- "[ -f lbrynet-${OS}.zip ]" # check that asset exists before trying to upload. githubrelease won't error if its missing
|
|
||||||
- pip install githubrelease
|
|
||||||
- githubrelease --no-progress --github-token ${GITHUB_CI_USER_ACCESS_TOKEN} asset lbryio/lbry-sdk upload ${CI_COMMIT_TAG} lbrynet-${OS}.zip
|
|
||||||
|
|
||||||
github:linux:
|
|
||||||
extends: .github
|
|
||||||
variables: {OS: linux}
|
|
||||||
needs: ["build:linux"]
|
|
||||||
|
|
||||||
github:mac:
|
|
||||||
extends: .github
|
|
||||||
variables: {OS: mac}
|
|
||||||
needs: ["build:mac"]
|
|
||||||
|
|
||||||
github:windows:
|
|
||||||
extends: .github
|
|
||||||
variables: {OS: windows}
|
|
||||||
needs: ["build:windows"]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
publish:
|
|
||||||
extends: .tagged
|
|
||||||
stage: release
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: none
|
|
||||||
script:
|
|
||||||
- pip install githubrelease
|
|
||||||
- githubrelease --no-progress --github-token ${GITHUB_CI_USER_ACCESS_TOKEN} release lbryio/lbry-sdk publish ${CI_COMMIT_TAG}
|
|
||||||
- >
|
|
||||||
curl -X POST -H 'Content-type: application/json' --data '{"text":"<!channel> There is a new SDK release: https://github.com/lbryio/lbry-sdk/releases/tag/'"${CI_COMMIT_TAG}"'\n'"$(curl -s "https://api.github.com/repos/lbryio/lbry-sdk/releases/tags/${CI_COMMIT_TAG}" | egrep '\w*\"body\":' | cut -d':' -f 2- | tail -c +3 | head -c -2)"'", "channel":"tech"}' "$(echo ${SLACK_WEBHOOK_URL_BASE64} | base64 -d)"
|
|
Loading…
Reference in a new issue