variables: GIT_SUBMODULE_STRATEGY: recursive PYTHON: "C:\\python310\\python.exe" PYTHON37: "C:\\python37\\python.exe" # for Windows 7 support. NSIS: "C:\\program files (x86)\\nsis\\makensis.exe" stages: - build - make_installer - upload twblue32: tags: - shared-windows - windows - windows-1809 before_script: - Set-Variable -Name "time" -Value (date -Format "%H:%m") - echo ${time} - echo "started by ${GITLAB_USER_NAME}" - choco install python --version 3.10.8 -y -ForceX86 - '&$env:PYTHON -V' - '&$env:PYTHON -m pip install --upgrade pip' - '&$env:PYTHON -m pip install --upgrade https://github.com/josephsl/wxpy32whl/blob/main/wxPython-4.2.0-cp310-cp310-win32.whl?raw=true' - '&$env:PYTHON -m pip install --upgrade -r requirements.txt' stage: build interruptible: true script: # Create html documentation firstly. - cd doc - '&$env:PYTHON documentation_importer.py' - cd ..\src - '&$env:PYTHON ..\doc\generator.py' - '&$env:PYTHON write_version_data.py' - New-Item "appkeys.py" -ItemType File -Value "twitter_api_key='$TWITTER_API_KEY'`ntwitter_api_secret='$TWITTER_API_SECRET'" - '&$env:PYTHON setup.py build' - cd .. - mkdir artifacts - cd scripts - '&$env:PYTHON make_archive.py' - cd .. - mv src/dist artifacts/TWBlue - move src/twblue.zip artifacts/twblue_x86.zip # Move the generated script nsis file to artifacts, so we won't need python when generating the installer. - move scripts/twblue.nsi artifacts/twblue.nsi only: - tags artifacts: paths: - artifacts expire_in: 1 day twblue64: tags: - shared-windows - windows - windows-1809 before_script: - Set-Variable -Name "time" -Value (date -Format "%H:%m") - echo ${time} - echo "started by ${GITLAB_USER_NAME}" - choco install python --version 3.10.8 -y - '&$env:PYTHON -V' - '&$env:PYTHON -m pip install --upgrade pip' - '&$env:PYTHON -m pip install --upgrade -r requirements.txt' stage: build interruptible: true script: # Create html documentation firstly. - cd doc - '&$env:PYTHON documentation_importer.py' - cd ..\src - '&$env:PYTHON ..\doc\generator.py' - '&$env:PYTHON write_version_data.py' - New-Item "appkeys.py" -ItemType File -Value "twitter_api_key='$TWITTER_API_KEY'`ntwitter_api_secret='$TWITTER_API_SECRET'" - '&$env:PYTHON setup.py build' - cd .. - mkdir artifacts - cd scripts - '&$env:PYTHON make_archive.py' - cd .. - mv src/dist artifacts/TWBlue64 - move src/twblue.zip artifacts/twblue_x64.zip only: - tags artifacts: paths: - artifacts expire_in: 1 day twblueWin7: tags: - shared-windows - windows - windows-1809 before_script: - Set-Variable -Name "time" -Value (date -Format "%H:%m") - echo ${time} - echo "started by ${GITLAB_USER_NAME}" - choco install python --version 3.7.9 -y -ForceX86 - '&$env:PYTHON37 -V' - '&$env:PYTHON37 -m pip install --upgrade pip' - '&$env:PYTHON37 -m pip install --upgrade https://github.com/josephsl/wxpy32whl/blob/main/wxPython-4.2.0-cp37-cp37m-win32.whl?raw=true' - '&$env:PYTHON37 -m pip install --upgrade -r requirements.txt' stage: build interruptible: true script: # Create html documentation firstly. - cd doc - '&$env:PYTHON37 documentation_importer.py' - cd ..\src - '&$env:PYTHON37 ..\doc\generator.py' - '&$env:PYTHON37 write_version_data.py' - New-Item "appkeys.py" -ItemType File -Value "twitter_api_key='$TWITTER_API_KEY'`ntwitter_api_secret='$TWITTER_API_SECRET'" - '&$env:PYTHON37 setup.py build' - cd .. - mkdir artifacts - cd scripts - '&$env:PYTHON37 make_archive.py' - cd .. - move src/twblue.zip artifacts/twblue_windows7_x86.zip only: - next-gen artifacts: paths: - artifacts expire_in: 1 day generate_versions: stage: make_installer tags: - shared-windows - windows - windows-1809 before_script: - Set-Variable -Name "time" -Value (date -Format "%H:%m") - echo ${time} - echo "started by ${GITLAB_USER_NAME}" - choco install nsis -y -ForceX86 script: - move artifacts/TWBlue scripts/ - move artifacts/TWBlue64 scripts/ - move artifacts/twblue.nsi scripts/installer.nsi - cd scripts - '&$env:NSIS installer.nsi' - move twblue_setup.exe ../artifacts only: - tags artifacts: paths: - artifacts expire_in: 1 day upload: stage: upload tags: - linux image: python interruptible: true script: - cd artifacts - python ../scripts/upload.py only: - tags - schedules