[pnpm] Fix CI attempt 5 (#10567)

This commit is contained in:
Samuel Newman
2026-05-20 19:33:02 +03:00
committed by GitHub
parent a2417e043e
commit 3d4ba946b3
6 changed files with 2612 additions and 323 deletions
+7 -12
View File
@@ -43,20 +43,15 @@ jobs:
- name: 🪛 Setup jq - name: 🪛 Setup jq
uses: dcarbone/install-jq-action@v2 uses: dcarbone/install-jq-action@v2
- name: Setup EAS CLI & local builds - name: Install dependencies
# note: can't do it via expo-github-action because we need to set the allow-build flag run: pnpm install --frozen-lockfile
run: pnpm -g --allow-build=dtrace-provider add eas-cli@latest eas-cli-local-build-plugin
- name: 🔨 Setup Expo CLI - name: 🔨 Setup Expo CLI
uses: expo/expo-github-action@main uses: expo/expo-github-action@main
with: with:
expo-version: latest expo-version: latest
packager: pnpm
token: ${{ secrets.EXPO_TOKEN }} token: ${{ secrets.EXPO_TOKEN }}
- name: ⚙️ Install dependencies
run: pnpm install --frozen-lockfile
- uses: actions/setup-java@v5 - uses: actions/setup-java@v5
with: with:
distribution: "temurin" distribution: "temurin"
@@ -92,7 +87,7 @@ jobs:
SENTRY_RELEASE=${{ steps.env.outputs.EXPO_PUBLIC_RELEASE_VERSION }} SENTRY_RELEASE=${{ steps.env.outputs.EXPO_PUBLIC_RELEASE_VERSION }}
SENTRY_DIST=${{ steps.env.outputs.EXPO_PUBLIC_BUNDLE_IDENTIFIER }} SENTRY_DIST=${{ steps.env.outputs.EXPO_PUBLIC_BUNDLE_IDENTIFIER }}
pnpm use-build-number-with-bump pnpm use-build-number-with-bump
eas build -p android pnpm eas build -p android
--profile $PROFILE --profile $PROFILE
--local --output build.aab --non-interactive --local --output build.aab --non-interactive
@@ -138,7 +133,7 @@ jobs:
webhook-type: incoming-webhook webhook-type: incoming-webhook
payload-templated: true 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 }}```"}
- name: 🔔 Notify Slack of Testflight Build - name: 🔔 Notify Slack of Testflight Build
if: ${{ inputs.profile != 'production' }} if: ${{ inputs.profile != 'production' }}
@@ -148,7 +143,7 @@ jobs:
webhook-type: incoming-webhook webhook-type: incoming-webhook
payload-templated: true 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 }}"}
- name: 🧹 Clear Metro cache - name: 🧹 Clear Metro cache
if: ${{ inputs.profile == 'production' }} if: ${{ inputs.profile == 'production' }}
@@ -162,7 +157,7 @@ jobs:
SENTRY_RELEASE=${{ steps.env.outputs.EXPO_PUBLIC_RELEASE_VERSION }} SENTRY_RELEASE=${{ steps.env.outputs.EXPO_PUBLIC_RELEASE_VERSION }}
SENTRY_DIST=${{ steps.env.outputs.EXPO_PUBLIC_BUNDLE_IDENTIFIER }} SENTRY_DIST=${{ steps.env.outputs.EXPO_PUBLIC_BUNDLE_IDENTIFIER }}
pnpm use-build-number-with-bump pnpm use-build-number-with-bump
eas build -p android pnpm eas build -p android
--profile production-apk --profile production-apk
--local --output build.apk --non-interactive --local --output build.apk --non-interactive
@@ -184,7 +179,7 @@ jobs:
webhook-type: incoming-webhook webhook-type: incoming-webhook
payload-templated: true 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 }}```"}
- name: ⬇️ Restore Cache - name: ⬇️ Restore Cache
id: get-base-commit id: get-base-commit
+5 -10
View File
@@ -43,20 +43,15 @@ jobs:
- name: 🪛 Setup jq - name: 🪛 Setup jq
uses: dcarbone/install-jq-action@v2 uses: dcarbone/install-jq-action@v2
- name: Setup EAS CLI & local builds - name: Install dependencies
# note: can't do it via expo-github-action because we need to set the allow-build flag run: pnpm install --frozen-lockfile
run: pnpm -g --allow-build=dtrace-provider add eas-cli@latest eas-cli-local-build-plugin
- name: 🔨 Setup Expo CLI - name: 🔨 Setup Expo CLI
uses: expo/expo-github-action@main uses: expo/expo-github-action@main
with: with:
expo-version: latest expo-version: latest
packager: pnpm
token: ${{ secrets.EXPO_TOKEN }} token: ${{ secrets.EXPO_TOKEN }}
- name: ⚙️ Install dependencies
run: pnpm install --frozen-lockfile
- uses: maxim-lobanov/setup-xcode@v1 - uses: maxim-lobanov/setup-xcode@v1
with: with:
xcode-version: "26.4" xcode-version: "26.4"
@@ -104,7 +99,7 @@ jobs:
SENTRY_RELEASE=${{ steps.env.outputs.EXPO_PUBLIC_RELEASE_VERSION }} SENTRY_RELEASE=${{ steps.env.outputs.EXPO_PUBLIC_RELEASE_VERSION }}
SENTRY_DIST=${{ steps.env.outputs.EXPO_PUBLIC_BUNDLE_IDENTIFIER }} SENTRY_DIST=${{ steps.env.outputs.EXPO_PUBLIC_BUNDLE_IDENTIFIER }}
pnpm use-build-number-with-bump pnpm use-build-number-with-bump
eas build -p ios pnpm eas build -p ios
--profile $PROFILE --profile $PROFILE
--local --output build.tar.gz --non-interactive --local --output build.tar.gz --non-interactive
@@ -144,7 +139,7 @@ jobs:
fi fi
- name: 🚀 Deploy - name: 🚀 Deploy
run: eas submit -p ios --non-interactive --path "$BUILD_DIR/Bluesky.ipa" run: pnpm eas submit -p ios --non-interactive --path "$BUILD_DIR/Bluesky.ipa"
- name: 🪲 Upload dSYM to Sentry - name: 🪲 Upload dSYM to Sentry
run: > run: >
@@ -165,7 +160,7 @@ jobs:
webhook-type: incoming-webhook webhook-type: incoming-webhook
payload-templated: true 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 }}```"}
- name: ⬇️ Restore Cache - name: ⬇️ Restore Cache
id: get-base-commit id: get-base-commit
+16 -36
View File
@@ -86,23 +86,17 @@ jobs:
- name: Type check - name: Type check
run: pnpm typecheck run: pnpm typecheck
- name: 🔨 Setup EAS
uses: expo/expo-github-action@main
if: ${{ !steps.fingerprint.outputs.includes-changes }}
with:
expo-version: latest
token: ${{ secrets.EXPO_TOKEN }}
- name: 🪛 Setup jq - name: 🪛 Setup jq
if: ${{ !steps.fingerprint.outputs.includes-changes }} if: ${{ !steps.fingerprint.outputs.includes-changes }}
uses: dcarbone/install-jq-action@v2 uses: dcarbone/install-jq-action@v2
- name: ⛏️ Setup EAS CLI & local builds
if: ${{ !steps.fingerprint.outputs.includes-changes }}
# note: can't do it via expo-github-action because we need to set the allow-build flag
run: pnpm -g --allow-build=dtrace-provider add eas-cli@latest eas-cli-local-build-plugin@latest
- name: 🔨 Setup Expo CLI
if: ${{ !steps.fingerprint.outputs.includes-changes }}
uses: expo/expo-github-action@main
with:
expo-version: latest
packager: pnpm
token: ${{ secrets.EXPO_TOKEN }}
# eas.json not used here, set EXPO_PUBLIC_ENV # eas.json not used here, set EXPO_PUBLIC_ENV
- name: Env - name: Env
env: env:
@@ -184,17 +178,10 @@ jobs:
node-version-file: .nvmrc node-version-file: .nvmrc
cache: pnpm cache: pnpm
- name: ⛏️ Setup EAS CLI & local builds - name: 🔨 Setup EAS
if: ${{ !steps.fingerprint.outputs.includes-changes }}
# note: can't do it via expo-github-action because we need to set the allow-build flag
run: pnpm -g --allow-build=dtrace-provider add eas-cli@latest eas-cli-local-build-plugin
- name: 🔨 Setup Expo CLI
if: ${{ !steps.fingerprint.outputs.includes-changes }}
uses: expo/expo-github-action@main uses: expo/expo-github-action@main
with: with:
expo-version: latest expo-version: latest
packager: pnpm
token: ${{ secrets.EXPO_TOKEN }} token: ${{ secrets.EXPO_TOKEN }}
- name: ⚙️ Install dependencies - name: ⚙️ Install dependencies
@@ -242,7 +229,7 @@ jobs:
SENTRY_RELEASE=${{ steps.env.outputs.EXPO_PUBLIC_RELEASE_VERSION }} SENTRY_RELEASE=${{ steps.env.outputs.EXPO_PUBLIC_RELEASE_VERSION }}
SENTRY_DIST=${{ steps.env.outputs.EXPO_PUBLIC_BUNDLE_IDENTIFIER }} SENTRY_DIST=${{ steps.env.outputs.EXPO_PUBLIC_BUNDLE_IDENTIFIER }}
pnpm use-build-number-with-bump pnpm use-build-number-with-bump
eas build -p ios pnpm eas build -p ios
--profile testflight --profile testflight
--local --output build.tar.gz --non-interactive --local --output build.tar.gz --non-interactive
@@ -282,7 +269,7 @@ jobs:
fi fi
- name: 🚀 Deploy - name: 🚀 Deploy
run: eas submit -p ios --non-interactive --path "$BUILD_DIR/Bluesky.ipa" run: pnpm eas submit -p ios --non-interactive --path "$BUILD_DIR/Bluesky.ipa"
- name: 🪲 Upload dSYM to Sentry - name: 🪲 Upload dSYM to Sentry
run: > run: >
@@ -337,27 +324,20 @@ jobs:
node-version-file: .nvmrc node-version-file: .nvmrc
cache: pnpm cache: pnpm
- name: ⛏️ Setup EAS CLI & local builds - name: 🔨 Setup EAS
if: ${{ !steps.fingerprint.outputs.includes-changes }}
# note: can't do it via expo-github-action because we need to set the allow-build flag
run: pnpm -g --allow-build=dtrace-provider add eas-cli@latest eas-cli-local-build-plugin
- name: 🔨 Setup Expo CLI
if: ${{ !steps.fingerprint.outputs.includes-changes }}
uses: expo/expo-github-action@main uses: expo/expo-github-action@main
with: with:
expo-version: latest expo-version: latest
packager: pnpm
token: ${{ secrets.EXPO_TOKEN }} token: ${{ secrets.EXPO_TOKEN }}
- name: ⚙️ Install dependencies
run: pnpm install --frozen-lockfile
- uses: actions/setup-java@v5 - uses: actions/setup-java@v5
with: with:
distribution: "temurin" distribution: "temurin"
java-version: "17" java-version: "17"
- name: ⚙️ Install dependencies
run: pnpm install --frozen-lockfile
- name: 🔤 Compile translations - name: 🔤 Compile translations
run: pnpm intl:build run: pnpm intl:build
@@ -383,7 +363,7 @@ jobs:
SENTRY_RELEASE=${{ steps.env.outputs.EXPO_PUBLIC_RELEASE_VERSION }} SENTRY_RELEASE=${{ steps.env.outputs.EXPO_PUBLIC_RELEASE_VERSION }}
SENTRY_DIST=${{ steps.env.outputs.EXPO_PUBLIC_BUNDLE_IDENTIFIER }} SENTRY_DIST=${{ steps.env.outputs.EXPO_PUBLIC_BUNDLE_IDENTIFIER }}
pnpm use-build-number-with-bump pnpm use-build-number-with-bump
eas build -p android pnpm eas build -p android
--profile testflight-android --profile testflight-android
--local --output build.apk --non-interactive --local --output build.apk --non-interactive
@@ -409,7 +389,7 @@ jobs:
webhook-type: incoming-webhook webhook-type: incoming-webhook
payload-templated: true 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 }}"}
- name: ⬇️ Restore Cache - name: ⬇️ Restore Cache
id: get-base-commit id: get-base-commit
+1 -6
View File
@@ -140,15 +140,10 @@ jobs:
- name: Type check - name: Type check
run: pnpm typecheck run: pnpm typecheck
- name: ⛏️ Setup EAS CLI & local builds - name: 🔨 Setup EAS
# note: can't do it via expo-github-action because we need to set the allow-build flag
run: pnpm -g --allow-build=dtrace-provider add eas-cli@latest eas-cli-local-build-plugin
- name: 🔨 Setup Expo CLI
uses: expo/expo-github-action@main uses: expo/expo-github-action@main
with: with:
expo-version: latest expo-version: latest
packager: pnpm
token: ${{ secrets.EXPO_TOKEN }} token: ${{ secrets.EXPO_TOKEN }}
- name: 🪛 Setup jq - name: 🪛 Setup jq
+2
View File
@@ -272,6 +272,8 @@
"babel-plugin-module-resolver": "^5.0.2", "babel-plugin-module-resolver": "^5.0.2",
"babel-plugin-react-compiler": "19.1.0-rc.3", "babel-plugin-react-compiler": "19.1.0-rc.3",
"babel-preset-expo": "~54.0.10", "babel-preset-expo": "~54.0.10",
"eas-cli": "^18.13.0",
"eas-cli-local-build-plugin": "^18.12.3",
"eslint": "^9.39.2", "eslint": "^9.39.2",
"eslint-import-resolver-typescript": "^4.4.4", "eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-bsky-internal": "link:eslint", "eslint-plugin-bsky-internal": "link:eslint",
+2581 -259
View File
File diff suppressed because it is too large Load Diff