Attempt to build everything using the gitlab shared runners
This commit is contained in:
parent
59131b6929
commit
dee65a5fbf
128
.gitlab-ci.yml
128
.gitlab-ci.yml
@ -1,33 +1,133 @@
|
|||||||
|
# This CI configuration file assumes we are going to use gitlab Shared runners at gitlab.com
|
||||||
|
# the next variables are customized to the filepaths used when installing python and nsis with chocolatey.
|
||||||
variables:
|
variables:
|
||||||
PYTHON3_32: "C:\\python39\\python.exe"
|
PYTHON3_32: "C:\\python39\\python.exe"
|
||||||
#PYTHON3_64: "C:\\python37-64\\python.exe"
|
|
||||||
NSIS: "C:\\program files (x86)\\nsis\\makensis.exe"
|
NSIS: "C:\\program files (x86)\\nsis\\makensis.exe"
|
||||||
|
|
||||||
.shared_windows_runners:
|
# This configures the environment for both channels
|
||||||
|
.configure_environment: &configure_environment
|
||||||
tags:
|
tags:
|
||||||
- shared-windows
|
- shared-windows
|
||||||
- windows
|
- windows
|
||||||
- windows-1809
|
- windows-1809
|
||||||
|
|
||||||
stages:
|
|
||||||
- build
|
|
||||||
- test
|
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- Set-Variable -Name "time" -Value (date -Format "%H:%m")
|
- Set-Variable -Name "time" -Value (date -Format "%H:%m")
|
||||||
- echo ${time}
|
- echo ${time}
|
||||||
- echo "started by ${GITLAB_USER_NAME}"
|
- echo "started by ${GITLAB_USER_NAME}"
|
||||||
- choco install python3 nsis -y -ForceX86
|
- choco install python3 nsis -y -ForceX86
|
||||||
- refreshenv
|
|
||||||
- '&$env:PYTHON3_32 -V'
|
- '&$env:PYTHON3_32 -V'
|
||||||
- '&$env:PYTHON3_32 -m pip install --upgrade pip'
|
- '&$env:PYTHON3_32 -m pip install --upgrade pip'
|
||||||
- '&$env:PYTHON3_32 -m pip install --upgrade -r requirements.txt'
|
- '&$env:PYTHON3_32 -m pip install --upgrade -r requirements.txt'
|
||||||
- '&$env:PYTHON3_32 -m pip uninstall enum34 -y'
|
- '&$env:PYTHON3_32 -m pip uninstall enum34 -y'
|
||||||
|
|
||||||
test:
|
# Create documentation in all available languages so we'll have it at http://socializer.su/documentation
|
||||||
extends:
|
# this job is triggered on every commit to master, so we always will display the latest available version of the documentation in the website.
|
||||||
- .shared_windows_runners
|
# We are not using the configure_environment job cause it adds all the dependencies, which are not needed for this to work.
|
||||||
stage: test
|
documentation:
|
||||||
|
type: deploy
|
||||||
|
tags:
|
||||||
|
- windows
|
||||||
|
- shared-windows
|
||||||
|
- windows-1809
|
||||||
script:
|
script:
|
||||||
- echo "running scripts in the test job"
|
- Set-Variable -Name "time" -Value (date -Format "%H:%m")
|
||||||
- python -V
|
- echo ${time}
|
||||||
|
- echo "started by ${GITLAB_USER_NAME}"
|
||||||
|
- choco install python3 -y -ForceX86
|
||||||
|
- '&$env:PYTHON3_32 -V'
|
||||||
|
### Dependencies.
|
||||||
|
- '&$env:PYTHON3_32 -m pip install --upgrade markdown'
|
||||||
|
# generate all html documents.
|
||||||
|
- copy changelog.md doc\changelog.md
|
||||||
|
- cd doc
|
||||||
|
- '&$env:PYTHON3_32 documentation_importer.py'
|
||||||
|
- cd ..\src
|
||||||
|
- '&$env:PYTHON3_32 ..\doc\generator.py'
|
||||||
|
- 'move documentation ..\'
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- documentation
|
||||||
|
name: socializer_documentation
|
||||||
|
expire_in: 1 day
|
||||||
|
|
||||||
|
### Updates all translation templates for weblate
|
||||||
|
# this is also executed on every commit to master.
|
||||||
|
# commented out while we find a way to push to a git repository from a gitlab shared runner.
|
||||||
|
.update_translation_templates:
|
||||||
|
type: deploy
|
||||||
|
tags:
|
||||||
|
- windows10
|
||||||
|
script:
|
||||||
|
- '&$env:PYTHON3_32 -m pip install --upgrade babel'
|
||||||
|
- copy changelog.md doc\changelog.md
|
||||||
|
- cd doc
|
||||||
|
- '&$env:PYTHON3_32 documentation_importer.py'
|
||||||
|
- cd ..\src
|
||||||
|
- '&$env:PYTHON3_32 setup.py extract_messages -F babel.cfg --input-dirs . --output-file ..\scripts\socializer.pot'
|
||||||
|
- '&$env:PYTHON3_32 setup.py update_catalog --no-fuzzy-matching --domain socializer --output-dir locales --input-file ..\scripts\socializer.pot'
|
||||||
|
- cd ..\doc
|
||||||
|
- '&$env:PYTHON3_32 translate.py'
|
||||||
|
- cd ..
|
||||||
|
# After generation, it's time to push all translation updates.
|
||||||
|
- '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
|
||||||
|
|
||||||
|
alpha32:
|
||||||
|
<<: *configure_environment
|
||||||
|
type: deploy
|
||||||
|
script:
|
||||||
|
# Create html documentation firstly.
|
||||||
|
- copy changelog.md doc\changelog.md
|
||||||
|
- cd doc
|
||||||
|
- '&$env:PYTHON3_32 documentation_importer.py'
|
||||||
|
- cd ..\src
|
||||||
|
- '&$env:PYTHON3_32 ..\doc\generator.py'
|
||||||
|
# Writes version info useful for alphas.
|
||||||
|
- '&$env:PYTHON3_32 write_version_data.py'
|
||||||
|
# build it all.
|
||||||
|
- '&$env:PYTHON3_32 setup.py build'
|
||||||
|
# Once built, makes the installer for for alpha.
|
||||||
|
- '&$env:NSIS installer_alpha.nsi'
|
||||||
|
- cd ..
|
||||||
|
- move src\socializer* .
|
||||||
|
- cd scripts
|
||||||
|
# Zips the folder in order to create the portable socializer version.
|
||||||
|
- '&$env:PYTHON3_32 prepare_zipversion.py'
|
||||||
|
- cd ..
|
||||||
|
- move src\socializer.zip socializer_x86_alpha.zip
|
||||||
|
- '&$env:PYTHON3_32 scripts/generate_update_file.py'
|
||||||
|
- '&$env:PYTHON3_32 scripts/upload.py'
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
|
||||||
|
# Generates a new stable version of the application every tag.
|
||||||
|
stable:
|
||||||
|
<<: *configure_environment
|
||||||
|
type: deploy
|
||||||
|
script:
|
||||||
|
- copy changelog.md doc\changelog.md
|
||||||
|
- cd doc
|
||||||
|
- '&$env:PYTHON3_32 documentation_importer.py'
|
||||||
|
- cd ..\src
|
||||||
|
- '&$env:PYTHON3_32 ..\doc\generator.py'
|
||||||
|
- '&$env:PYTHON3_32 write_version_data.py'
|
||||||
|
- '&$env:PYTHON3_32 setup.py build'
|
||||||
|
- '&$env:NSIS installer.nsi'
|
||||||
|
- cd ..
|
||||||
|
- move src\socializer* .
|
||||||
|
- cd scripts
|
||||||
|
- '&$env:PYTHON3_32 prepare_zipversion.py'
|
||||||
|
- cd ..
|
||||||
|
- move src\socializer.zip socializer_x86.zip
|
||||||
|
- '&$env:PYTHON3_32 scripts/upload.py'
|
||||||
|
only:
|
||||||
|
- tags
|
Loading…
Reference in New Issue
Block a user