Provisions-Manager 95: Import, Händler-DB, Auszahlungsregeln, Excel-Export, Win95-Oberfläche, Wine-Build
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
commit
da2e3c9ba1
25 files changed
+3366
No files matched your search
@@ -0,0 +1,59 @@
|
||||
# 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
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
tags: ["v*"]
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
windows-exe:
|
||||
# Label ggf. an euren Runner anpassen (Runner braucht Docker; Wine steckt im Container-Image).
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: tobix/pywine:3.12
|
||||
env:
|
||||
WINEPREFIX: /opt/wineprefix
|
||||
steps:
|
||||
- name: Werkzeuge für Checkout/Upload installieren
|
||||
run: |
|
||||
apt-get update -qq
|
||||
apt-get install -y -qq --no-install-recommends git nodejs ca-certificates >/dev/null
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Tests + Build (.exe)
|
||||
run: ./build/build_windows.sh
|
||||
|
||||
- name: Build-Artefakt hochladen
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Provisionsmanager95
|
||||
path: |
|
||||
dist/Provisionsmanager95.exe
|
||||
dist/Provisionsmanager95-*.zip
|
||||
|
||||
- name: Release erstellen
|
||||
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: |
|
||||
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
|
||||
Reference in new issue
Block a user