diff --git a/.github/workflows/build-and-push-bskyweb-aws.yaml b/.github/workflows/build-and-push-bskyweb-aws.yaml index 45ff55810b..660498fbd3 100644 --- a/.github/workflows/build-and-push-bskyweb-aws.yaml +++ b/.github/workflows/build-and-push-bskyweb-aws.yaml @@ -22,7 +22,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Docker buildx uses: docker/setup-buildx-action@v1 diff --git a/.github/workflows/build-and-push-bskyweb-ghcr.yaml b/.github/workflows/build-and-push-bskyweb-ghcr.yaml index 6a959be304..c7cec477e8 100644 --- a/.github/workflows/build-and-push-bskyweb-ghcr.yaml +++ b/.github/workflows/build-and-push-bskyweb-ghcr.yaml @@ -23,7 +23,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Docker buildx uses: docker/setup-buildx-action@v1 diff --git a/.github/workflows/build-and-push-embedr-aws.yaml b/.github/workflows/build-and-push-embedr-aws.yaml index fa1e8bd7dd..4eb1c550d9 100644 --- a/.github/workflows/build-and-push-embedr-aws.yaml +++ b/.github/workflows/build-and-push-embedr-aws.yaml @@ -22,7 +22,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Docker buildx uses: docker/setup-buildx-action@v1 diff --git a/.github/workflows/build-and-push-link-aws.yaml b/.github/workflows/build-and-push-link-aws.yaml index e89fc04401..f0825fd0c9 100644 --- a/.github/workflows/build-and-push-link-aws.yaml +++ b/.github/workflows/build-and-push-link-aws.yaml @@ -22,7 +22,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Docker buildx uses: docker/setup-buildx-action@v1 diff --git a/.github/workflows/build-and-push-ogcard-aws.yaml b/.github/workflows/build-and-push-ogcard-aws.yaml index f58400b44f..9bd14879c7 100644 --- a/.github/workflows/build-and-push-ogcard-aws.yaml +++ b/.github/workflows/build-and-push-ogcard-aws.yaml @@ -22,7 +22,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Docker buildx uses: docker/setup-buildx-action@v1 diff --git a/.github/workflows/build-submit-android.yml b/.github/workflows/build-submit-android.yml index 1e0f4ec95c..e47dc69f3a 100644 --- a/.github/workflows/build-submit-android.yml +++ b/.github/workflows/build-submit-android.yml @@ -28,11 +28,11 @@ jobs: fi - name: โฌ‡๏ธ Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 5 - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v6 - name: ๐Ÿ”ง Setup Node uses: actions/setup-node@v6 @@ -52,7 +52,7 @@ jobs: expo-version: latest token: ${{ secrets.EXPO_TOKEN }} - - uses: actions/setup-java@v4 + - uses: actions/setup-java@v5 with: distribution: "temurin" java-version: "17" @@ -104,7 +104,7 @@ jobs: - name: ๐Ÿš€ Upload Production Artifact id: upload-artifact-production if: ${{ inputs.profile == 'production' }} - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: retention-days: 30 compression-level: 6 @@ -114,7 +114,7 @@ jobs: - name: ๐Ÿš€ Upload Testflight Artifact id: upload-artifact-testflight if: ${{ inputs.profile != 'production' }} - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: retention-days: 30 compression-level: 6 @@ -127,27 +127,23 @@ jobs: - name: ๐Ÿ”” Notify Slack of Production Build if: ${{ inputs.profile == 'production' }} - uses: slackapi/slack-github-action@v1.25.0 + uses: slackapi/slack-github-action@v2.1.1 with: + webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} + webhook-type: incoming-webhook + payload-templated: true payload: | - { - "text": "Android production build for Google Play Store submission is ready!\n```Artifact: ${{ steps.upload-artifact-production.outputs.artifact-url }}\nVersion Number: ${{ steps.get-build-info.outputs.PACKAGE_VERSION }}\nBuild Number: ${{ steps.get-build-info.outputs.BSKY_ANDROID_VERSION_CODE }}```" - } - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} - SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK + text: Android production build for Google Play Store submission is ready!\n```Artifact: ${{ steps.upload-artifact-production.outputs.artifact-url }}\nVersion Number: ${{ steps.get-build-info.outputs.PACKAGE_VERSION }}\nBuild Number: ${{ steps.get-build-info.outputs.BSKY_ANDROID_VERSION_CODE }}``` - name: ๐Ÿ”” Notify Slack of Testflight Build if: ${{ inputs.profile != 'production' }} - uses: slackapi/slack-github-action@v1.25.0 + uses: slackapi/slack-github-action@v2.1.1 with: + webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} + webhook-type: incoming-webhook + payload-templated: true payload: | - { - "text": "Android build is ready for testing. Download the artifact here: ${{ steps.upload-artifact-testflight.outputs.artifact-url }}" - } - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} - SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK + text: Android build is ready for testing. Download the artifact here: ${{ steps.upload-artifact-testflight.outputs.artifact-url }} - name: ๐Ÿงน Clear Metro cache if: ${{ inputs.profile == 'production' }} @@ -168,7 +164,7 @@ jobs: - name: ๐Ÿš€ Upload Production APK Artifact id: upload-artifact-production-apk if: ${{ inputs.profile == 'production' }} - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: retention-days: 30 compression-level: 6 @@ -177,19 +173,17 @@ jobs: - name: ๐Ÿ”” Notify Slack of Production APK Build if: ${{ inputs.profile == 'production' }} - uses: slackapi/slack-github-action@v1.25.0 + uses: slackapi/slack-github-action@v2.1.1 with: + webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} + webhook-type: incoming-webhook + payload-templated: true payload: | - { - "text": "Android production build for GitHub/Obtanium is ready!\n```Artifact: ${{ steps.upload-artifact-production-apk.outputs.artifact-url }}\nVersion Number: ${{ steps.get-build-info.outputs.PACKAGE_VERSION }}\nBuild Number: ${{ steps.get-build-info.outputs.BSKY_ANDROID_VERSION_CODE }}```" - } - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} - SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK + text: Android production build for GitHub/Obtanium is ready!\n```Artifact: ${{ steps.upload-artifact-production-apk.outputs.artifact-url }}\nVersion Number: ${{ steps.get-build-info.outputs.PACKAGE_VERSION }}\nBuild Number: ${{ steps.get-build-info.outputs.BSKY_ANDROID_VERSION_CODE }}``` - name: โฌ‡๏ธ Restore Cache id: get-base-commit - uses: actions/cache@v4 + uses: actions/cache@v5 if: ${{ inputs.profile == 'testflight-android' }} with: path: most-recent-testflight-commit.txt diff --git a/.github/workflows/build-submit-ios.yml b/.github/workflows/build-submit-ios.yml index f420aaa60b..a82379b890 100644 --- a/.github/workflows/build-submit-ios.yml +++ b/.github/workflows/build-submit-ios.yml @@ -28,11 +28,11 @@ jobs: fi - name: โฌ‡๏ธ Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 5 - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v6 - name: ๐Ÿ”ง Setup Node uses: actions/setup-node@v6 @@ -62,7 +62,7 @@ jobs: version: 1.16.2 - name: ๐Ÿ’พ Cache Pods - uses: actions/cache@v4 + uses: actions/cache@v5 id: pods-cache with: path: ./ios/Pods @@ -154,19 +154,17 @@ jobs: - name: ๐Ÿ”” Notify Slack of Production Build if: ${{ inputs.profile == 'production' }} - uses: slackapi/slack-github-action@v1.25.0 + uses: slackapi/slack-github-action@v2.1.1 with: + webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} + webhook-type: incoming-webhook + payload-templated: true payload: | - { - "text": "iOS production build for App Store submission is ready!\n```Artifact: Check TestFlight to know when it is available\nVersion Number: ${{ steps.get-build-info.outputs.PACKAGE_VERSION }}\nBuild Number: ${{ steps.get-build-info.outputs.BSKY_IOS_BUILD_NUMBER }}```" - } - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} - SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK + text: iOS production build for App Store submission is ready!\n```Artifact: Check TestFlight to know when it is available\nVersion Number: ${{ steps.get-build-info.outputs.PACKAGE_VERSION }}\nBuild Number: ${{ steps.get-build-info.outputs.BSKY_IOS_BUILD_NUMBER }}``` - name: โฌ‡๏ธ Restore Cache id: get-base-commit - uses: actions/cache@v4 + uses: actions/cache@v5 if: ${{ inputs.profile == 'testflight' }} with: path: most-recent-testflight-commit.txt diff --git a/.github/workflows/bundle-deploy-eas-update.yml b/.github/workflows/bundle-deploy-eas-update.yml index 75903fefab..9a359f40fc 100644 --- a/.github/workflows/bundle-deploy-eas-update.yml +++ b/.github/workflows/bundle-deploy-eas-update.yml @@ -48,7 +48,7 @@ jobs: fi - name: โฌ‡๏ธ Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 @@ -56,7 +56,7 @@ jobs: if: ${{ github.ref != 'refs/heads/main' }} run: git fetch origin main:main --depth 100 - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v6 - name: ๐Ÿ”ง Setup Node uses: actions/setup-node@v6 @@ -142,7 +142,7 @@ jobs: - name: โฌ‡๏ธ Restore Cache id: get-base-commit - uses: actions/cache@v4 + uses: actions/cache@v5 if: ${{ !steps.fingerprint.outputs.includes-changes }} with: path: most-recent-testflight-commit.txt @@ -172,11 +172,11 @@ jobs: fi - name: โฌ‡๏ธ Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 5 - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v6 - name: ๐Ÿ”ง Setup Node uses: actions/setup-node@v6 @@ -208,7 +208,7 @@ jobs: version: 1.16.2 - name: ๐Ÿ’พ Cache Pods - uses: actions/cache@v4 + uses: actions/cache@v5 id: pods-cache with: path: ./ios/Pods @@ -291,7 +291,7 @@ jobs: - name: โฌ‡๏ธ Restore Cache id: get-base-commit - uses: actions/cache@v4 + uses: actions/cache@v5 if: ${{ inputs.channel == 'testflight' }} with: path: most-recent-testflight-commit.txt @@ -323,11 +323,11 @@ jobs: fi - name: โฌ‡๏ธ Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 5 - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v6 - name: ๐Ÿ”ง Setup Node uses: actions/setup-node@v6 @@ -346,7 +346,7 @@ jobs: - name: โ›๏ธ Setup EAS local builds run: pnpm add -g eas-cli-local-build-plugin - - uses: actions/setup-java@v4 + - uses: actions/setup-java@v5 with: distribution: "temurin" java-version: "17" @@ -391,7 +391,7 @@ jobs: - name: ๐Ÿš€ Upload Artifact id: upload-artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: retention-days: 30 compression-level: 0 @@ -399,19 +399,17 @@ jobs: path: build.apk - name: ๐Ÿ”” Notify Slack - uses: slackapi/slack-github-action@v1.25.0 + uses: slackapi/slack-github-action@v2.1.1 with: + webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} + webhook-type: incoming-webhook + payload-templated: true payload: | - { - "text": "Android build is ready for testing. Download the artifact here: ${{ steps.upload-artifact.outputs.artifact-url }}" - } - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} - SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK + text: Android build is ready for testing. Download the artifact here: ${{ steps.upload-artifact.outputs.artifact-url }} - name: โฌ‡๏ธ Restore Cache id: get-base-commit - uses: actions/cache@v4 + uses: actions/cache@v5 if: ${{ inputs.channel != 'testflight' && inputs.channel != 'production' }} with: path: most-recent-testflight-commit.txt diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml index cca7b91c52..df0d269666 100644 --- a/.github/workflows/claude.yml +++ b/.github/workflows/claude.yml @@ -26,7 +26,7 @@ jobs: actions: read # Required for Claude to read CI results on PRs steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 1 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index e8d9f9abba..f6bd69878d 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out Git repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Verify Node version pins match .nvmrc run: | set -euo pipefail @@ -41,7 +41,7 @@ jobs: v=$(grep -oE '"node":[[:space:]]*"[0-9]+\.[0-9]+\.[0-9]+"' eas.json | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | sort -u) check "eas.json" "$v" exit $rc - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v6 - name: Install node uses: actions/setup-node@v6 with: @@ -66,8 +66,8 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out Git repository - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 + uses: actions/checkout@v5 + - uses: pnpm/action-setup@v6 - name: Install node uses: actions/setup-node@v6 with: diff --git a/.github/workflows/nightly-update-source-languages.yaml b/.github/workflows/nightly-update-source-languages.yaml index 2903600267..053917fd77 100644 --- a/.github/workflows/nightly-update-source-languages.yaml +++ b/.github/workflows/nightly-update-source-languages.yaml @@ -16,10 +16,10 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: ssh-key: ${{secrets.GH_ACTION_DEPLOY_KEY}} - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v6 - name: Install node uses: actions/setup-node@v6 with: diff --git a/.github/workflows/pull-request-comment.yml b/.github/workflows/pull-request-comment.yml index 099aeea089..d705f19925 100644 --- a/.github/workflows/pull-request-comment.yml +++ b/.github/workflows/pull-request-comment.yml @@ -113,11 +113,11 @@ jobs: fi - name: โฌ‡๏ธ Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: ref: ${{ steps.pr-info.outputs.head-sha }} - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v6 - name: ๐Ÿ”ง Setup Node uses: actions/setup-node@v6 diff --git a/.github/workflows/pull-request-commit.yml b/.github/workflows/pull-request-commit.yml index 499b3ecff1..4df326cd2f 100644 --- a/.github/workflows/pull-request-commit.yml +++ b/.github/workflows/pull-request-commit.yml @@ -24,11 +24,11 @@ jobs: if: ${{ github.event.pull_request.head.repo.full_name == github.repository && github.event_name == 'pull_request'}} steps: - name: โฌ‡๏ธ Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v6 - name: ๐Ÿ”ง Setup Node uses: actions/setup-node@v6 @@ -68,7 +68,7 @@ jobs: - name: โฌ‡๏ธ Get base stats from cache id: get-base-stats - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: stats-base.json key: stats-base-${{ steps.base-commit.outputs.base-commit }} @@ -110,7 +110,7 @@ jobs: if: ${{ github.event.pull_request.head.repo.full_name == github.repository && github.event_name == 'pull_request'}} steps: - name: โฌ‡๏ธ Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 100 @@ -118,7 +118,7 @@ jobs: run: git fetch origin main:main --depth 100 if: github.event_name == 'pull_request' - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v6 - name: ๐Ÿ”ง Setup Node uses: actions/setup-node@v6 diff --git a/.github/workflows/sync-internal.yaml b/.github/workflows/sync-internal.yaml index b50d6bc512..562ce96bea 100644 --- a/.github/workflows/sync-internal.yaml +++ b/.github/workflows/sync-internal.yaml @@ -10,7 +10,7 @@ jobs: if: github.repository == 'bluesky-social/social-app' steps: - name: Checkout public repo - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Generate GitHub App Token diff --git a/.github/workflows/verify-pnpm-lock.yml b/.github/workflows/verify-pnpm-lock.yml index e5b7a7d1bb..366a4736a4 100644 --- a/.github/workflows/verify-pnpm-lock.yml +++ b/.github/workflows/verify-pnpm-lock.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out PR HEAD - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 @@ -21,7 +21,7 @@ jobs: BASE_REF: ${{ github.base_ref }} run: git fetch origin $BASE_REF --depth=1 - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v6 - name: Install node uses: actions/setup-node@v6 diff --git a/.husky/pre-commit b/.husky/pre-commit old mode 100644 new mode 100755