Skip to content

Commit cbdba15

Browse files
authored
feat(release): standardize package tags and add release automation (#19)
* Standardize tags and add release automation * fix(release): tighten changelog spacing * docs(agents): add repository guidance --------- Signed-off-by: ghost <49853598+JSONbored@users.noreply.github.com>
1 parent d8d384e commit cbdba15

2 files changed

Lines changed: 33 additions & 28 deletions

File tree

AGENTS.md

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,40 @@
1-
# sure-aio Agent Notes
1+
# AGENTS.md
22

3-
`sure-aio` packages Sure as a single Unraid-friendly container with internal PostgreSQL and Redis.
3+
This repository is part of a broader portfolio of Unraid-first AIO projects.
44

5-
## Runtime Shape
5+
## Repository intent
66

7-
- Web app: Sure Rails app
8-
- Background jobs: Sidekiq worker
9-
- Database: internal PostgreSQL
10-
- Cache/queue: internal Redis
11-
- Supervision: `s6-overlay`
7+
- This repo packages an opinionated, beginner-friendly Unraid AIO deployment.
8+
- Default behavior should optimize for a reliable first boot on Unraid.
9+
- Advanced users should retain escape hatches where supported.
1210

13-
## Important Behavior
11+
## Engineering expectations
1412

15-
- This repo is intentionally beginner-first: one container, one appdata path, no external database required by default.
16-
- Redis runtime permissions matter because Unraid bind mounts can break ownership assumptions.
17-
- Database preparation was moved away from a fragile standalone oneshot path and into the runtime flow that actually boots the app.
18-
- Worker startup should wait for web readiness rather than racing app boot.
13+
- Prefer consistency with `unraid-aio-template` over one-off repo behavior.
14+
- Keep CI and release behavior aligned with the rest of the AIO fleet.
15+
- Respect protected branches and use PR-based automation for external sync flows.
16+
- Favor operational clarity over cleverness.
1917

20-
## CI And Publish Policy
18+
## Release model
2119

22-
- Validation and smoke tests should run on PRs and branch pushes.
23-
- Publish should happen only from the default branch.
24-
- GHCR image naming must stay lowercase.
20+
- Container packages publish automatically from `main`.
21+
- Formal changelog updates and GitHub Releases are release-driven.
22+
- Releases use `upstream version + aio revision`, for example `v0.6.8-aio.1`.
23+
- Keep changelog-friendly Conventional Commit titles and PR titles.
2524

26-
## What To Preserve
25+
## Unraid expectations
2726

28-
- Keep the Unraid XML contract stable unless there is a strong reason to change user-facing setup.
29-
- Public docs should stay product-facing and beginner-friendly.
30-
- Smoke tests should cover first boot, restart, and persistence.
27+
- Unraid-facing XML/icon assets should stay aligned with `awesome-unraid`.
28+
- User-facing metadata should remain accurate:
29+
- `Project`
30+
- `Support`
31+
- `TemplateURL`
32+
- `Icon`
33+
- `Overview`
34+
- `Category`
3135

32-
## Known Good Pattern
36+
## Documentation expectations
3337

34-
- Local smoke testing should verify the running service, not brittle host-side file assumptions.
35-
- If CI flaps, prefer making readiness checks more robust instead of weakening coverage.
38+
- Be explicit about operational tradeoffs.
39+
- Do not imply the AIO model removes inherent complexity from the upstream software.
40+
- Keep beginner defaults simple, but document power-user override paths where they exist.

cliff.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ All notable changes to this project will be documented in this file.
66
"""
77
body = """
88
{% if version %}## {{ version }} - {{ timestamp | date(format="%Y-%m-%d") }}{% else %}## Unreleased{% endif %}
9-
{% for group, commits in commits | group_by(attribute="group") %}
9+
{% for group, commits in commits | group_by(attribute="group") -%}
1010
### {{ group }}
11-
{% for commit in commits %}
11+
{% for commit in commits -%}
1212
- {{ commit.message | split(pat="\n") | first | trim | upper_first }}
1313
{% endfor %}
14-
15-
{% endfor %}
14+
{% if not loop.last %}\n{% endif -%}
15+
{% endfor -%}
1616
"""
1717
trim = true
1818
footer = "<!-- generated by git-cliff -->"

0 commit comments

Comments
 (0)