tangled mirror of catsky-🐱 Soothing soft social-app fork with all the niche toggles! (Unofficial); for issues and PRs please put them on github:NekoDrone/catsky-social

feat(ci): add catsky release (#14)

* feat: add catsky release

* feat(docs): explain workflows

* feat: add obtainium download

authored by turtlepaw.pds.witchcraft.syste… and committed by GitHub 0b7aa072 170fe754

Changed files
+86
.github
workflows
docs
+76
.github/workflows/catsky-release.yml
··· 1 + name: Release Catsky 2 + on: workflow_dispatch # could be weekly/etc or on a separate branch. 3 + 4 + jobs: 5 + build-android: 6 + name: Build Catsky for Android 7 + runs-on: ubuntu-latest 8 + outputs: 9 + apk-path: ${{ steps.upload-artifact.outputs.artifact-path }} 10 + steps: 11 + - uses: actions/checkout@v4 12 + 13 + - uses: actions/setup-node@v4 14 + with: 15 + node-version: 20 16 + cache: yarn 17 + 18 + - uses: actions/setup-java@v4 19 + with: 20 + java-version: 17 21 + distribution: temurin 22 + cache: gradle 23 + 24 + - uses: android-actions/setup-android@v3 25 + 26 + - uses: extractions/setup-just@v2 27 + 28 + - name: Install dependencies 29 + run: yarn install --frozen-lockfile 30 + 31 + - name: Copy example build settings 32 + run: | 33 + cp .env.example .env 34 + cp google-services.json.example google-services.json 35 + 36 + - name: Build APK 37 + run: just dist-build-android-gradle 38 + 39 + - name: Upload APK artifact 40 + id: upload-artifact 41 + uses: actions/upload-artifact@v4 42 + with: 43 + name: android 44 + path: android/app/build/outputs/apk/release/app-release.apk 45 + 46 + release: 47 + name: Create GitHub Release 48 + needs: build-android 49 + runs-on: ubuntu-latest 50 + steps: 51 + - name: Download APK artifact 52 + uses: actions/download-artifact@v4 53 + with: 54 + name: android 55 + path: . 56 + 57 + - name: Create GitHub Release 58 + id: create_release 59 + uses: actions/create-release@v1 60 + env: 61 + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 62 + with: 63 + tag_name: catsky-v${{ github.run_number }} 64 + release_name: Catsky v${{ github.run_number }} 65 + draft: false 66 + prerelease: false 67 + 68 + - name: Upload APK to Release 69 + uses: actions/upload-release-asset@v1 70 + env: 71 + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 72 + with: 73 + upload_url: ${{ steps.create_release.outputs.upload_url }} 74 + asset_path: ./app-release.apk 75 + asset_name: app-release.apk 76 + asset_content_type: application/vnd.android.package-archive
+4
README.md
··· 6 6 7 7 - **Web: bsky.app** 8 8 9 + <a href="https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://github.com/NekoDrone/catsky-social"> 10 + <img src="https://github.com/ImranR98/Obtainium/blob/main/assets/graphics/badge_obtainium.png?raw=true" 11 + alt="Get it on Obtainium" align="center" height="54" /></a> 12 + 9 13 ## Development Resources 10 14 11 15 This is a [React Native](https://reactnative.dev/) application, written in the TypeScript programming language. It builds on the `atproto` TypeScript packages (like [`@atproto/api`](https://www.npmjs.com/package/@atproto/api)), which are also open source, but in [a different git repository](https://github.com/bluesky-social/atproto).
+6
docs/android-builds.md
··· 1 + # Android CI builds 2 + 3 + Android builds are done via CI to avoid EAS (expo) and are published via releases to avoid artifact expiry and allow [obtainium](https://obtainium.imranr.dev/) to download and auto-update the app. 4 + 5 + - "Catsky build" is for testing/etc NOT for release as these artifacts will expiry and won't be pushed out to obtainium users 6 + - "Catsky release" is for production and will be pushed out to obtainium users and artifacts won't expire