diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml index 8c83a38..29cbdaf 100644 --- a/.github/workflows/build-android.yml +++ b/.github/workflows/build-android.yml @@ -103,6 +103,7 @@ jobs: run: | PREV_TAG=$(git tag --sort=-version:refname | grep -v "^${{ github.ref_name }}$" | head -1) echo "Previous tag: $PREV_TAG" + echo "prev_tag=$PREV_TAG" >> "$GITHUB_OUTPUT" FEATS=$(git log "${PREV_TAG}..HEAD" --pretty=format:"%s" --no-merges \ | grep -E "^feat(\([^)]+\))?: " \ @@ -129,9 +130,45 @@ jobs: ## SheetHappens ${{ github.ref_name }} ${{ steps.changelog.outputs.changelog }} + [Full changelog](https://github.com/${{ github.repository }}/compare/${{ steps.changelog.outputs.prev_tag }}...${{ github.ref_name }}) · [CHANGELOG.md](https://github.com/${{ github.repository }}/blob/main/CHANGELOG.md) + ### Installation 1. Enable "Unknown sources" on the device 2. Transfer the APK to the device and open it to install files: ${{ steps.apk.outputs.path }} draft: false prerelease: ${{ contains(github.ref_name, '-') }} + + - name: Create Gitea Release + env: + GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} + TAG: ${{ github.ref_name }} + PREV_TAG: ${{ steps.changelog.outputs.prev_tag }} + CHANGELOG: ${{ steps.changelog.outputs.changelog }} + GH_REPO: ${{ github.repository }} + run: | + if [ -z "$GITEA_TOKEN" ]; then + echo "GITEA_TOKEN not set — skipping Gitea release" + exit 0 + fi + + BODY="## SheetHappens ${TAG} + + ${CHANGELOG} + + [Full changelog](https://homegit.gyozamancave.fr/billisdead/SheetHappens/compare/${PREV_TAG}...${TAG}) · [CHANGELOG.md](https://homegit.gyozamancave.fr/billisdead/SheetHappens/raw/branch/main/CHANGELOG.md) + + ### Installation + Download the APK from the [GitHub release](https://github.com/${GH_REPO}/releases/tag/${TAG}), enable \"Unknown sources\" on the device and install." + + curl -sf -X POST \ + -H "Authorization: token ${GITEA_TOKEN}" \ + -H "Content-Type: application/json" \ + "https://homegit.gyozamancave.fr/api/v1/repos/billisdead/SheetHappens/releases" \ + -d "{ + \"tag_name\": \"${TAG}\", + \"name\": \"SheetHappens ${TAG}\", + \"body\": $(printf '%s' "$BODY" | jq -Rs .), + \"draft\": false, + \"prerelease\": $([ "${TAG#*-}" != "${TAG}" ] && echo true || echo false) + }" diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..9120024 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,46 @@ +# Changelog + +All notable changes to SheetHappens are documented here. +Each release links to the full diff for detailed context. + +--- + +## [v0.1.7] — 2026-06-22 + +### Bug Fixes +- Revert splash screen overrides that caused Android crash-to-desktop — expo-router already manages the splash lifecycle internally +- Remove redundant `SafeAreaProvider` wrapper (expo-router's `ExpoRoot` already injects it) + +[View changes](https://github.com/pirona/SheetHappens/compare/v0.1.6...v0.1.7) + +--- + +## [v0.1.6] — 2026-06-22 + +### Bug Fixes +- Prevent black screen on launch by holding splash until SecureStore settings load +- Add `splash.backgroundColor` to `app.json` to match app theme on Android + +[View changes](https://github.com/pirona/SheetHappens/compare/v0.1.5...v0.1.6) + +--- + +## [v0.1.5] — 2026-06-22 + +### Bug Fixes +- Fix signed APK release: inject signing secrets via env vars, write `signing.env` with `printf %q` to handle special characters +- Add `signing.env` verification step in CI + +[View changes](https://github.com/pirona/SheetHappens/compare/v0.1.0...v0.1.5) + +--- + +## [v0.1.0] — Initial release + +### Features +- Incident log with SQLite persistence +- Voice input via `expo-speech-recognition` +- Edit mode, service autocomplete +- Dark theme (NativeWind + expo-router) +- Onboarding flow +- Signed APK via GitHub Actions CI