Skip to content

applying package updates #670

applying package updates

applying package updates #670

Workflow file for this run

name: github-release
"on":
push:
tags:
- '@acedatacloud/nexior_v*'
- 'v*'
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: '22'
cache: npm
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Prepare metadata
id: meta
shell: bash
env:
# Optional override; falls back to the canonical URL shipped in the app.
IOS_APP_STORE_URL_OVERRIDE: ${{ vars.IOS_APP_STORE_URL }}
run: |
TAG="${GITHUB_REF_NAME}"
SAFE_TAG="${TAG//\//-}"
if [[ "$TAG" == *"_v"* ]]; then
VERSION="${TAG##*_v}"
else
VERSION="${TAG#v}"
fi
# iOS store link: prefer the repo-variable override, else the canonical
# URL the app already ships with (single source of truth in mobile.ts).
IOS_URL="${IOS_APP_STORE_URL_OVERRIDE:-}"
if [ -z "$IOS_URL" ]; then
IOS_URL=$(sed -nE "s/.*MOBILE_IOS_APP_STORE_URL *= *'([^']+)'.*/\1/p" src/constants/mobile.ts | head -n1)
fi
echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
echo "safe_tag=${SAFE_TAG}" >> "$GITHUB_OUTPUT"
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
echo "ios_url=${IOS_URL}" >> "$GITHUB_OUTPUT"
- name: Package dist
shell: bash
run: |
ASSET="nexior-dist-${{ steps.meta.outputs.safe_tag }}.tar.gz"
tar -czf "$ASSET" dist
sha256sum "$ASSET" > "${ASSET}.sha256"
- name: Create GitHub Release
uses: softprops/action-gh-release@v3
env:
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN || github.token }}
with:
tag_name: ${{ steps.meta.outputs.tag }}
name: v${{ steps.meta.outputs.version }}
generate_release_notes: true
# The platform installers themselves are attached by the per-platform
# workflows (build-android.yaml / desktop.yml) which finish on their own
# runners; this block just documents where each lives. append_body keeps
# the auto-generated changelog above this table.
append_body: true
body: |
## 📦 Downloads
| Platform | How to get it |
|----------|---------------|
| 🍎 **macOS** | The `.dmg` in Assets below (`x64` for Intel, `arm64` for Apple Silicon) |
| 🪟 **Windows** | The `.exe` installer in Assets below |
| 🤖 **Android** | The `.apk` in Assets below (sideload), or [Google Play](https://play.google.com/store/apps/details?id=com.acedatacloud.nexior) |
| 📱 **iOS** | ${{ steps.meta.outputs.ios_url != '' && format('[App Store]({0})', steps.meta.outputs.ios_url) || 'TestFlight beta (coming soon)' }} |
| 🌐 **Web** | The `nexior-dist-*.tar.gz` below (self-host) |
> ⚠️ The desktop apps are currently an **unsigned beta**: on macOS, right-click → Open to bypass Gatekeeper; on Windows, click "Run anyway" on the SmartScreen prompt. They switch to signed builds automatically once the signing certificates are configured.
files: |
nexior-dist-${{ steps.meta.outputs.safe_tag }}.tar.gz
nexior-dist-${{ steps.meta.outputs.safe_tag }}.tar.gz.sha256