Update GitHub Actions to Node.js v24-compatible versions (#10539)

This commit is contained in:
DS Boyce
2026-05-19 11:06:46 -07:00
committed by GitHub
parent 2cee865f4a
commit b4054bf2a7
16 changed files with 70 additions and 80 deletions
@@ -22,7 +22,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Setup Docker buildx - name: Setup Docker buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v1
@@ -23,7 +23,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Setup Docker buildx - name: Setup Docker buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v1
@@ -22,7 +22,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Setup Docker buildx - name: Setup Docker buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v1
@@ -22,7 +22,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Setup Docker buildx - name: Setup Docker buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v1
@@ -22,7 +22,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Setup Docker buildx - name: Setup Docker buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v1
+22 -28
View File
@@ -28,11 +28,11 @@ jobs:
fi fi
- name: ⬇️ Checkout - name: ⬇️ Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
fetch-depth: 5 fetch-depth: 5
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v6
- name: 🔧 Setup Node - name: 🔧 Setup Node
uses: actions/setup-node@v6 uses: actions/setup-node@v6
@@ -52,7 +52,7 @@ jobs:
expo-version: latest expo-version: latest
token: ${{ secrets.EXPO_TOKEN }} token: ${{ secrets.EXPO_TOKEN }}
- uses: actions/setup-java@v4 - uses: actions/setup-java@v5
with: with:
distribution: "temurin" distribution: "temurin"
java-version: "17" java-version: "17"
@@ -104,7 +104,7 @@ jobs:
- name: 🚀 Upload Production Artifact - name: 🚀 Upload Production Artifact
id: upload-artifact-production id: upload-artifact-production
if: ${{ inputs.profile == 'production' }} if: ${{ inputs.profile == 'production' }}
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v7
with: with:
retention-days: 30 retention-days: 30
compression-level: 6 compression-level: 6
@@ -114,7 +114,7 @@ jobs:
- name: 🚀 Upload Testflight Artifact - name: 🚀 Upload Testflight Artifact
id: upload-artifact-testflight id: upload-artifact-testflight
if: ${{ inputs.profile != 'production' }} if: ${{ inputs.profile != 'production' }}
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v7
with: with:
retention-days: 30 retention-days: 30
compression-level: 6 compression-level: 6
@@ -127,27 +127,23 @@ jobs:
- name: 🔔 Notify Slack of Production Build - name: 🔔 Notify Slack of Production Build
if: ${{ inputs.profile == 'production' }} if: ${{ inputs.profile == 'production' }}
uses: slackapi/slack-github-action@v1.25.0 uses: slackapi/slack-github-action@v2.1.1
with: with:
webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }}
webhook-type: incoming-webhook
payload-templated: true
payload: | 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 }}```
"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
- name: 🔔 Notify Slack of Testflight Build - name: 🔔 Notify Slack of Testflight Build
if: ${{ inputs.profile != 'production' }} if: ${{ inputs.profile != 'production' }}
uses: slackapi/slack-github-action@v1.25.0 uses: slackapi/slack-github-action@v2.1.1
with: with:
webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }}
webhook-type: incoming-webhook
payload-templated: true
payload: | payload: |
{ text: Android build is ready for testing. Download the artifact here: ${{ steps.upload-artifact-testflight.outputs.artifact-url }}
"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
- name: 🧹 Clear Metro cache - name: 🧹 Clear Metro cache
if: ${{ inputs.profile == 'production' }} if: ${{ inputs.profile == 'production' }}
@@ -168,7 +164,7 @@ jobs:
- name: 🚀 Upload Production APK Artifact - name: 🚀 Upload Production APK Artifact
id: upload-artifact-production-apk id: upload-artifact-production-apk
if: ${{ inputs.profile == 'production' }} if: ${{ inputs.profile == 'production' }}
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v7
with: with:
retention-days: 30 retention-days: 30
compression-level: 6 compression-level: 6
@@ -177,19 +173,17 @@ jobs:
- name: 🔔 Notify Slack of Production APK Build - name: 🔔 Notify Slack of Production APK Build
if: ${{ inputs.profile == 'production' }} if: ${{ inputs.profile == 'production' }}
uses: slackapi/slack-github-action@v1.25.0 uses: slackapi/slack-github-action@v2.1.1
with: with:
webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }}
webhook-type: incoming-webhook
payload-templated: true
payload: | 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 }}```
"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
- name: ⬇️ Restore Cache - name: ⬇️ Restore Cache
id: get-base-commit id: get-base-commit
uses: actions/cache@v4 uses: actions/cache@v5
if: ${{ inputs.profile == 'testflight-android' }} if: ${{ inputs.profile == 'testflight-android' }}
with: with:
path: most-recent-testflight-commit.txt path: most-recent-testflight-commit.txt
+9 -11
View File
@@ -28,11 +28,11 @@ jobs:
fi fi
- name: ⬇️ Checkout - name: ⬇️ Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
fetch-depth: 5 fetch-depth: 5
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v6
- name: 🔧 Setup Node - name: 🔧 Setup Node
uses: actions/setup-node@v6 uses: actions/setup-node@v6
@@ -62,7 +62,7 @@ jobs:
version: 1.16.2 version: 1.16.2
- name: 💾 Cache Pods - name: 💾 Cache Pods
uses: actions/cache@v4 uses: actions/cache@v5
id: pods-cache id: pods-cache
with: with:
path: ./ios/Pods path: ./ios/Pods
@@ -154,19 +154,17 @@ jobs:
- name: 🔔 Notify Slack of Production Build - name: 🔔 Notify Slack of Production Build
if: ${{ inputs.profile == 'production' }} if: ${{ inputs.profile == 'production' }}
uses: slackapi/slack-github-action@v1.25.0 uses: slackapi/slack-github-action@v2.1.1
with: with:
webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }}
webhook-type: incoming-webhook
payload-templated: true
payload: | 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 }}```
"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
- name: ⬇️ Restore Cache - name: ⬇️ Restore Cache
id: get-base-commit id: get-base-commit
uses: actions/cache@v4 uses: actions/cache@v5
if: ${{ inputs.profile == 'testflight' }} if: ${{ inputs.profile == 'testflight' }}
with: with:
path: most-recent-testflight-commit.txt path: most-recent-testflight-commit.txt
+17 -19
View File
@@ -48,7 +48,7 @@ jobs:
fi fi
- name: ⬇️ Checkout - name: ⬇️ Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
fetch-depth: 0 fetch-depth: 0
@@ -56,7 +56,7 @@ jobs:
if: ${{ github.ref != 'refs/heads/main' }} if: ${{ github.ref != 'refs/heads/main' }}
run: git fetch origin main:main --depth 100 run: git fetch origin main:main --depth 100
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v6
- name: 🔧 Setup Node - name: 🔧 Setup Node
uses: actions/setup-node@v6 uses: actions/setup-node@v6
@@ -142,7 +142,7 @@ jobs:
- name: ⬇️ Restore Cache - name: ⬇️ Restore Cache
id: get-base-commit id: get-base-commit
uses: actions/cache@v4 uses: actions/cache@v5
if: ${{ !steps.fingerprint.outputs.includes-changes }} if: ${{ !steps.fingerprint.outputs.includes-changes }}
with: with:
path: most-recent-testflight-commit.txt path: most-recent-testflight-commit.txt
@@ -172,11 +172,11 @@ jobs:
fi fi
- name: ⬇️ Checkout - name: ⬇️ Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
fetch-depth: 5 fetch-depth: 5
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v6
- name: 🔧 Setup Node - name: 🔧 Setup Node
uses: actions/setup-node@v6 uses: actions/setup-node@v6
@@ -208,7 +208,7 @@ jobs:
version: 1.16.2 version: 1.16.2
- name: 💾 Cache Pods - name: 💾 Cache Pods
uses: actions/cache@v4 uses: actions/cache@v5
id: pods-cache id: pods-cache
with: with:
path: ./ios/Pods path: ./ios/Pods
@@ -291,7 +291,7 @@ jobs:
- name: ⬇️ Restore Cache - name: ⬇️ Restore Cache
id: get-base-commit id: get-base-commit
uses: actions/cache@v4 uses: actions/cache@v5
if: ${{ inputs.channel == 'testflight' }} if: ${{ inputs.channel == 'testflight' }}
with: with:
path: most-recent-testflight-commit.txt path: most-recent-testflight-commit.txt
@@ -323,11 +323,11 @@ jobs:
fi fi
- name: ⬇️ Checkout - name: ⬇️ Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
fetch-depth: 5 fetch-depth: 5
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v6
- name: 🔧 Setup Node - name: 🔧 Setup Node
uses: actions/setup-node@v6 uses: actions/setup-node@v6
@@ -346,7 +346,7 @@ jobs:
- name: ⛏️ Setup EAS local builds - name: ⛏️ Setup EAS local builds
run: pnpm add -g eas-cli-local-build-plugin run: pnpm add -g eas-cli-local-build-plugin
- uses: actions/setup-java@v4 - uses: actions/setup-java@v5
with: with:
distribution: "temurin" distribution: "temurin"
java-version: "17" java-version: "17"
@@ -391,7 +391,7 @@ jobs:
- name: 🚀 Upload Artifact - name: 🚀 Upload Artifact
id: upload-artifact id: upload-artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v7
with: with:
retention-days: 30 retention-days: 30
compression-level: 0 compression-level: 0
@@ -399,19 +399,17 @@ jobs:
path: build.apk path: build.apk
- name: 🔔 Notify Slack - name: 🔔 Notify Slack
uses: slackapi/slack-github-action@v1.25.0 uses: slackapi/slack-github-action@v2.1.1
with: with:
webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }}
webhook-type: incoming-webhook
payload-templated: true
payload: | payload: |
{ text: Android build is ready for testing. Download the artifact here: ${{ steps.upload-artifact.outputs.artifact-url }}
"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
- name: ⬇️ Restore Cache - name: ⬇️ Restore Cache
id: get-base-commit id: get-base-commit
uses: actions/cache@v4 uses: actions/cache@v5
if: ${{ inputs.channel != 'testflight' && inputs.channel != 'production' }} if: ${{ inputs.channel != 'testflight' && inputs.channel != 'production' }}
with: with:
path: most-recent-testflight-commit.txt path: most-recent-testflight-commit.txt
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
actions: read # Required for Claude to read CI results on PRs actions: read # Required for Claude to read CI results on PRs
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
fetch-depth: 1 fetch-depth: 1
+4 -4
View File
@@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out Git repository - name: Check out Git repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Verify Node version pins match .nvmrc - name: Verify Node version pins match .nvmrc
run: | run: |
set -euo pipefail 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) 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" check "eas.json" "$v"
exit $rc exit $rc
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v6
- name: Install node - name: Install node
uses: actions/setup-node@v6 uses: actions/setup-node@v6
with: with:
@@ -66,8 +66,8 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out Git repository - name: Check out Git repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v6
- name: Install node - name: Install node
uses: actions/setup-node@v6 uses: actions/setup-node@v6
with: with:
@@ -16,10 +16,10 @@ jobs:
steps: steps:
- name: Check out Git repository - name: Check out Git repository
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
ssh-key: ${{secrets.GH_ACTION_DEPLOY_KEY}} ssh-key: ${{secrets.GH_ACTION_DEPLOY_KEY}}
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v6
- name: Install node - name: Install node
uses: actions/setup-node@v6 uses: actions/setup-node@v6
with: with:
+2 -2
View File
@@ -113,11 +113,11 @@ jobs:
fi fi
- name: ⬇️ Checkout - name: ⬇️ Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
ref: ${{ steps.pr-info.outputs.head-sha }} ref: ${{ steps.pr-info.outputs.head-sha }}
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v6
- name: 🔧 Setup Node - name: 🔧 Setup Node
uses: actions/setup-node@v6 uses: actions/setup-node@v6
+5 -5
View File
@@ -24,11 +24,11 @@ jobs:
if: ${{ github.event.pull_request.head.repo.full_name == github.repository && github.event_name == 'pull_request'}} if: ${{ github.event.pull_request.head.repo.full_name == github.repository && github.event_name == 'pull_request'}}
steps: steps:
- name: ⬇️ Checkout - name: ⬇️ Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v6
- name: 🔧 Setup Node - name: 🔧 Setup Node
uses: actions/setup-node@v6 uses: actions/setup-node@v6
@@ -68,7 +68,7 @@ jobs:
- name: ⬇️ Get base stats from cache - name: ⬇️ Get base stats from cache
id: get-base-stats id: get-base-stats
uses: actions/cache@v4 uses: actions/cache@v5
with: with:
path: stats-base.json path: stats-base.json
key: stats-base-${{ steps.base-commit.outputs.base-commit }} 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'}} if: ${{ github.event.pull_request.head.repo.full_name == github.repository && github.event_name == 'pull_request'}}
steps: steps:
- name: ⬇️ Checkout - name: ⬇️ Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
fetch-depth: 100 fetch-depth: 100
@@ -118,7 +118,7 @@ jobs:
run: git fetch origin main:main --depth 100 run: git fetch origin main:main --depth 100
if: github.event_name == 'pull_request' if: github.event_name == 'pull_request'
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v6
- name: 🔧 Setup Node - name: 🔧 Setup Node
uses: actions/setup-node@v6 uses: actions/setup-node@v6
+1 -1
View File
@@ -10,7 +10,7 @@ jobs:
if: github.repository == 'bluesky-social/social-app' if: github.repository == 'bluesky-social/social-app'
steps: steps:
- name: Checkout public repo - name: Checkout public repo
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Generate GitHub App Token - name: Generate GitHub App Token
+2 -2
View File
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out PR HEAD - name: Check out PR HEAD
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
fetch-depth: 0 fetch-depth: 0
@@ -21,7 +21,7 @@ jobs:
BASE_REF: ${{ github.base_ref }} BASE_REF: ${{ github.base_ref }}
run: git fetch origin $BASE_REF --depth=1 run: git fetch origin $BASE_REF --depth=1
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v6
- name: Install node - name: Install node
uses: actions/setup-node@v6 uses: actions/setup-node@v6
Regular → Executable
View File