Modernes Design (Standard, Win95 als Legacy), Zeitraum abrechnen, Abrechnung erledigt, Linux-Build
- Design: „modern“ (hell, flach, wie Windows 11, normaler Windows-Rahmen) ist Standard; „win95“ bleibt unter Datei > Einstellungen wählbar (Einstellung „design“). - Export: Zeitraum von–bis (nach Aktivierungsdatum oder Abrechnungszeitraum des Anbieters), exportierte Positionen werden als abgerechnet gekennzeichnet (Betrag/Händler eingefroren) und per Fingerabdruck auch in späteren Dateien/Abrechnungen nicht noch einmal abgerechnet. - Datei > Abrechnung erledigt / wieder öffnen: erledigte Abrechnungen sind gegen Änderungen gesperrt. - DB-Schema v4 (Migration inkl. Fingerabdrücke für alte Positionen). - Linux-Build (python:3.12-bookworm) als zweiter Pipeline-Job mit Tests und Selbsttest; Release-Upload für beide Jobs über build/release_hochladen.sh. - Behoben: normaler Windows-Rahmen stürzte beim Start ab (Hauptrahmen.nativ fehlte). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
97c73b82c7
commit
851fd6600a
17 files changed
+829
-80
No files matched your search
@@ -1,7 +1,7 @@
|
||||
# Baut die Windows-Version (Provisionsmanager95.exe) mit Windows-Python unter Wine.
|
||||
# - jeder Push / PR: Tests + .exe als Build-Artefakt
|
||||
# - Tag "v*" (z. B. v1.0.0): zusätzlich Gitea-Release mit .exe und .zip
|
||||
name: Windows-Build
|
||||
# Baut die Windows-Version (.exe, mit Windows-Python unter Wine) und die Linux-Version.
|
||||
# - jeder Push / PR: Tests + Programmdateien als Build-Artefakte
|
||||
# - Tag "v*" (z. B. v1.0.0): zusätzlich Gitea-Release mit .exe, .zip und Linux-.tar.gz
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -38,23 +38,40 @@ jobs:
|
||||
dist/Provisionsmanager95.exe
|
||||
dist/Provisionsmanager95-*.zip
|
||||
|
||||
- name: Release erstellen
|
||||
- name: Release erstellen / ergänzen
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
env:
|
||||
TOKEN: ${{ secrets.RELEASE_TOKEN || secrets.GITEA_TOKEN }}
|
||||
API: ${{ github.server_url }}/api/v1/repos/${{ github.repository }}
|
||||
TAG: ${{ github.ref_name }}
|
||||
run: build/release_hochladen.sh dist/Provisionsmanager95.exe dist/Provisionsmanager95-$(tr -d '\r\n' < dist/VERSION).zip
|
||||
|
||||
linux:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 30
|
||||
container:
|
||||
image: python:3.12-bookworm
|
||||
steps:
|
||||
- name: Werkzeuge installieren
|
||||
run: |
|
||||
set -eu
|
||||
VERSION=$(cat dist/VERSION | tr -d '\r\n')
|
||||
if [ "v$VERSION" != "$TAG" ]; then
|
||||
echo "Tag $TAG passt nicht zu provtool/__init__.py (Version $VERSION)"; exit 1
|
||||
fi
|
||||
resp=$(curl -sf -X POST "$API/releases" -H "Authorization: token $TOKEN" -H "Content-Type: application/json" \
|
||||
-d "{\"tag_name\":\"$TAG\",\"name\":\"Provisions-Manager 95 $TAG\",\"body\":\"Windows-Version $VERSION – einfach die .exe herunterladen und starten.\"}")
|
||||
id=$(echo "$resp" | grep -o '"id":[0-9]*' | head -1 | cut -d: -f2)
|
||||
for f in dist/Provisionsmanager95.exe dist/Provisionsmanager95-$VERSION.zip; do
|
||||
curl -sf -X POST "$API/releases/$id/assets?name=$(basename "$f")" \
|
||||
-H "Authorization: token $TOKEN" -F "attachment=@$f" >/dev/null
|
||||
echo "hochgeladen: $f"
|
||||
done
|
||||
apt-get update -qq
|
||||
apt-get install -y -qq --no-install-recommends git nodejs ca-certificates xvfb xauth fonts-dejavu-core >/dev/null
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Tests + Build (Linux)
|
||||
run: ./build/build_linux.sh
|
||||
|
||||
- name: Build-Artefakt hochladen
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Provisionsmanager95-Linux
|
||||
path: dist/Provisionsmanager95-linux-*.tar.gz
|
||||
|
||||
- name: Release ergänzen
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
env:
|
||||
TOKEN: ${{ secrets.RELEASE_TOKEN || secrets.GITEA_TOKEN }}
|
||||
API: ${{ github.server_url }}/api/v1/repos/${{ github.repository }}
|
||||
TAG: ${{ github.ref_name }}
|
||||
run: build/release_hochladen.sh dist/Provisionsmanager95-linux-x86_64-*.tar.gz
|
||||
Reference in new issue
Block a user