# yamllint disable rule:line-length --- win-dev-build: stage: dev-deployment tags: - win64 cache: paths: - .venv/ rules: - if: "$CI_COMMIT_BRANCH == 'dev'" environment: name: development script: - | $ErrorActionPreference = "Stop" py -m venv .venv .venv\Scripts\activate.ps1 pip install pyinstaller pip install -r requirements.txt - pyinstaller -F main.py --distpath . --icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico --name "crafty" --paths .venv\Lib\site-packages --hidden-import cryptography --hidden-import cffi --hidden-import apscheduler --collect-all tzlocal --collect-all tzdata --collect-all pytz --collect-all six - | echo "Retrieving 'latest' updater from crafty-controller/crafty-4-windows-updater" $src = 'https://gitlab.com/crafty-controller/crafty-4-windows-updater/-/jobs/artifacts/dev/raw/crafty_updater.exe?job=win-dev-build' $dest = 'crafty_updater.exe' Invoke-WebRequest -Uri $src -OutFile $dest # Download latest: # | https://gitlab.com/crafty-controller/crafty-4/-/jobs/artifacts/dev/download?job=win-dev-build artifacts: name: "crafty-${CI_RUNNER_TAGS}-${CI_COMMIT_BRANCH}_${CI_COMMIT_SHORT_SHA}" paths: - app\ - .\crafty.exe - .\crafty_updater.exe exclude: - app\classes\**\* win-prod-build: stage: prod-deployment tags: - win64 cache: paths: - .venv/ rules: - if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH" - if: $CI_COMMIT_TAG environment: name: production script: - | $ErrorActionPreference = "Stop" py -m venv .venv .venv\Scripts\activate.ps1 pip install pyinstaller pip install -r requirements.txt - pyinstaller -F main.py --distpath . --icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico --name "crafty" --paths .venv\Lib\site-packages --hidden-import cryptography --hidden-import cffi --hidden-import apscheduler --collect-all tzlocal --collect-all tzdata --collect-all pytz --collect-all six - | echo "Retrieving 'latest' updater from crafty-controller/crafty-4-windows-updater" $src = 'https://gitlab.com/crafty-controller/crafty-4-windows-updater/-/jobs/artifacts/master/raw/crafty_updater.exe?job=win-prod-build' $dest = 'crafty_updater.exe' Invoke-WebRequest -Uri $src -OutFile $dest after_script: - Add-Content -Path job.env -Value "JOB_ID=$CI_JOB_ID" # Download latest: # | https://gitlab.com/crafty-controller/crafty-4/-/jobs/artifacts/master/download?job=win-prod-build artifacts: name: "crafty-${CI_RUNNER_TAGS}-${CI_COMMIT_BRANCH}_${CI_COMMIT_SHORT_SHA}" paths: - app\ - .\crafty.exe - .\crafty_updater.exe expire_in: never exclude: - app\classes\**\* reports: dotenv: job.env