name: Nuitka - Windows on: workflow_dispatch: inputs: artemis_version: description: 'Version' required: true default: '3.0.0' type: string jobs: windows-nuitka: runs-on: windows-2022 steps: - uses: actions/checkout@v3 - name: Use Python 3.9 uses: actions/setup-python@v4 with: python-version: '3.9' - name: Install dependencies run: pip install -r ./requirements/requirements.txt - name: Install Nuitka run: | pip install Nuitka ordered-set zstandard - name: Building Artemis run: | $MOD_PATH = python -c 'import site; print(site.getsitepackages()[1])' CD src MKDIR Artemis python -m nuitka --standalone --onefile --disable-console --assume-yes-for-downloads --follow-imports --include-package-data=pygame --enable-plugin=pyqt5 --include-data-dir=themes=themes --include-data-dir=default_pics=default_pics --include-data-dir=$MOD_PATH\qtawesome=qtawesome --include-data-files=artemis.ui=artemis.ui --include-data-files=cacert.pem=cacert.pem --include-data-files=clickable_progress_bar.py=clickable_progress_bar.py --include-data-files=default_imgs.qrc=default_imgs.qrc --include-data-files=default_imgs_rc.py=default_imgs_rc.py --include-data-files=double_text_button.py=double_text_button.py --include-data-files=download_db_window.ui=download_db_window.ui --include-data-files=fixed_aspect_ratio_label.py=fixed_aspect_ratio_label.py --include-data-files=fixed_aspect_ratio_widget.py=fixed_aspect_ratio_widget.py --windows-icon-from-ico=default_pics\Artemis3.ico --show-modules --windows-company-name=Aresvalley.com --windows-product-name=Artemis --windows-file-version=${{github.event.inputs.artemis_version}} --windows-product-version=${{github.event.inputs.artemis_version}} --windows-file-description=Artemis artemis.py python -m nuitka --standalone --onefile --disable-console --assume-yes-for-downloads --follow-imports --enable-plugin=pyqt5 --include-data-dir=$MOD_PATH\qtawesome=qtawesome --include-data-files=default_imgs_rc.py=default_imgs_rc.py --windows-icon-from-ico=default_pics\Artemis3.ico --show-modules --windows-company-name=Aresvalley.com --windows-product-name=Artemis --windows-file-version=${{github.event.inputs.artemis_version}} --windows-product-version=${{github.event.inputs.artemis_version}} --windows-file-description=Artemis updater.py MOVE artemis.exe Artemis.exe ECHO "Compress files themes+Artemis.exe -> Artemis.zip" $compress = @{ Path = ".\Artemis.exe", ".\themes" CompressionLevel = "Optimal" DestinationPath = ".\Artemis.zip" } Compress-Archive @compress MOVE updater.exe _ArtemisUpdater.exe ECHO "Compress _ArtemisUpdater.exe -> ArtemisUpdater.zip" $compress = @{ Path = ".\_ArtemisUpdater.exe" CompressionLevel = "Optimal" DestinationPath = ".\ArtemisUpdater.zip" } Compress-Archive @compress MOVE Artemis.exe Artemis\Artemis.exe MOVE _ArtemisUpdater.exe Artemis\_ArtemisUpdater.exe MOVE themes Artemis\themes MOVE artemis.ui Artemis\artemis.ui MOVE cacert.pem Artemis\cacert.pem MOVE download_db_window.ui Artemis\download_db_window.ui ECHO "Compress all files for website bundle" $compress = @{ Path = "Artemis" CompressionLevel = "Optimal" DestinationPath = ".\Artemis_v${{github.event.inputs.artemis_version}}_x64.zip" } Compress-Archive @compress python ..\spec_files\__get_hash_code.py Artemis.zip ArtemisUpdater.zip Artemis_v${{github.event.inputs.artemis_version}}_x64.zip > checksum_SHA256.txt - uses: actions/upload-artifact@v3 with: name: Artemis_v${{github.event.inputs.artemis_version}}_win_x64_Nuitka path: | .\src\Artemis.zip .\src\ArtemisUpdater.zip .\src\Artemis_v${{github.event.inputs.artemis_version}}_x64.zip .\src\checksum_SHA256.txt