Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
99bed0d
docs: versions, details, contributions
Alienor134 Jan 5, 2026
989fa90
docs: simplify
Alienor134 Jan 5, 2026
17661d3
docs: simplify more
Alienor134 Jan 5, 2026
24edffd
fix: github tocken
Alienor134 Jan 5, 2026
67114db
ctk to dash migrationé
Alienor134 Jan 8, 2026
529d40f
add web_app branch to workflow
Alienor134 Jan 8, 2026
14c3310
missing Dockerfile
Alienor134 Jan 8, 2026
33437f8
Add Docker Hub image build and release docs
Alienor134 Jan 9, 2026
ccb1cfa
bug: typo in secret var name
Alienor134 Jan 9, 2026
62bf819
handle VM/Atlas
Alienor134 Jan 9, 2026
663aac8
eady for new release: added feature to allow connection to VM/atlas
Alienor134 Jan 9, 2026
aef4e4f
docs: improve release notes with Docker usage instructions
Alienor134 Jan 9, 2026
73cbf88
Fix: change image path to absolute url
Alienor134 Jan 9, 2026
4a6abf3
docs: inculde the docker and migration to web app
Alienor134 Jan 9, 2026
7a123dd
handle mongo URI
Alienor134 Jan 14, 2026
9fdb522
update readme, split workflow
Alienor134 Jan 14, 2026
0578608
Merge remote-tracking branch 'origin/main' into gui-merge-main
Alienor134 Jan 14, 2026
c9bb6d1
Merge pull request #2 from Alienor134/gui-merge-main
Alienor134 Jan 14, 2026
95be993
requirement update
Alienor134 Jan 14, 2026
1b32d22
robust Full URI (mongodb+srv) support; harden docker subprocess
Alienor134 Jan 14, 2026
ad243ca
feature: add credential URI connection
Alienor134 Jan 14, 2026
90b4cf4
fix: remove pop message in tests
Alienor134 Jan 14, 2026
279072f
Merge branch 'main' into gui
Alienor134 Jan 14, 2026
edcc9d1
Merge pull request #3 from Alienor134/gui
Alienor134 Jan 14, 2026
7ce674b
fix: host.docke.internal does not exist on linux, replace by 172.17.0.1
Alienor134 Jan 22, 2026
1ee48e5
rename to AltarViewer
Alienor134 Jan 22, 2026
6abbce6
Update README.md: altarviewer to altarviewer-linux
Alienor134 Jan 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
137 changes: 9 additions & 128 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,164 +1,45 @@
name: Build and Release
name: CI

on:
push:
branches:
- main
tags:
- 'v*'
- gui
paths-ignore:
- '**.md'
- '**/*.md'
- 'LICENSE'
- '.gitignore'
pull_request:
branches:
- main
paths-ignore:
- '**.md'
- '**/*.md'
- 'LICENSE'
- '.gitignore'
workflow_dispatch:

permissions:
contents: write
contents: read

jobs:
build-windows:
runs-on: windows-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install pyinstaller

- name: Run tests
run: |
python -m pytest tests/ -v --cov=src --cov-report=term-missing

- name: Build executable
run: |
pyinstaller OmniboardLauncher.spec

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: OmniboardLauncher-Windows
path: dist/OmniboardLauncher.exe
test:
runs-on: ubuntu-latest

build-macos:
runs-on: macos-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install pyinstaller

- name: Run tests
run: |
python -m pytest tests/ -v --cov=src --cov-report=term-missing

- name: Build executable
run: |
pyinstaller OmniboardLauncher.spec

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: OmniboardLauncher-macOS
path: dist/OmniboardLauncher

build-linux:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install pyinstaller


- name: Run tests
run: |
python -m pytest tests/ -v --cov=src --cov-report=term-missing

- name: Build executable
run: |
pyinstaller OmniboardLauncher.spec

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: OmniboardLauncher-Linux
path: dist/OmniboardLauncher

release:
if: startsWith(github.ref, 'refs/tags/')
needs: [build-windows, build-macos, build-linux]
runs-on: ubuntu-latest

steps:
- name: Download Windows artifact
uses: actions/download-artifact@v4
with:
name: OmniboardLauncher-Windows
path: ./windows

- name: Download macOS artifact
uses: actions/download-artifact@v4
with:
name: OmniboardLauncher-macOS
path: ./macos

- name: Download Linux artifact
uses: actions/download-artifact@v4
with:
name: OmniboardLauncher-Linux
path: ./linux

- name: Rename artifacts
run: |
mv ./macos/OmniboardLauncher ./macos/OmniboardLauncher-macOS
mv ./linux/OmniboardLauncher ./linux/OmniboardLauncher-Linux

- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: |
./windows/OmniboardLauncher.exe
./macos/OmniboardLauncher-macOS
./linux/OmniboardLauncher-Linux
draft: true
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
149 changes: 149 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
name: Release

on:
push:
tags:
- 'v*'

permissions:
contents: write

jobs:
build-windows:
runs-on: windows-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install pyinstaller

- name: Run tests
run: |
python -m pytest tests/ -v --cov=src --cov-report=term-missing

- name: Build executable
run: |
pyinstaller AltarViewer.spec

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: AltarViewer-Windows
path: dist/AltarViewer.exe

build-macos:
runs-on: macos-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install pyinstaller

- name: Run tests
run: |
python -m pytest tests/ -v --cov=src --cov-report=term-missing

- name: Build executable
run: |
pyinstaller AltarViewer.spec

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: AltarViewer-macOS
path: dist/AltarViewer

build-linux:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install pyinstaller

- name: Run tests
run: |
python -m pytest tests/ -v --cov=src --cov-report=term-missing

- name: Build executable
run: |
pyinstaller AltarViewer.spec

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: AltarViewer-Linux
path: dist/AltarViewer

release:
needs: [build-windows, build-macos, build-linux]
runs-on: ubuntu-latest

steps:
- name: Download Windows artifact
uses: actions/download-artifact@v4
with:
name: AltarViewer-Windows
path: ./windows

- name: Download macOS artifact
uses: actions/download-artifact@v4
with:
name: AltarViewer-macOS
path: ./macos

- name: Download Linux artifact
uses: actions/download-artifact@v4
with:
name: AltarViewer-Linux
path: ./linux

- name: Rename artifacts
run: |
mv ./macos/AltarViewer ./macos/AltarViewer-macOS
mv ./linux/AltarViewer ./linux/AltarViewer-Linux

- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: |
./windows/AltarViewer.exe
./macos/AltarViewer-macOS
./linux/AltarViewer-Linux
draft: true
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
18 changes: 15 additions & 3 deletions OmniboardLauncher.spec → AltarViewer.spec
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,23 @@ a = Analysis(
pathex=[],
binaries=[],
datas=[('assets/DataBase.ico', '.')],
hiddenimports=['customtkinter', 'pymongo', 'src.mongodb', 'src.omniboard', 'src.gui'],
hiddenimports=[
'customtkinter',
'pymongo',
'src.mongodb',
'src.omniboard',
'src.gui',
'src.prefs',
# Optional but recommended to ensure bundling when present
'keyring',
'dns', # dnspython for mongodb+srv
'platformdirs',
],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
# Exclude Qt bindings we do not use to avoid PyInstaller's multiple-Qt error
excludes=['PyQt5', 'PyQt6', 'PySide2', 'PySide6'],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
Expand All @@ -27,7 +39,7 @@ exe = EXE(
a.zipfiles,
a.datas,
[],
name='OmniboardLauncher',
name='AltarViewer',
debug=False,
bootloader_ignore_signals=False,
strip=False,
Expand Down
Loading