You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -64,71 +63,38 @@ A Python desktop app (tkinter/ttkbootstrap GUI) that batch-fills PDF forms from
64
63
65
64
## Release Workflow
66
65
67
-
Releases go to **GitLab Releases**(primary) and **GitHub Releases** (mirror). The `.exe`is NOT committed to git (`dist/` is in `.gitignore`).
66
+
Releases are built by **GitHub Actions** and published to **GitHub Releases**. The `.exe`and `.app` are NOT committed to git (`dist/` is in `.gitignore`).
68
67
69
68
**GitHub compliance rule**: never link directly to binary assets (`.exe`, `.dmg`) in the README — link to the Releases *page* only. Direct binary links triggered GitHub's storage-abuse detection and caused account suspension.
70
69
71
-
### Quick release
70
+
### Automated release (GitHub Actions)
72
71
73
72
```bash
74
-
./release.sh v2.X
75
-
```
76
-
77
-
This script automates: version baking, PyInstaller build, git tag + push, GitLab Release creation, `.exe` upload + linking, and README badge update.
--notes "Release notes. Download the Windows .exe from [GitLab Releases](https://gitlab.com/davearmswork/bulk-pdf-extractor-and-generator/-/releases/v2.X)."
115
-
```
82
+
The README download badge version still needs updating manually after a release.
116
83
117
-
### Known quirks
84
+
### Legacy local release (fallback)
118
85
119
-
-`glab release create` with file arguments fails with "Filepath is in an invalid format" — this is a glab CLI bug. Use the curl two-step (upload then link) as a workaround.
120
-
- GitLab project uploads go to `/-/project/<id>/uploads/<hash>/filename` — the `full_path` from the upload response is what you pass to the asset link.
121
-
- The README download badge is a static shields.io badge (not dynamic) — the version must be updated manually in `README.md` after each release (the release script handles this).
86
+
`release.sh` still exists for local builds if needed. It builds the Windows `.exe` locally, creates a GitLab Release, and uploads the binary. Use the GitHub Actions workflow instead for normal releases.
122
87
123
88
## Cross-Platform Build
124
89
125
-
-**Windows .exe**: Build on Windows with `python -m PyInstaller BulkPDFGenerator.spec --clean`. Output: `dist/Bulk PDF Generator.exe`.
126
-
-**macOS .app**: Must build on macOS. PyInstaller cannot cross-compile. Clone repo on Mac, install deps, run PyInstaller.
90
+
Both platforms are built automatically by GitHub Actions. For local builds:
-**Linux**: Run from source. No packaging currently set up.
128
94
129
95
## Git LFS
130
96
131
-
**Not used and not needed.**The `.exe` is distributed via GitLab Releases (file hosting), not stored in git history. The `.gitignore` excludes `dist/` and `build/`. The only binaries tracked in git are small PNGs (icon, app visualisation).
97
+
**Not used and not needed.**Binaries are distributed via GitHub Releases, not stored in git history. The `.gitignore` excludes `dist/` and `build/`. The only binaries tracked in git are small PNGs (icon, app visualisation).
Originally built to streamline VCAA Special Examination Arrangements Evidence Application forms, but works with **any** PDF form — TAFE enrolments, leave applications, compliance forms, consent forms, and more.
18
+
Originally built to streamline VCAA Special Examination Arrangements Evidence Application forms, but works with **any** PDF form — TAFE enrolments, leave applications, compliance forms, consent forms, and more. The app examines the PDF for any fillable form fields, seeks confirmation and changes and then generates an Excel file
19
+
for you to fill in content. Then use that Excel data to fill in the form in bulk at high speed. Massive time saver if used well.
18
20
19
21
> [!NOTE]
20
22
> A Principal-developed app for educators and school leaders. Always review all generated outputs before use.
0 commit comments