Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 4 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ Describe what testing you've done:
- [ ] Tested on macOS
- [ ] Tested on Linux
- [ ] All tests pass locally: `pytest tests/ -v`
- [ ] Build succeeds locally: `python build_local.py`
- [ ] Build succeeds locally: `python build_local.py --lite`
- [ ] Full OCR build checked when packaging/OCR changes: `python build_local.py --full`

**Manual Testing Steps:**
1. Load PDF: [describe what PDF you used]
Expand Down Expand Up @@ -70,7 +71,8 @@ Any additional context that reviewers should know?
Before marking as ready, please ensure:

- [ ] Tests pass: `pytest tests/ -v`
- [ ] Build passes: `python build_local.py`
- [ ] Build passes: `python build_local.py --lite`
- [ ] Full OCR build passes when packaging/OCR changes: `python build_local.py --full`
- [ ] Code is clean and follows style guide
- [ ] All checkboxes above are complete
- [ ] You've tested your changes locally
Expand Down
23 changes: 13 additions & 10 deletions .github/workflows/beta-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ jobs:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-22.04, macos-latest]
variant: [lite, full]

steps:
- name: Checkout Code
Expand Down Expand Up @@ -57,18 +58,20 @@ jobs:
echo "NULLIFYPDF_BETA_SUFFIX=${TAG#*-}" >> "$GITHUB_ENV"

- name: Build
env:
NULLIFYPDF_BUILD_VARIANT: ${{ matrix.variant }}
run: python build_local.py

- name: Upload Artifact
uses: actions/upload-artifact@v7
with:
name: beta-build-${{ runner.os }}
name: beta-build-${{ runner.os }}-${{ matrix.variant }}
retention-days: 5
path: |
dist/NullifyPDF_v*_Windows.exe
dist/NullifyPDF_v*_macOS.zip
dist/NullifyPDF_v*_Ubuntu.deb
dist/NullifyPDF_v*_Fedora.rpm
dist/NullifyPDF_v*_Windows_*.exe
dist/NullifyPDF_v*_macOS_*.zip
dist/NullifyPDF_v*_Ubuntu_*.deb
dist/NullifyPDF_v*_Fedora_*.rpm

create_beta_release:
name: Create GitHub Beta Release
Expand All @@ -88,10 +91,10 @@ jobs:
with:
prerelease: true
files: |
all-builds/NullifyPDF_v*_Windows.exe
all-builds/NullifyPDF_v*_macOS.zip
all-builds/NullifyPDF_v*_Ubuntu.deb
all-builds/NullifyPDF_v*_Fedora.rpm
body: "Beta release NullifyPDF (build da develop). Non usare in produzione. Se supera i test, questa build verra' promossa a stable senza ricompilazione."
all-builds/NullifyPDF_v*_Windows_*.exe
all-builds/NullifyPDF_v*_macOS_*.zip
all-builds/NullifyPDF_v*_Ubuntu_*.deb
all-builds/NullifyPDF_v*_Fedora_*.rpm
body: "NullifyPDF beta release (build from develop). Includes Lite and Full OCR variants. Do not use in production. If validation succeeds, this build will be promoted to stable without rebuilding."
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
14 changes: 7 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ jobs:
run: |
mkdir -p stable-assets
gh release download "${{ steps.beta.outputs.tag }}" --repo "${{ github.repository }}" --dir stable-assets \
--pattern "NullifyPDF_v*_Windows.exe" \
--pattern "NullifyPDF_v*_macOS.zip" \
--pattern "NullifyPDF_v*_Ubuntu.deb" \
--pattern "NullifyPDF_v*_Fedora.rpm"
--pattern "NullifyPDF_v*_Windows_*.exe" \
--pattern "NullifyPDF_v*_macOS_*.zip" \
--pattern "NullifyPDF_v*_Ubuntu_*.deb" \
--pattern "NullifyPDF_v*_Fedora_*.rpm"

- name: Strip beta suffix from filenames
run: |
Expand All @@ -73,8 +73,8 @@ jobs:
files: stable-assets/*
prerelease: false
body: |
Release Stabile NullifyPDF.
Promossa dalla beta `${{ steps.beta.outputs.tag }}` (build gia' verificata, nessuna ricompilazione).
Include App Bundle macOS (ZIP), EXE per Windows e pacchetti nativi Linux.
NullifyPDF stable release.
Promoted from beta `${{ steps.beta.outputs.tag }}` (already verified build, no rebuild).
Includes Lite and Full OCR variants for Windows, macOS, and Linux.
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
15 changes: 9 additions & 6 deletions .github/workflows/test_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ jobs:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-22.04, macos-latest]
variant: [lite, full]

steps:
- name: Checkout Code
Expand Down Expand Up @@ -50,15 +51,17 @@ jobs:
run: mypy NullifyPDF.py --ignore-missing-imports --no-error-summary 2>&1 | head -50 || true

- name: Build
env:
NULLIFYPDF_BUILD_VARIANT: ${{ matrix.variant }}
run: python build_local.py

- name: Upload Artifact
uses: actions/upload-artifact@v7
with:
name: test-build-${{ runner.os }}
name: test-build-${{ runner.os }}-${{ matrix.variant }}
path: |
dist/NullifyPDF_v*_Windows.exe
dist/NullifyPDF_v*_macOS.zip
dist/NullifyPDF_v*_Ubuntu.deb
dist/NullifyPDF_v*_Fedora.rpm
retention-days: 3
dist/NullifyPDF_v*_Windows_*.exe
dist/NullifyPDF_v*_macOS_*.zip
dist/NullifyPDF_v*_Ubuntu_*.deb
dist/NullifyPDF_v*_Fedora_*.rpm
retention-days: 3
18 changes: 17 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ __pycache__/
*$py.class
*.so
.Python
.pytest_cache/
.mypy_cache/
.coverage
.coverage.*
htmlcov/
build/
develop-eggs/
dist/
Expand Down Expand Up @@ -63,4 +68,15 @@ desktop.ini
# Se vuoi includere un PDF di esempio specifico, usa: !esempio.pdf

# Log del checker forense
*.log
*.log

# File generati da export privacy / pseudonimizzazione
*.nullifypdf.tmp
*.nullifypdf-map

# OCR data is downloaded for Full builds, not stored in git.
ocr/tessdata/*.traineddata

# Packaging temp directories
rpm_build_tmp/
deb_build_tmp/
Loading