Merge branch 'cicd-fixes' into 'develop'
CI/CD Fixes See merge request robozman/libremsonic!3
This commit is contained in:
@@ -1,9 +1,54 @@
|
|||||||
|
stages:
|
||||||
|
- test
|
||||||
|
- build
|
||||||
|
- deploy
|
||||||
|
- verify
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
GIT_SUBMODULE_STRATEGY: recursive
|
GIT_SUBMODULE_STRATEGY: recursive
|
||||||
|
|
||||||
|
image: ubuntu:18.10
|
||||||
|
|
||||||
|
lint:
|
||||||
|
stage: test
|
||||||
|
allow_failure: true
|
||||||
|
before_script:
|
||||||
|
- apt update
|
||||||
|
- apt install -y python3-pip libcairo2-dev pkg-config
|
||||||
|
- pip3 install -r dev-requirements.txt
|
||||||
|
- pip3 install -e .
|
||||||
|
script:
|
||||||
|
- python3 setup.py check -mrs
|
||||||
|
- pycodestyle
|
||||||
|
|
||||||
|
test:
|
||||||
|
stage: test
|
||||||
|
before_script:
|
||||||
|
- apt update
|
||||||
|
- apt install -y python3-pip libcairo2-dev pkg-config libgtk-3-dev libmpv-dev libglib2.0-dev gir1.2-notify-0.7
|
||||||
|
- pip3 install -r dev-requirements.txt
|
||||||
|
- pip3 install -e .
|
||||||
|
script:
|
||||||
|
- ./cicd/pytest.sh
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- htmlcov
|
||||||
|
|
||||||
|
build:
|
||||||
|
stage: build
|
||||||
|
before_script:
|
||||||
|
- apt update
|
||||||
|
- apt install -y python3-pip libcairo2-dev pkg-config
|
||||||
|
- pip3 install -r dev-requirements.txt
|
||||||
|
script:
|
||||||
|
- python3 setup.py sdist
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- dist/*
|
||||||
|
|
||||||
build_flatpak:
|
build_flatpak:
|
||||||
image: registry.gitlab.com/robozman/libremsonic/libremsonic/build:latest
|
image: registry.gitlab.com/robozman/libremsonic/libremsonic/build:latest
|
||||||
|
stage: build
|
||||||
script:
|
script:
|
||||||
- cd flatpak
|
- cd flatpak
|
||||||
- ./flatpak_build.sh
|
- ./flatpak_build.sh
|
||||||
@@ -11,3 +56,25 @@ build_flatpak:
|
|||||||
name: "libremsonic-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA"
|
name: "libremsonic-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA"
|
||||||
paths:
|
paths:
|
||||||
- flatpak/libremsonic.flatpak
|
- flatpak/libremsonic.flatpak
|
||||||
|
|
||||||
|
deploy_pypi:
|
||||||
|
image: python:3.6-alpine
|
||||||
|
stage: deploy
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
before_script:
|
||||||
|
- 'pip install twine'
|
||||||
|
- './create-pypirc.sh'
|
||||||
|
script:
|
||||||
|
# Upload to the test PyPi instance, then upload to the real one.
|
||||||
|
- twine upload -r pypi_test dist/*
|
||||||
|
- twine upload dist/*
|
||||||
|
after_script:
|
||||||
|
- echo "" > ~/.pypirc && rm -f ~/.pypirc
|
||||||
|
|
||||||
|
verify_deploy:
|
||||||
|
stage: verify
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
script:
|
||||||
|
- pip3 install libremsonic
|
||||||
|
12
cicd/pytest.sh
Executable file
12
cicd/pytest.sh
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
pytest
|
||||||
|
ec=$?
|
||||||
|
|
||||||
|
echo "pytest exited with exit code $ec"
|
||||||
|
|
||||||
|
case $ec in
|
||||||
|
0) exit 0 ;;
|
||||||
|
5) exit 0 ;;
|
||||||
|
*) exit 1 ;;
|
||||||
|
esac
|
14
create-pypirc.sh
Normal file
14
create-pypirc.sh
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
echo "[distutils]" >> ~/.pypirc
|
||||||
|
echo "index-servers =" >> ~/.pypirc
|
||||||
|
echo " pypi" >> ~/.pypirc
|
||||||
|
echo " pypi_test" >> ~/.pypirc
|
||||||
|
echo "[pypi]" >> ~/.pypirc
|
||||||
|
echo "username: ${PYPI_USER}" >> ~/.pypirc
|
||||||
|
echo "password: ${PYPI_PASSWORD}" >> ~/.pypirc
|
||||||
|
echo "[pypi_test]" >> ~/.pypirc
|
||||||
|
echo "repository: https://test.pypi.org/legacy/" >> ~/.pypirc
|
||||||
|
echo "username: ${PYPI_USER}" >> ~/.pypirc
|
||||||
|
echo "password: ${PYPI_TEST_PASSWORD}" >> ~/.pypirc
|
||||||
|
|
5
dev-requirements.txt
Normal file
5
dev-requirements.txt
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
pytest
|
||||||
|
pytest-cov
|
||||||
|
docutils
|
||||||
|
pycodestyle
|
||||||
|
lxml
|
@@ -2,6 +2,7 @@
|
|||||||
addopts =
|
addopts =
|
||||||
-vvv
|
-vvv
|
||||||
--doctest-modules
|
--doctest-modules
|
||||||
--cov=tracktime
|
--ignore-glob='api_object_generator'
|
||||||
|
--cov=libremsonic
|
||||||
--cov-report html
|
--cov-report html
|
||||||
--cov-report term
|
--cov-report term
|
||||||
|
Reference in New Issue
Block a user