Artemis 4 RC1

This commit is contained in:
Marco Dalla Tiezza
2024-05-28 22:40:45 +02:00
parent acc44c93b3
commit 528c816508
254 changed files with 14757 additions and 30137 deletions

View File

@@ -1,63 +0,0 @@
name: Nuitka - Linux
on:
workflow_dispatch:
jobs:
linux-nuitka:
runs-on: ubuntu-20.04
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()[0])')
cd src
python -m nuitka --standalone --onefile --assume-yes-for-downloads --follow-imports --enable-plugin=pyqt5 --enable-plugin=numpy --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 --linux-onefile-icon=../spec_files/Linux/artemis3.svg --show-modules --disable-console artemis.py
python -m nuitka --standalone --onefile --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 --linux-onefile-icon=../spec_files/Linux/artemis3.svg --show-modules --disable-console updater.py
chmod 755 artemis.bin
chmod 755 updater.bin
mkdir Artemis
mv artemis.bin Artemis/Artemis
mv themes Artemis/themes
mv artemis.ui Artemis/artemis.ui
mv cacert.pem Artemis/cacert.pem
mv download_db_window.ui Artemis/download_db_window.ui
mv updater.bin Artemis/_ArtemisUpdater
cp ../spec_files/Linux/create_shortcut.sh Artemis/create_shortcut.sh
cp ../spec_files/Linux/artemis3.svg Artemis/artemis3.svg
echo "Create complete archive"
tar -czvf ArtemisWebDownlaod_linux.tar.gz Artemis
echo "Create single archives"
cd Artemis
tar -czvf Artemis_linux.tar.gz Artemis
tar -czvf _ArtemisUpdater_linux.tar.gz _ArtemisUpdater
echo "Get size and sha256"
python ../../spec_files/__get_hash_code.py Artemis_linux.tar.gz _ArtemisUpdater_linux.tar.gz ../ArtemisWebDownlaod_linux.tar.gz > checksum.txt
- uses: actions/upload-artifact@v3
with:
name: Artemis_Linux
path: |
./src/Artemis/Artemis_linux.tar.gz
./src/Artemis/_ArtemisUpdater_linux.tar.gz
./src/ArtemisWebDownlaod_linux.tar.gz
./src/Artemis/checksum.txt

View File

@@ -1,81 +0,0 @@
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

View File

@@ -1,34 +0,0 @@
name: Nuitka - MacOS
on:
workflow_dispatch:
jobs:
macos-nuitka:
runs-on: macos-11
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 PyInstaller
run: |
pip install Nuitka ordered-set zstandard imageio
- name: Build Artemis
run: |
MOD_PATH=$(python -c 'import site; print(site.getsitepackages()[0])')
cd src
python -m nuitka --standalone --macos-create-app-bundle --macos-app-icon=default_pics/Artemis3.500px.png --assume-yes-for-downloads --follow-imports --enable-plugin=pyqt5 --enable-plugin=numpy --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 --show-modules --macos-signed-app-name=eu.aresvalley.artemis --macos-app-name=Artemis --macos-app-version=3.2.4 artemis.py
- uses: actions/upload-artifact@v3
with:
name: Artemis_MacOS
path: |
./src/artemis.app

View File

@@ -1,64 +0,0 @@
name: PyInstaller - Linux
on:
workflow_dispatch:
jobs:
linux-pyinstaller:
runs-on: ubuntu-20.04
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 PyInstaller
run: |
pip install pyinstaller
- name: Build Artemis main executable
run: |
cd ./spec_files/Linux
mkdir output
mkdir output/artemis
pyinstaller Artemis.spec
mv -v ./dist/Artemis ./output/Artemis
rm -rfv dist build
pyinstaller updater.spec
mv -v ./dist/_ArtemisUpdater ./output/_ArtemisUpdater
rm -rfv dist build
echo "Create single archives"
cd output
cp -r ../../../src/themes artemis/themes
rm -f artemis/themes/__current_theme
cp Artemis artemis/Artemis
cp _ArtemisUpdater artemis/_ArtemisUpdater
tar -czvf Artemis_linux.tar.gz Artemis -C artemis themes
tar -czvf _ArtemisUpdater_linux.tar.gz ./_ArtemisUpdater
echo "Create full archive for website"
cp ../artemis3.svg artemis
cp ../create_shortcut.sh artemis
tar -czvf ArtemisWebDownlaod_linux.tar.gz artemis
echo "Get size and sha256"
python ../../__get_hash_code.py Artemis_linux.tar.gz _ArtemisUpdater_linux.tar.gz ArtemisWebDownlaod_linux.tar.gz > checksum.txt
- uses: actions/upload-artifact@v3
with:
name: Artemis_Linux
path: |
./spec_files/Linux/output/Artemis_linux.tar.gz
./spec_files/Linux/output/_ArtemisUpdater_linux.tar.gz
./spec_files/Linux/output/ArtemisWebDownlaod_linux.tar.gz
./spec_files/Linux/output/checksum.txt

View File

@@ -1,85 +0,0 @@
name: PyInstaller - Windows
on:
workflow_dispatch:
inputs:
artemis_version:
description: 'Version'
required: true
default: '3.0.0'
type: string
jobs:
windows-pyinstaller:
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 PyInstaller
run: |
pip install pyinstaller
- name: Build Artemis main executables
run: |
CD spec_files\Windows
ECHO "Building Artemis executable..."
MKDIR output
pyinstaller artemis.spec
MOVE dist\Artemis.exe .\output\Artemis.exe
RMDIR -recurse -force dist
RMDIR -recurse -force build
ECHO "Building updater..."
pyinstaller updater.spec
MOVE dist\_ArtemisUpdater.exe .\output\_ArtemisUpdater.exe
RMDIR -recurse -force dist
RMDIR -recurse -force build
CD output
MKDIR Artemis
XCOPY /y Artemis.exe Artemis\
XCOPY /e /k /y ..\..\..\src\themes Artemis\themes\
XCOPY /y _ArtemisUpdater.exe Artemis\
ECHO "Compress files themes+Artemis.exe -> Artemis.zip"
$compress = @{
Path = ".\Artemis.exe", "..\..\..\src\themes"
CompressionLevel = "Optimal"
DestinationPath = ".\Artemis.zip"
}
Compress-Archive @compress
$compress = @{
Path = ".\_ArtemisUpdater.exe"
CompressionLevel = "Optimal"
DestinationPath = ".\ArtemisUpdater.zip"
}
Compress-Archive @compress
ECHO "Compress all files for website download"
$compress = @{
Path = "Artemis"
CompressionLevel = "Optimal"
DestinationPath = ".\Artemis_v${{github.event.inputs.artemis_version}}_x64.zip"
}
Compress-Archive @compress
python ..\..\__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_PyInstaller
path: |
.\spec_files\Windows\output\Artemis.zip
.\spec_files\Windows\output\ArtemisUpdater.zip
.\spec_files\Windows\output\Artemis_v${{github.event.inputs.artemis_version}}_x64.zip
.\spec_files\Windows\output\checksum_SHA256.txt

View File

@@ -1,34 +0,0 @@
name: PyInstaller - MacOS
on:
workflow_dispatch:
jobs:
macos-pyinstaller:
runs-on: macos-11
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 PyInstaller
run: |
pip install pyinstaller
- name: Build Artemis main executable
run: |
cd ./spec_files/macOS
pyinstaller Artemis.spec
ls -lart
- uses: actions/upload-artifact@v3
with:
name: Artemis_MacOS
path: |
./spec_files/macOS/dist

32
.github/workflows/linux.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: Nuitka - Linux
on:
workflow_dispatch:
inputs:
artemis_version:
description: 'Version'
required: true
default: '4.0.0'
type: string
jobs:
build-linux-x86_64:
runs-on: ubuntu-20.04
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Build and package
run: sh ./building/Linux/build_linux.sh
shell: bash
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: Artemis-Linux-x86_64-${{github.event.inputs.artemis_version}}
path: ./app.dist/

32
.github/workflows/macOS.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: Nuitka - macOS
on:
workflow_dispatch:
inputs:
artemis_version:
description: 'Version'
required: true
default: '4.0.0'
type: string
jobs:
build-macos-x86_64:
runs-on: macos-11
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Build and package
run: sh ./building/macOS/build_macos.sh
shell: bash
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: Artemis-macOS-x86_64-${{github.event.inputs.artemis_version}}
path: ./app.dist/

35
.github/workflows/windows.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: Nuitka - Windows
on:
workflow_dispatch:
inputs:
artemis_version:
description: 'Version'
required: true
default: '4.0.0'
type: string
jobs:
build-windows-x86_64:
runs-on: windows-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Build and package
run: ./building/Windows/build_windows.ps1
shell: powershell
- name: Building installer (ISCC)
run: iscc ./building/Windows/windows_installer.iss
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: Artemis-Windows-x86_64-${{github.event.inputs.artemis_version}}
path: ./building/artemis.exe