music-dl/.gitlab-ci.yml

83 lines
2.5 KiB
YAML

variables:
PYTHON3_32: "C:\\python38-32\\python.exe"
PYTHON3_64: "C:\\python38-64\\python.exe"
NSIS: "C:\\nsis\\makensis.exe"
### Stage list
# Build: This will be the main stage generating stuff in the dist folder. Jobs present in this stage will run py2exe or pyinstaller files accordingly.
# pack: Jobs in this stage will take the dist folder and zip it or generate an exe file.
stages:
- test
- build
- pack
.configure_environment: &configure_environment
tags:
- windows10
before_script:
- '&$env:PYTHON3_32 -V'
- '&$env:PYTHON3_32 -m venv env'
- 'env\scripts\activate'
- 'python -m pip install --upgrade pip'
- 'python -m pip install --upgrade -r requirements.txt'
### Updates all translation templates for weblate
update_translation_templates:
<<: *configure_environment
stage: build
tags:
- windows10
script:
- 'python -m pip install --upgrade babel'
# - copy changelog.md doc\changelog.md
# - cd doc
# - '&$env:PYTHON3_32 documentation_importer.py'
- cd src
- 'python setup.py extract_messages -o ..\scripts\musicdl.pot --msgid-bugs-address "manuel@manuelcortez.net" --copyright-holder "Manuel Cortez" --input-dirs .'
- 'python setup.py update_catalog --input-file ..\scripts\musicdl.pot --domain musicdl --output-dir locales --ignore-obsolete true'
# - cd ..\doc
# - '&$env:PYTHON3_32 translate.py'
- cd ..
- 'git config user.name "Windows runner"'
- 'git config user.email "manuel@manuelcortez.net"'
- 'git add scripts'
- 'git add src\locales'
- 'git remote set-url --push origin git@code.manuelcortez.net:$env:CI_PROJECT_PATH'
- 'git commit -m "Updated locales [skip ci]"'
- 'git push origin HEAD:$env:CI_COMMIT_REF_NAME'
only:
- master
test:
<<: *configure_environment
stage: test
tags:
- windows10
script:
- cd src
- 'python -m pip install --upgrade coverage'
- 'python -m coverage run run_tests.py'
- 'python -m coverage report --omit="test*"'
coverage: '/TOTAL.+ ([0-9]{1,3}%)/'
only:
- master
- schedules
public:
<<: *configure_environment
stage: build
script:
- cd src
- 'python write_version_data.py'
- 'python setup.py build'
- '&$env:NSIS installer.nsi'
- cd ..
- move src\music_dl* .
- cd scripts
- 'python prepare_zipversion.py'
- cd ..
- move src\music_dl.zip music_dl.zip
- 'python scripts/generate_update_file.py'
- 'python scripts/upload.py'
only:
- master