Bluesky app fork with some witchin' additions 💫
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

add build workflow

e

+50 -27
+50 -27
.tangled/workflows/build-android.yml
··· 1 1 when: 2 - - event: ["manual"] 3 - branch: ["main"] 2 + - event: ["push", "manual"] 3 + tag: ["latest"] 4 4 5 5 engine: "nixery" 6 6 7 7 dependencies: 8 8 nixpkgs: 9 9 - nodejs-slim_20 10 - - yarn 11 - - temurin-jre-bin-17 10 + - pnpm 11 + - javapackages.compiler.temurin-bin.jdk-17 12 12 - gradle 13 - - androidenv.androidPkgs.ndk-bundle 14 - - justbuild 13 + - just 14 + - findutils 15 + github:tadfisher/android-nixpkgs: 16 + - cmdline-tools-latest 17 + - build-tools-37-0-0 18 + - platform-tools 19 + - platforms-android-37-0 20 + - ndk-30-0-14904198 21 + 22 + environment: 23 + NODE_ENV: "production" 24 + EXPO_PUBLIC_ENV: "production" 25 + REPO_RKEY: "3mgbgng5sgv22" 26 + NIXPKGS_ALLOW_UNFREE: "1" 15 27 16 28 steps: 17 - - name: Install dependencies 18 - command: "yarn install --frozen-lockfile" 29 + - name: install npm dependencies 30 + command: "pnpm i --frozen-lockfile" 19 31 20 - - name: Copy example build settings 21 - command: | 22 - cp .env.example .env 23 - cp google-services.json.example google-services.json 32 + - name: copy google-services.json 33 + command: "cp google-services.json.example google-services.json" 24 34 25 - - name: Build 35 + - name: build app 26 36 command: "just dist-build-android-gradle" 27 37 28 - - name: Rename APK 38 + - name: install goat 39 + command: "go install github.com/bluesky-social/goat@latest" 40 + 41 + - name: upload apk as tangled artifact 29 42 command: | 30 - mv android/app/build/outputs/apk/release/app-release.apk android/app/build/outputs/apk/release/witchsky-v${{ github.run_number }}.apk 43 + export REPO_URL="at://${TANGLED_REPO_DID}/sh.tangled.repo/${REPO_RKEY}" 44 + export TAG_BYTES=$(git rev-parse "latest"^{tag} | xxd -r -p | base64 | tr -d '=') 31 45 32 - - name: Upload artifact 33 - uses: actions/upload-artifact@v4 34 - with: 35 - name: android 36 - path: android/app/build/outputs/apk/release/witchsky-v${{ github.run_number }}.apk 46 + goat account login -u "${TANGLED_REPO_DID}" -p "${APP_PASSWORD}" 37 47 38 - - name: Publish release 39 - uses: softprops/action-gh-release@v2 40 - if: github.ref == 'refs/heads/main' 41 - with: 42 - name: Witchsky v${{ github.run_number }} 43 - tag_name: witchsky-v${{ github.run_number }} 44 - files: android/app/build/outputs/apk/release/witchsky-v${{ github.run_number }}.apk 48 + export BLOB_JSON=$(goat blob upload android/app/build/outputs/apk/release/app-release.apk) 49 + echo "$BLOB_JSON" 50 + 51 + cat > artifact.json <<-EOF 52 + { 53 + "$type": "sh.tangled.repo.artifact", 54 + "artifact": ${BLOB_JSON}, 55 + "createdAt": "$(date -Iseconds)", 56 + "name": "app-release.apk", 57 + "repo": "at://${TANGLED_REPO_DID}/sh.tangled.repo/${REPO_RKEY}", 58 + "repoDid": "did:plc:jxyet52fsuehatdast6y3zus", 59 + "tag": { 60 + "$bytes": "${TAG_BYTES}" 61 + } 62 + } 63 + EOF 64 + cat artifact.json 65 + 66 + goat record delete --collection sh.tangled.repo.artifact --rkey witchsky-latest-apk 67 + goat record create --rkey witchsky-latest-apk artifact.json