Skip to content

v1.0.0 release prep: docs rewrite, CI, dependabot, --version, SECURITY.md - #12

Merged
drogers0 merged 4 commits into
mainfrom
docs/v1-release-prep
May 27, 2026
Merged

v1.0.0 release prep: docs rewrite, CI, dependabot, --version, SECURITY.md#12
drogers0 merged 4 commits into
mainfrom
docs/v1-release-prep

Conversation

@drogers0

@drogers0 drogers0 commented May 26, 2026

Copy link
Copy Markdown
Owner

Summary

Two commits' worth of prep work to get the repo ready for a v1.0.0 cut.

Docs polish (9d1d1fc)

  • README rewrite to production-grade layout: hero block with banner; badges for release / stars / downloads / license / Go Report Card; instant demo; restructured Installation, Usage, Authentication, and CI/CD sections.
  • CI/CD now leads with the bot-account caution, then setup steps that recommend an environment secret with branch restrictions instead of a plain repo secret.
  • documentation/architecture.md refreshed for current packages (session, httputil, cookies/jar), multi-browser support (Chrome, Brave, Edge, Chromium, Firefox, Opera, Safari), S3 status-code corrections, and the deterministic field-ordering note.
  • LICENSE: extend copyright to 2025-2026.

Release readiness items (46e33c1)

Items intentionally deferred

The pre-release audit (REVIEW.md — not committed) flagged a few more items. Skipped for this PR:

  • Tests for internal/upload/ — core protocol code is at 0% unit coverage. Real risk, but bounded (1,500+ downloads across 3 releases have functionally exercised the path). Better as a focused follow-up than a rushed addition here.
  • CHANGELOG.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, FUNDING.yml, issue templates — judged as cargo-culted for a solo-maintainer project of this scope. GitHub Releases serve the CHANGELOG role; the README has a Contributing section.

Test plan

  • go vet ./... passes locally
  • go test -race ./... passes locally
  • go build -ldflags "-X main.version=1.0.0-test" . and ./gh-image --version prints gh-image 1.0.0-test
  • New test.yml workflow runs green on this PR
  • README renders correctly on github.com (badges show, callouts render as alerts, banner displays)
  • SECURITY.md surfaces as a "Security Policy" tab on the repo page after merge
  • Confirm dependabot.yml is picked up (Settings → Code security → Dependabot version updates shows it active)

drogers0 added 4 commits May 26, 2026 18:03
- README: rewrite to production-grade layout (hero block with banner,
  badges for release/stars/downloads/license/Go Report Card; instant
  demo; install/usage/auth restructured; CI/CD moved to environment-
  scoped secrets with bot-account caution; subcommands folded into
  setup steps; support section)
- architecture.md: refresh for current packages (session, httputil,
  cookies/jar) and multi-browser support; correct S3 status codes and
  upload URL in the data flow; document deterministic S3 field ordering
- LICENSE: extend copyright to 2025-2026
- .github/workflows/test.yml: PR-time CI running go vet, go test -race -cover,
  and go build on push to main and on pull requests. README told contributors
  to run these before PRs; nothing enforced it.
- .github/dependabot.yml: weekly gomod + github-actions updates. Especially
  relevant for kooky, which gates the Windows Chrome 127+ ABE fix (#4).
- main.go + .goreleaser.yml: --version flag, with the version constant
  injected at release-build time via -X main.version={{.Version}} ldflags.
  Local builds report "dev".
- SECURITY.md: disclosure policy via GitHub private vulnerability reporting,
  supported-versions table, and a pointer to the README's leak-remediation
  flow. Surfaces a "Security Policy" tab on the repo page.
- README: NOTE callout under Authentication documenting that Chrome 127+ on
  Windows is not yet supported by kooky's ABE handling (tracking #4) —
  previously the README claimed unconditional Windows support.
GitHub Actions is deprecating Node.js 20 on 2026-06-02 (forced default
to Node 24) and removing it 2026-09-16. checkout@v4 and setup-go@v5 both
run on Node 20; bumping to v6 of each puts the workflows on Node 24
and clears the deprecation warning surfaced on the test workflow run.

Ref: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Mermaid renders natively on github.com, so swapping the ASCII art for a
proper flowchart gives the data flow a real visual. The new diagram also
adds color-coding the ASCII couldn't convey:
  - blue: GitHub-authenticated steps (carry user_session)
  - orange: the S3 upload (no GitHub auth — presigned policy handles it)
  - green: terminal nodes (input/output)
This makes the architectural fact that step 4 is the only un-authed
request visible at a glance, instead of buried in prose.

The per-image loop is now wrapped in a subgraph so it's explicit which
steps repeat per file vs the session-resolution that happens once.
@drogers0
drogers0 merged commit ff9a312 into main May 27, 2026
1 check passed
@drogers0
drogers0 deleted the docs/v1-release-prep branch May 27, 2026 00:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant