Skip to content

Commit 6be5bb3

Browse files
mrdavearmsclaude
andcommitted
ci: add GitHub community profile, CI tests, Pages, and changelog
- Issue templates (bug report + feature request) with YAML forms - Dependabot config for pip and GitHub Actions dependencies - Test CI workflow (pytest on push to main/test) - GitHub Pages landing page in docs/index.html - CHANGELOG.md generated from all 14 releases - README: swap download count badge for tests badge Companion API changes (already live): - 10 discovery topics added to repo - Homepage set to GitHub Pages URL - 3 Discussion posts seeded (welcome, SmartScreen FAQ, Gatekeeper FAQ) - All 14 release titles standardised to "vX.Y — Description" format Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent f0fb730 commit 6be5bb3

8 files changed

Lines changed: 497 additions & 1 deletion

File tree

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Bug Report
2+
description: Something isn't working as expected
3+
labels: ["bug"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for reporting a bug! Please fill in the details below so we can reproduce and fix it.
9+
10+
- type: dropdown
11+
id: platform
12+
attributes:
13+
label: Platform
14+
description: Which operating system are you using?
15+
options:
16+
- Windows 10
17+
- Windows 11
18+
- macOS 12 Monterey
19+
- macOS 13 Ventura
20+
- macOS 14 Sonoma
21+
- macOS 15 Sequoia
22+
- macOS 16 Tahoe
23+
- Linux (running from source)
24+
validations:
25+
required: true
26+
27+
- type: input
28+
id: version
29+
attributes:
30+
label: App version
31+
description: Found in the About tab (Tab 4), e.g. v2.7.5
32+
placeholder: v2.x.x
33+
validations:
34+
required: true
35+
36+
- type: textarea
37+
id: description
38+
attributes:
39+
label: What happened?
40+
description: Describe the bug clearly. What did you expect to happen vs. what actually happened?
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: steps
46+
attributes:
47+
label: Steps to reproduce
48+
description: How can we reproduce the problem?
49+
placeholder: |
50+
1. Open the app
51+
2. Load a PDF template...
52+
3. Click...
53+
4. Error appears
54+
validations:
55+
required: true
56+
57+
- type: textarea
58+
id: pdf-info
59+
attributes:
60+
label: PDF template details (if relevant)
61+
description: What kind of PDF form were you using? (e.g. VCAA Evidence Application, a custom form, etc.) Do NOT attach PDFs containing student data.
62+
validations:
63+
required: false
64+
65+
- type: textarea
66+
id: screenshots
67+
attributes:
68+
label: Screenshots or error messages
69+
description: If applicable, paste screenshots or copy the error message text.
70+
validations:
71+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Question or help
4+
url: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/discussions/categories/q-a
5+
about: Ask questions and get help from the community in Discussions
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Feature Request
2+
description: Suggest an improvement or new feature
3+
labels: ["enhancement"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Have an idea for making Bulk PDF Generator better? We'd love to hear it.
9+
10+
- type: textarea
11+
id: problem
12+
attributes:
13+
label: What problem does this solve?
14+
description: Describe the situation or workflow that's currently difficult or missing.
15+
placeholder: "When I'm processing forms for 300 students, I need to..."
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: solution
21+
attributes:
22+
label: What would you like to happen?
23+
description: Describe your ideal solution in plain language.
24+
validations:
25+
required: true
26+
27+
- type: dropdown
28+
id: role
29+
attributes:
30+
label: Your role
31+
description: Helps us understand your perspective
32+
options:
33+
- Principal / Assistant Principal
34+
- Teacher
35+
- School admin / office staff
36+
- IT support
37+
- TAFE / university staff
38+
- Other
39+
validations:
40+
required: false
41+
42+
- type: textarea
43+
id: context
44+
attributes:
45+
label: Anything else?
46+
description: Additional context, screenshots, or examples.
47+
validations:
48+
required: false

.github/dependabot.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "pip"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"
7+
labels:
8+
- "dependencies"
9+
commit-message:
10+
prefix: "deps"
11+
open-pull-requests-limit: 5
12+
13+
- package-ecosystem: "github-actions"
14+
directory: "/"
15+
schedule:
16+
interval: "weekly"
17+
labels:
18+
- "dependencies"
19+
- "ci"
20+
commit-message:
21+
prefix: "ci"

.github/workflows/test.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [main, test]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- uses: actions/setup-python@v5
16+
with:
17+
python-version: '3.10'
18+
19+
- name: Install dependencies
20+
run: |
21+
python -m pip install --upgrade pip
22+
pip install -r requirements.txt
23+
pip install pytest
24+
25+
- name: Run tests
26+
run: python -m pytest tests/ -v

CHANGELOG.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Changelog
2+
3+
All notable changes to Bulk PDF Generator are documented here.
4+
5+
## [v2.7.5] — 2026-03-20
6+
7+
- **Fixed: macOS dialog input** — School name, template name, and sheet picker dialogs now accept keyboard input immediately on macOS Tahoe (26).
8+
- **Faster macOS startup** — Eliminated redundant icon loading (1.3 MB image was opened 3 times, now once). ~24% faster startup.
9+
- **Polished macOS DMG installer** — The disk image now opens with a professional background, drag-to-Applications arrow, and volume icon.
10+
- **Ad-hoc code signing** — The macOS app is now signed, reducing Gatekeeper warnings.
11+
12+
## [v2.7.4] — 2026-03-20
13+
14+
- **Polished macOS DMG installer** — Professional background, drag-to-Applications arrow, and volume icon.
15+
- **Ad-hoc code signing** — macOS app is now signed, reducing Gatekeeper warnings on subsequent versions.
16+
- **Accurate macOS version metadata**`CFBundleVersion` is now injected from the git tag at build time instead of being hardcoded.
17+
- **Updated Gatekeeper instructions** — Release notes now cover both the classic right-click method (macOS 14 and earlier) and the System Settings path (macOS 15+).
18+
19+
## [v2.7.3] — 2026-03-20
20+
21+
- **Fixed: "Check for Updates" failing on Mac** — The update checker now works reliably on macOS. Previously it failed with an SSL certificate error because bundled Mac apps couldn't access the system certificate store.
22+
23+
## [v2.7.2] — 2026-03-19
24+
25+
- **Fixed: "Check for Updates" failing on Mac** — SSL certificate error fix for macOS (superseded by v2.7.3 with further fixes).
26+
27+
## [v2.7.1] — 2026-03-17
28+
29+
- **Fixed: crash on first launch** — Tab 2 (Map Fields) crashed immediately on opening due to a font configuration error. All Windows and macOS users on v2.7 were affected.
30+
31+
## [v2.7] — 2026-03-17
32+
33+
- **Check for Updates** — New button in the About tab lets you check for the latest version without leaving the app.
34+
- **Fixed: crash on launch** on some school network accounts where the Documents folder is redirected to a network drive. The app now falls back to a local folder automatically.
35+
36+
## [v2.6] — 2026-03-15
37+
38+
- **Automated CI/CD** — Windows `.exe` and macOS `.app` are now built automatically via GitHub Actions. No more manual builds.
39+
- **Dynamic version badge** — README version badge now auto-updates from the latest release.
40+
- **Build status badge** — README shows live build status from GitHub Actions.
41+
42+
## [v2.5.6] — 2026-03-10
43+
44+
- About tab and Excel export updated to reference GitHub (migrated from GitLab).
45+
46+
## [v2.5.5] — 2026-03-10
47+
48+
- **Tab 2: Field Mapping Editor** — Tab 2 is now a live mapping editor replacing the previous disabled placeholder. Visual mapping grid, Auto-Map All, Clear All Mappings, live status indicators, persistent mappings saved to template JSON.
49+
- **Tab 3 warning** — Validation now flags fields that have no mapping and won't auto-match any Excel column, with a prompt to fix them in Tab 2.
50+
51+
## [v2.5.4] — 2026-03-09
52+
53+
- **Security patch** — Upgrades pypdf 6.7.1 to 6.8.0, patching 4 Dependabot security advisories (infinite loop, RAM exhaustion, inefficient decoding).
54+
55+
## [v2.5.3] — 2026-03-09
56+
57+
- Windows release for v2.5 features.
58+
59+
## [v2.5] — 2026-03-09
60+
61+
- **Smart field type detection** — date/dob/birth fields auto-typed as Date.
62+
- **Field Type Audit dialog** — Review and override field types after PDF analysis.
63+
- **Date conversion** — Excel serial dates converted to DD/MM/YYYY (Australian format).
64+
- **Number formatting** — Whole numbers strip trailing `.0`.
65+
- **Combed field improvements** — Single-field detection, truncation handling.
66+
67+
## [v2.1] — 2026-02-22
68+
69+
- **Multi-sheet Excel support** — Sheet picker dialog for Excel files with multiple sheets.
70+
- Atomic file writes for crash-safe settings and configs.
71+
- LRU page cache for PDF preview.
72+
- Fixed combed-field sequential detection and file-handle leak in preview renderer.
73+
74+
## [v2.0] — 2026-02-22
75+
76+
- Initial release of Bulk PDF Generator as a Windows executable.
77+
78+
[v2.7.5]: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases/tag/v2.7.5
79+
[v2.7.4]: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases/tag/v2.7.4
80+
[v2.7.3]: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases/tag/v2.7.3
81+
[v2.7.2]: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases/tag/v2.7.2
82+
[v2.7.1]: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases/tag/v2.7.1
83+
[v2.7]: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases/tag/v2.7
84+
[v2.6]: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases/tag/v2.6
85+
[v2.5.6]: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases/tag/v2.5.6
86+
[v2.5.5]: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases/tag/v2.5.5
87+
[v2.5.4]: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases/tag/v2.5.4
88+
[v2.5.3]: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases/tag/v2.5.3
89+
[v2.5]: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases/tag/v2.5
90+
[v2.1]: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases/tag/v2.1
91+
[v2.0]: https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases/tag/v2.0

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS-0078d4?logo=windows&logoColor=white)](https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases)
1111
[![License](https://img.shields.io/badge/license-MIT-22c55e)](LICENSE)
1212
[![Python](https://img.shields.io/badge/python-3.10%2B-3b82f6?logo=python&logoColor=white)](https://python.org)
13-
[![Downloads](https://img.shields.io/github/downloads/mrdavearms/bulk-pdf-extractor-and-generator/total?style=flat&logo=github&label=downloads&color=22c55e)](https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/releases)
13+
[![Tests](https://img.shields.io/github/actions/workflow/status/mrdavearms/bulk-pdf-extractor-and-generator/test.yml?logo=github&label=tests)](https://github.com/mrdavearms/bulk-pdf-extractor-and-generator/actions/workflows/test.yml)
1414

1515
</div>
1616

0 commit comments

Comments
 (0)