forked from Qortal-Forker/q-blog
release: v0.0.1 — Phase 0 — Orientation & Quality Bar
All checks were successful
CI / build_test (push) Successful in 1m6s
All checks were successful
CI / build_test (push) Successful in 1m6s
This commit is contained in:
@@ -1,26 +1,26 @@
|
||||
# Phase 0 — Closeout Checklist
|
||||
# Phase 0 — Orientation & Quality Bar — **Completed**
|
||||
|
||||
**Branch:** `update`
|
||||
**Milestone:** Phase 0 — Orientation & Quality Bar
|
||||
**Date:** 2025-08-17 04:57Z
|
||||
|
||||
## Acceptance
|
||||
- [ ] Quality Charter adopted and referenced in repo
|
||||
- [ ] Labels canonicalized; duplicates removed
|
||||
- [ ] Issue/PR templates present
|
||||
- [ ] Minimal CI runs on push + PR (Gitea)
|
||||
- [ ] Harness green: Vitest + RTL + MSW + jest-axe (smoke)
|
||||
- [ ] ESLint flat config installed; Phase 0 scope active
|
||||
- [ ] Phase 1 baseline report generated and attached to issues
|
||||
## What we delivered
|
||||
- **Tracker hygiene:** canonical labels; duplicate cleanup helpers; milestone created; seed issues for Phase 1–3.
|
||||
- **CI (self‑hosted):** single workflow (`.gitea/workflows/ci.yml`) using only built‑in steps; verified green.
|
||||
- **Dev harness:** Vitest + @testing-library/react + jest-axe; a11y smoke `tests/axe-smoke.test.tsx` passing.
|
||||
- **Lint posture:** ESLint flat config + phase‑scoped lint (Phase 0 ignores `src/**`); scripts to narrow/expand scope.
|
||||
- **Docs & instructions:** project instructions, CONTRIBUTING, RELEASING, CI runner notes, Phase plans.
|
||||
- **Utility scripts:** tracker bootstrap/verify; label dedupe; PR helpers.
|
||||
|
||||
## Baseline metrics (from latest report)
|
||||
- MUI v4 imports: **1**
|
||||
- TS suppressions: **2**
|
||||
- `any` usages: **309**
|
||||
- `<img>` missing `alt=` (grep): **4**
|
||||
- Hooks usage hits: **240**
|
||||
- WebWorker globals: **17**
|
||||
## Acceptance recap
|
||||
- Tests run and pass in CI.
|
||||
- Lint in Phase 0 scope is clean.
|
||||
- One CI workflow active; runner picks up jobs.
|
||||
- Milestone & initial issues exist.
|
||||
|
||||
## Links
|
||||
- PR: (link)
|
||||
- CI run: (link)
|
||||
- Milestone: (link)
|
||||
## Next (Phase 1 preview)
|
||||
- Remove remaining `@ts-nocheck` (scripted) and start type hygiene sweeps.
|
||||
- Fix MUI v4 imports, a11y `<img alt>` gaps, and hooks-in-non-components issues.
|
||||
- Begin file‑scoped lint expansion behind small PRs.
|
||||
|
||||
---
|
||||
|
||||
**Status:** ✅ _Phase 0 complete_ — propose version bump to **0.0.1** and tag release.
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
# Release Notes — v0.0.1 (Phase 0)
|
||||
# Q‑Blog v0.0.1 — Phase 0 wrap
|
||||
|
||||
**Summary:** Repo hygiene & scaffolding. No behavior changes.
|
||||
**Highlights**
|
||||
- Self‑hosted CI workflow (no marketplace actions); verified green.
|
||||
- Test harness online (Vitest + RTL + jest‑axe) with a11y smoke test.
|
||||
- ESLint flat config with Phase‑scoped lint; IDE noise reduced.
|
||||
- Tracker primed: labels, milestone, seed issues, maintenance scripts.
|
||||
- Contributor docs and PR templates in place.
|
||||
|
||||
## Highlights
|
||||
- ✅ Quality Charter, Project Instructions, testing & releasing guides
|
||||
- ✅ Vitest + RTL + MSW + jest-axe harness (a11y smoke in CI)
|
||||
- ✅ ESLint flat-config (Phase 0 scope), Prettier, EditorConfig
|
||||
- ✅ Gitea CI workflow (no marketplace)
|
||||
- ✅ Tracker scripts (labels, milestone, verification)
|
||||
|
||||
## Compatibility
|
||||
- No user-visible changes.
|
||||
- No breaking changes.
|
||||
**Notes**
|
||||
- App code linting is intentionally limited in Phase 0; sweeps start Phase 1.
|
||||
- No functional app changes intended; safe to merge to upstream at any time.
|
||||
|
||||
25
scripts/tracker/close_milestone.sh
Executable file
25
scripts/tracker/close_milestone.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
: "${GITEA_BASE_URL:?Set GITEA_BASE_URL (e.g., https://gitea.qortal.link)}"
|
||||
: "${GITEA_TOKEN:?Set GITEA_TOKEN}"
|
||||
: "${OWNER:?Set OWNER}"
|
||||
: "${REPO:?Set REPO}"
|
||||
|
||||
MS_ID="${1:-}"
|
||||
|
||||
api() {
|
||||
curl -sS -H "Authorization: token ${GITEA_TOKEN}" -H "Content-Type: application/json" "${GITEA_BASE_URL}/api/v1$1"
|
||||
}
|
||||
|
||||
if [[ -z "${MS_ID}" ]]; then
|
||||
echo "Auto-detecting 'Phase 0' milestone id..."
|
||||
MS_ID="$(api "/repos/${OWNER}/${REPO}/milestones?state=open" | jq -r '.[] | select(.title|test("Phase 0"; "i")) | .id' | head -n1)"
|
||||
fi
|
||||
|
||||
if [[ -z "${MS_ID}" || "${MS_ID}" == "null" ]]; then
|
||||
echo "Could not find Phase 0 milestone. Pass an ID explicitly: $0 <id>"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
echo "Closing milestone id=${MS_ID}"
|
||||
curl -sS -X PATCH -H "Authorization: token ${GITEA_TOKEN}" -H "Content-Type: application/json" "${GITEA_BASE_URL}/api/v1/repos/${OWNER}/${REPO}/milestones/${MS_ID}" --data '{"state":"closed"}' | jq -r '{id, title, state}'
|
||||
Reference in New Issue
Block a user