added PyInstaller builds, AGPLv3, transport config

- Add pyinstaller.spec and GitHub/Forgejo CI workflows for cross-platform builds
- Add AGPLv3 license
- Move data storage to ~/.tinyweb/
- Add --version and --port CLI flags
- Add transport node selection in /style (smart regeneration preserves Reticulum config)
- Add discover more nodes link to rmap.world
This commit is contained in:
lichenblankie 2026-04-08 04:36:28 +00:00
parent e6f77f0a55
commit 5b32d69863
9 changed files with 924 additions and 20 deletions

View file

@ -0,0 +1,57 @@
on:
push:
tags:
- 'v*.*.*'
workflow_dispatch:
jobs:
build:
runs-on: docker
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: |
pip install -r requirements.txt
pip install pyinstaller
- name: Build with PyInstaller
run: |
pyinstaller --onefile --console --name TinyWeb app.py
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: TinyWeb-linux-x64
path: dist/TinyWeb
if-no-files-found: error
release:
needs: build
runs-on: docker
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: TinyWeb-linux-x64
- name: Make executable
run: chmod +x TinyWeb-linux-x64
- name: Create Release
uses: actions/forgejo-release@v2
with:
direction: upload
release-dir: .
override: true
prerelease: ${{ contains(github.ref_name, 'alpha') || contains(github.ref_name, 'beta') }}