Commit graph

109 commits

Author SHA1 Message Date
GaltRanch
6fad893db8 Update Dockerfile for Umbrel + add multi-arch CI build
Dockerfile changes:
- Use COPY instead of git clone (build from local source)
- Add entrypoint.sh for auto-configuration from env vars
- EXPOSE 6969 and configurable via PYBLOCK_PORT env var
- Create config directory as volume mount point
- ENTRYPOINT replaces CMD for pre-launch setup

New .github/workflows/docker-build.yml:
- Multi-arch build: linux/amd64 + linux/arm64 (Raspberry Pi)
- Triggers on version tags (v*.*.*)
- Pushes to Docker Hub as curly60e/pyblock:version and :latest
- Uses QEMU + Buildx for cross-compilation
- GitHub Actions cache for faster builds

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:33:03 -03:00
GaltRanch
9886c66d4e Harden GitHub Actions workflow security
- Replace pipe-to-shell Poetry install with download-then-execute pattern
- Remove --password flag that exposed PyPI token in logs
- Use POETRY_PYPI_TOKEN_PYPI env var instead (Poetry reads it natively)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 11:59:47 -03:00
GaltRanch
7366e9fe9c Refactor architecture: config singleton, logging, menu system, dependencies
Major improvements across 7 areas:

- Add centralized Config singleton (config.py) replacing ~176 config
  reloads per session with a single cached load
- Add logging framework (log.py) with RotatingFileHandler, replacing
  silent except Exception: pass blocks with structured logging
- Refactor menu system (menu.py) with data-driven color selection,
  eliminating ~1,370 lines of duplicate menu functions
- Create shared/ modules extracting 7 utility functions duplicated
  between PyBlock.py and SPV/spvblock.py
- Clean dependencies: pin all versions, remove stdlib packages
  (asyncio, threading), remove unused imports
- Improve Docker: pin ubuntu:24.04, add non-root user, use venv
- Improve CI: update to actions v4/v5, add test job before publish
- Fix entry point: wrap main loop in def main(), proper module import

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 10:58:24 -03:00
Satoshi Nakamoto
ea71e0aec3
Delete .github/workflows/test.yml 2026-03-15 05:53:23 +01:00
curly60e
2023cccce6
Delete .github/workflows/release.yaml 2024-07-27 09:10:04 -03:00
curly60e
58c708f3d7
Update python-publish.yml 2024-07-27 08:52:42 -03:00
curly60e
6bd6fe229c
Update python-publish.yml 2024-07-26 19:36:03 -03:00
curly60e
35ca0677fd
Update python-publish.yml 2024-07-26 19:34:18 -03:00
curly60e
19d2850531
Update python-publish.yml 2024-07-26 19:33:53 -03:00
curly60e
e481163bed
Update python-publish.yml 2024-07-26 19:31:49 -03:00
curly60e
33a6cde87d
Delete .github/workflows/python-publish-test.yml 2024-07-26 19:31:30 -03:00
curly60e
720fc07549
Update python-publish.yml 2024-07-26 19:28:22 -03:00
curly60e
9b97923198
Update python-publish.yml 2024-07-26 19:27:22 -03:00
curly60e
0cfa09593b
Delete .github/workflows/test-pypi.yml 2024-07-26 15:10:00 -03:00
Satoshi Nakamoto
1f79e5e150
Update test-pypi.yml 2024-07-24 02:34:34 +02:00
Satoshi Nakamoto
a69150e46d
Create test-pypi.yml 2024-07-24 02:32:04 +02:00
Satoshi Nakamoto
2fb2688749
Update python-publish-test.yml 2024-07-24 02:27:13 +02:00
Satoshi Nakamoto
556981a64e
Update python-publish-test.yml 2024-07-24 02:17:00 +02:00
curly60e
261e203e0c
Update python-publish.yml 2024-07-23 19:22:53 -03:00
curly60e
3456cd422b
Update python-publish.yml 2024-07-23 19:21:29 -03:00
curly60e
63c8d7eff5
Update python-publish.yml 2024-07-23 19:20:11 -03:00
curly60e
dc942c87a3
Update python-publish.yml 2024-07-23 19:16:22 -03:00
curly60e
239b83fc6b
Update release.yaml 2024-07-23 19:13:39 -03:00
curly60e
bb75f84c86
Update python-publish.yml 2024-07-23 19:12:57 -03:00
curly60e
ba288ce39e
Update python-publish.yml 2024-07-23 19:09:20 -03:00
curly60e
de254e3e69
Delete .github/workflows/publish-to-test-pypi-Ok.yml 2024-07-23 19:01:33 -03:00
curly60e
30c8ce0454
Delete .github/workflows/publish.yml 2024-07-23 19:01:18 -03:00
curly60e
c2e062d2e1
Delete .github/workflows/PyBLOCK-PyPi.yml 2024-07-23 19:01:06 -03:00
curly60e
6d3f2913a4
Delete .github/workflows/pyblock-publish.yml 2024-07-23 19:00:56 -03:00
Satoshi Nakamoto
ea096442c1
Update publish-to-test-pypi-Ok.yml 2024-07-23 03:39:39 +02:00
Satoshi Nakamoto
87cd5793a6
Update test.yml 2024-07-23 03:37:40 +02:00
Satoshi Nakamoto
0deb4b28bd
Create test.yml 2024-07-23 03:35:37 +02:00
Satoshi Nakamoto
1ab4d98301
Update publish-to-test-pypi-Ok.yml 2024-07-23 03:25:51 +02:00
Satoshi Nakamoto
58ccc3ebe3
Delete .github/workflows/python-package-test-pyblock.yml 2024-07-23 03:11:34 +02:00
Satoshi Nakamoto
7c6514bb9d
Update python-package-test-pyblock.yml 2024-07-23 03:08:27 +02:00
Satoshi Nakamoto
26079a54b9
Update python-package-test-pyblock.yml 2024-07-23 03:05:11 +02:00
Satoshi Nakamoto
b331cb89f5
Update python-package-test-pyblock.yml 2024-07-23 02:57:39 +02:00
Satoshi Nakamoto
1099b6141b
Create python-package-test-pyblock.yml 2024-07-23 02:56:19 +02:00
Satoshi Nakamoto
f7e408a056
Create PyBLOCK-PyPi.yml 2024-07-23 02:52:38 +02:00
Satoshi Nakamoto
d3ff1462cf
Delete .github/workflows/Testpypi.yml 2024-07-22 22:23:30 +02:00
Satoshi Nakamoto
e236310a3b
Update Testpypi.yml 2024-07-22 22:21:45 +02:00
Satoshi Nakamoto
9c245d2c4b
Create Testpypi.yml 2024-07-22 22:19:28 +02:00
Satoshi Nakamoto
9299c387c9
Create publish.yml 2024-07-22 22:06:31 +02:00
Satoshi Nakamoto
3cdf49cbc0
Delete .github/workflows/pypi.yml 2024-07-22 22:04:05 +02:00
Satoshi Nakamoto
f30c16b292
Update pypi.yml 2024-07-22 22:02:19 +02:00
Satoshi Nakamoto
ff51fe6207
Create pypi.yml 2024-07-22 21:57:44 +02:00
Satoshi Nakamoto
36de5602fe
Create pyblock-publish.yml 2024-07-22 21:55:01 +02:00
Satoshi Nakamoto
22f0567d9d
Delete .github/workflows/pyblock-workflow.yml 2024-07-22 21:43:15 +02:00
Satoshi Nakamoto
adbd980f71
Create pyblock-workflow.yml 2024-07-22 21:39:33 +02:00
Satoshi Nakamoto
d43b840c1a
Delete .github/workflows/test-pypi.yml 2024-07-22 21:30:49 +02:00