feat: update zapstore.yaml for local publish workflow with nostr git
- repository now uses the NIP-34 naddr for the Nostr git repo on nostrhub - release_source points to local APK built by `npm run android:build` - metadata_sources uses playstore only (no github dependency) - removed GitHub Actions zapstore.yml workflow (not needed) - added clear publish instructions in comments Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
This commit is contained in:
parent
d7985b219e
commit
a91a6fcdf3
2 changed files with 23 additions and 114 deletions
106
.github/workflows/zapstore.yml
vendored
106
.github/workflows/zapstore.yml
vendored
|
|
@ -1,106 +0,0 @@
|
|||
name: Build & Publish to Zapstore
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*.*.*' # e.g. v1.2.3
|
||||
|
||||
# Allow manual trigger from Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write # needed to create GitHub releases
|
||||
|
||||
jobs:
|
||||
build-and-publish:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
# ── 1. Checkout ────────────────────────────────────────────
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# ── 2. Node / web build ────────────────────────────────────
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '22'
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies and build web app
|
||||
run: |
|
||||
npm install
|
||||
npm run build
|
||||
|
||||
# ── 3. Java / Android toolchain ───────────────────────────
|
||||
- name: Setup Java 17
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
|
||||
- name: Setup Android SDK
|
||||
uses: android-actions/setup-android@v3
|
||||
|
||||
# ── 4. Capacitor sync ─────────────────────────────────────
|
||||
- name: Install Capacitor CLI and sync Android
|
||||
run: |
|
||||
npx cap sync android
|
||||
|
||||
# ── 5. Sign the APK ───────────────────────────────────────
|
||||
# Secrets required in GitHub repo settings:
|
||||
# KEYSTORE_BASE64 – base64-encoded .jks keystore file
|
||||
# KEYSTORE_PASSWORD – keystore password
|
||||
# KEY_ALIAS – key alias inside the keystore
|
||||
# KEY_PASSWORD – key password
|
||||
- name: Decode keystore
|
||||
run: |
|
||||
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > android/app/release.jks
|
||||
|
||||
- name: Build signed release APK
|
||||
working-directory: android
|
||||
env:
|
||||
KEYSTORE_PATH: app/release.jks
|
||||
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
|
||||
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
|
||||
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
|
||||
run: |
|
||||
./gradlew assembleRelease \
|
||||
-Pandroid.injected.signing.store.file=$KEYSTORE_PATH \
|
||||
-Pandroid.injected.signing.store.password=$KEYSTORE_PASSWORD \
|
||||
-Pandroid.injected.signing.key.alias=$KEY_ALIAS \
|
||||
-Pandroid.injected.signing.key.password=$KEY_PASSWORD
|
||||
|
||||
# ── 6. Locate APK ─────────────────────────────────────────
|
||||
- name: Locate APK
|
||||
id: apk
|
||||
run: |
|
||||
APK=$(find android/app/build/outputs/apk/release -name "*.apk" | head -1)
|
||||
echo "path=$APK" >> $GITHUB_OUTPUT
|
||||
echo "Found APK: $APK"
|
||||
|
||||
# ── 7. Create GitHub Release with APK ─────────────────────
|
||||
- name: Create GitHub Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: ${{ steps.apk.outputs.path }}
|
||||
generate_release_notes: true
|
||||
|
||||
# ── 8. Install zsp ────────────────────────────────────────
|
||||
- name: Install zsp
|
||||
run: |
|
||||
curl -sSL https://github.com/zapstore/zsp/releases/latest/download/zsp_linux_amd64 \
|
||||
-o /usr/local/bin/zsp
|
||||
chmod +x /usr/local/bin/zsp
|
||||
zsp --version
|
||||
|
||||
# ── 9. Publish to Zapstore ────────────────────────────────
|
||||
# Secrets required:
|
||||
# SIGN_WITH – nsec or bunker:// URL for Nostr signing
|
||||
- name: Publish to Zapstore
|
||||
env:
|
||||
SIGN_WITH: ${{ secrets.SIGN_WITH }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
RELAY_URLS: wss://relay.zapstore.dev
|
||||
run: |
|
||||
zsp publish -y zapstore.yaml
|
||||
|
|
@ -1,15 +1,31 @@
|
|||
# Zapstore publish config for SkateSpots
|
||||
# https://zapstore.dev
|
||||
#
|
||||
# Publish with: zsp publish zapstore.yaml
|
||||
# Or via CI: see .github/workflows/zapstore.yml
|
||||
# HOW TO PUBLISH
|
||||
# ──────────────
|
||||
# 1. Build the APK locally:
|
||||
# npm run android:build
|
||||
#
|
||||
# 2. Publish to Zapstore:
|
||||
# SIGN_WITH=nsec1... zsp publish zapstore.yaml
|
||||
#
|
||||
# Or with browser extension (NIP-07):
|
||||
# SIGN_WITH=browser zsp publish zapstore.yaml
|
||||
#
|
||||
# zsp will:
|
||||
# - Parse the APK (version, cert, permissions, icon)
|
||||
# - Upload APK + icon to cdn.zapstore.dev (Blossom)
|
||||
# - Sign and publish events to relay.zapstore.dev
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════
|
||||
# SOURCE CONFIGURATION
|
||||
# ═══════════════════════════════════════════════════════════════════
|
||||
|
||||
# Source code repository — zsp fetches APK from GitHub releases automatically
|
||||
repository: https://github.com/SkateSpots/SkateSpots
|
||||
# NIP-34 naddr for the Nostr git repository (shown in Zapstore listing)
|
||||
repository: naddr1qvzqqqrhnypzqg88e9f588nx7wyz4wt0ura23w3yd4hmztqrkr95utwyvgachjepqyd8wumn8ghj7emfwsh8x6rpddjhxur9v9ex2tnyd9uj7qq22d4kzar92dcx7arnhyhdwn
|
||||
|
||||
# Local APK built by: npm run android:build
|
||||
release_source: ./android/app/build/outputs/apk/release/app-release.apk
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════
|
||||
# APP METADATA
|
||||
|
|
@ -38,7 +54,7 @@ description: |
|
|||
website: https://skate-spots.org
|
||||
license: custom
|
||||
|
||||
# Category tags (used for Zapstore discovery)
|
||||
# Tags for Zapstore discovery
|
||||
tags:
|
||||
- sports
|
||||
- social
|
||||
|
|
@ -46,7 +62,7 @@ tags:
|
|||
- bitcoin
|
||||
- maps
|
||||
|
||||
# Nostr NIPs supported
|
||||
# Nostr NIPs supported by this app
|
||||
supported_nips:
|
||||
- "01"
|
||||
- "07"
|
||||
|
|
@ -60,7 +76,6 @@ supported_nips:
|
|||
# METADATA SOURCES
|
||||
# ═══════════════════════════════════════════════════════════════════
|
||||
|
||||
# Pull description, icon, screenshots from Play Store + GitHub
|
||||
# Pull icon + screenshots from Play Store (no GitHub needed)
|
||||
metadata_sources:
|
||||
- playstore
|
||||
- github
|
||||
|
|
|
|||
Loading…
Reference in a new issue