Clarify build process env vars and ensure they are explicitly passed in
This commit is contained in:
@@ -27,12 +27,3 @@ EXPO_PUBLIC_SENTRY_DSN=
|
|||||||
|
|
||||||
# Bitdrift API key. If undefined, Bitdrift will be disabled.
|
# Bitdrift API key. If undefined, Bitdrift will be disabled.
|
||||||
EXPO_PUBLIC_BITDRIFT_API_KEY=
|
EXPO_PUBLIC_BITDRIFT_API_KEY=
|
||||||
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# CI and build related
|
|
||||||
#
|
|
||||||
#
|
|
||||||
|
|
||||||
# Sentry token used to authenticate source map uploads
|
|
||||||
SENTRY_AUTH_TOKEN=
|
|
||||||
|
|||||||
@@ -62,17 +62,25 @@ jobs:
|
|||||||
- name: Check for i18n compilation errors
|
- name: Check for i18n compilation errors
|
||||||
run: if grep -q "invalid syntax" "i18n.log"; then echo "\n\nFound compilation errors!\n\n" && exit 1; else echo "\n\nNo compilation errors!\n\n"; fi
|
run: if grep -q "invalid syntax" "i18n.log"; then echo "\n\nFound compilation errors!\n\n" && exit 1; else echo "\n\nNo compilation errors!\n\n"; fi
|
||||||
|
|
||||||
|
# EXPO_PUBLIC_ENV is handled in eas.json
|
||||||
- name: ✏️ Write environment variables
|
- name: ✏️ Write environment variables
|
||||||
run: |
|
run: |
|
||||||
export json='${{ secrets.GOOGLE_SERVICES_TOKEN }}'
|
export json='${{ secrets.GOOGLE_SERVICES_TOKEN }}'
|
||||||
echo "${{ secrets.ENV_TOKEN }}" > .env
|
echo "${{ secrets.ENV_TOKEN }}" > .env
|
||||||
echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$(git rev-parse --short HEAD)" >> .env
|
echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$(git rev-parse --short HEAD)" >> .env
|
||||||
echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env
|
echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env
|
||||||
|
echo "EXPO_PUBLIC_SENTRY_DSN=${{ secrets.SENTRY_DSN }}" >> .env
|
||||||
echo "EXPO_PUBLIC_BITDRIFT_API_KEY=${{ secrets.BITDRIFT_API_KEY }}" >> .env
|
echo "EXPO_PUBLIC_BITDRIFT_API_KEY=${{ secrets.BITDRIFT_API_KEY }}" >> .env
|
||||||
echo "$json" > google-services.json
|
echo "$json" > google-services.json
|
||||||
|
|
||||||
- name: 🏗️ EAS Build
|
- name: 🏗️ EAS Build
|
||||||
run: SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} EXPO_PUBLIC_SENTRY_DSN=${{ secrets.SENTRY_DSN }} yarn use-build-number-with-bump eas build -p android --profile ${{ inputs.profile || 'testflight-android' }} --local --output build.aab --non-interactive
|
run: >
|
||||||
|
SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||||
|
SENTRY_DIST=$(git rev-parse --short HEAD)
|
||||||
|
yarn use-build-number-with-bump
|
||||||
|
eas build -p android
|
||||||
|
--profile ${{ inputs.profile || 'testflight-android' }}
|
||||||
|
--local --output build.aab --non-interactive
|
||||||
|
|
||||||
- name: ✍️ Rename Testflight bundle
|
- name: ✍️ Rename Testflight bundle
|
||||||
if: ${{ inputs.profile != 'production' }}
|
if: ${{ inputs.profile != 'production' }}
|
||||||
@@ -134,7 +142,13 @@ jobs:
|
|||||||
|
|
||||||
- name: 🏗️ Build Production APK
|
- name: 🏗️ Build Production APK
|
||||||
if: ${{ inputs.profile == 'production' }}
|
if: ${{ inputs.profile == 'production' }}
|
||||||
run: SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} EXPO_PUBLIC_SENTRY_DSN=${{ secrets.SENTRY_DSN }} yarn use-build-number-with-bump eas build -p android --profile production-apk --local --output build.apk --non-interactive
|
run: >
|
||||||
|
SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||||
|
SENTRY_DIST=$(git rev-parse --short HEAD)
|
||||||
|
yarn use-build-number-with-bump
|
||||||
|
eas build -p android
|
||||||
|
--profile production-apk
|
||||||
|
--local --output build.apk --non-interactive
|
||||||
|
|
||||||
- name: 🚀 Upload Production APK Artifact
|
- name: 🚀 Upload Production APK Artifact
|
||||||
id: upload-artifact-production-apk
|
id: upload-artifact-production-apk
|
||||||
|
|||||||
@@ -75,16 +75,24 @@ jobs:
|
|||||||
- name: Check for i18n compilation errors
|
- name: Check for i18n compilation errors
|
||||||
run: if grep -q "invalid syntax" "i18n.log"; then echo "\n\nFound compilation errors!\n\n" && exit 1; else echo "\n\nNo compilation errors!\n\n"; fi
|
run: if grep -q "invalid syntax" "i18n.log"; then echo "\n\nFound compilation errors!\n\n" && exit 1; else echo "\n\nNo compilation errors!\n\n"; fi
|
||||||
|
|
||||||
|
# EXPO_PUBLIC_ENV is handled in eas.json
|
||||||
- name: ✏️ Write environment variables
|
- name: ✏️ Write environment variables
|
||||||
run: |
|
run: |
|
||||||
echo "${{ secrets.ENV_TOKEN }}" > .env
|
echo "${{ secrets.ENV_TOKEN }}" > .env
|
||||||
echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$(git rev-parse --short HEAD)" >> .env
|
echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$(git rev-parse --short HEAD)" >> .env
|
||||||
echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env
|
echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env
|
||||||
|
echo "EXPO_PUBLIC_SENTRY_DSN=${{ secrets.SENTRY_DSN }}" >> .env
|
||||||
echo "EXPO_PUBLIC_BITDRIFT_API_KEY=${{ secrets.BITDRIFT_API_KEY }}" >> .env
|
echo "EXPO_PUBLIC_BITDRIFT_API_KEY=${{ secrets.BITDRIFT_API_KEY }}" >> .env
|
||||||
echo "${{ secrets.GOOGLE_SERVICES_TOKEN }}" > google-services.json
|
echo "${{ secrets.GOOGLE_SERVICES_TOKEN }}" > google-services.json
|
||||||
|
|
||||||
- name: 🏗️ EAS Build
|
- name: 🏗️ EAS Build
|
||||||
run: SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} EXPO_PUBLIC_SENTRY_DSN=${{ secrets.SENTRY_DSN }} yarn use-build-number-with-bump eas build -p ios --profile ${{ inputs.profile || 'testflight' }} --local --output build.ipa --non-interactive
|
run: >
|
||||||
|
SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||||
|
SENTRY_DIST=$(git rev-parse --short HEAD)
|
||||||
|
yarn use-build-number-with-bump
|
||||||
|
eas build-p ios
|
||||||
|
--profile ${{ inputs.profile || 'testflight' }}
|
||||||
|
--local --output build.ipa --non-interactive
|
||||||
|
|
||||||
- name: 🚀 Deploy
|
- name: 🚀 Deploy
|
||||||
run: eas submit -p ios --non-interactive --path build.ipa
|
run: eas submit -p ios --non-interactive --path build.ipa
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ jobs:
|
|||||||
if: ${{ !steps.fingerprint.outputs.includes-changes }}
|
if: ${{ !steps.fingerprint.outputs.includes-changes }}
|
||||||
uses: dcarbone/install-jq-action@v2
|
uses: dcarbone/install-jq-action@v2
|
||||||
|
|
||||||
|
# EXPO_PUBLIC_ENV is handled in eas.json
|
||||||
- name: ✏️ Write environment variables
|
- name: ✏️ Write environment variables
|
||||||
if: ${{ !steps.fingerprint.outputs.includes-changes }}
|
if: ${{ !steps.fingerprint.outputs.includes-changes }}
|
||||||
run: |
|
run: |
|
||||||
@@ -108,12 +109,17 @@ jobs:
|
|||||||
echo "${{ secrets.ENV_TOKEN }}" > .env
|
echo "${{ secrets.ENV_TOKEN }}" > .env
|
||||||
echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$(git rev-parse --short HEAD)" >> .env
|
echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$(git rev-parse --short HEAD)" >> .env
|
||||||
echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env
|
echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env
|
||||||
|
echo "EXPO_PUBLIC_SENTRY_DSN=${{ secrets.SENTRY_DSN }}" >> .env
|
||||||
echo "EXPO_PUBLIC_BITDRIFT_API_KEY=${{ secrets.BITDRIFT_API_KEY }}" >> .env
|
echo "EXPO_PUBLIC_BITDRIFT_API_KEY=${{ secrets.BITDRIFT_API_KEY }}" >> .env
|
||||||
echo "$json" > google-services.json
|
echo "$json" > google-services.json
|
||||||
|
|
||||||
|
# TODO do we need EXPO_PUBLIC_ENV here?
|
||||||
- name: 🏗️ Create Bundle
|
- name: 🏗️ Create Bundle
|
||||||
if: ${{ !steps.fingerprint.outputs.includes-changes }}
|
if: ${{ !steps.fingerprint.outputs.includes-changes }}
|
||||||
run: SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} EXPO_PUBLIC_SENTRY_DSN=${{ secrets.SENTRY_DSN }} EXPO_PUBLIC_ENV="${{ inputs.channel || 'testflight' }}" yarn export
|
run: >
|
||||||
|
SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||||
|
SENTRY_DIST=$(git rev-parse --short HEAD)
|
||||||
|
yarn export
|
||||||
|
|
||||||
- name: 📦 Package Bundle and 🚀 Deploy
|
- name: 📦 Package Bundle and 🚀 Deploy
|
||||||
if: ${{ !steps.fingerprint.outputs.includes-changes }}
|
if: ${{ !steps.fingerprint.outputs.includes-changes }}
|
||||||
@@ -204,11 +210,18 @@ jobs:
|
|||||||
echo "${{ secrets.ENV_TOKEN }}" > .env
|
echo "${{ secrets.ENV_TOKEN }}" > .env
|
||||||
echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$(git rev-parse --short HEAD)" >> .env
|
echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$(git rev-parse --short HEAD)" >> .env
|
||||||
echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env
|
echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env
|
||||||
|
echo "EXPO_PUBLIC_SENTRY_DSN=${{ secrets.SENTRY_DSN }}" >> .env
|
||||||
echo "EXPO_PUBLIC_BITDRIFT_API_KEY=${{ secrets.BITDRIFT_API_KEY }}" >> .env
|
echo "EXPO_PUBLIC_BITDRIFT_API_KEY=${{ secrets.BITDRIFT_API_KEY }}" >> .env
|
||||||
echo "${{ secrets.GOOGLE_SERVICES_TOKEN }}" > google-services.json
|
echo "${{ secrets.GOOGLE_SERVICES_TOKEN }}" > google-services.json
|
||||||
|
|
||||||
- name: 🏗️ EAS Build
|
- name: 🏗️ EAS Build
|
||||||
run: yarn use-build-number-with-bump eas build -p ios --profile testflight --local --output build.ipa --non-interactive
|
run: >
|
||||||
|
SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||||
|
SENTRY_DIST=$(git rev-parse --short HEAD)
|
||||||
|
yarn use-build-number-with-bump
|
||||||
|
eas build -p ios
|
||||||
|
--profile testflight
|
||||||
|
--local --output build.ipa --non-interactive
|
||||||
|
|
||||||
- name: 🚀 Deploy
|
- name: 🚀 Deploy
|
||||||
run: eas submit -p ios --non-interactive --path build.ipa
|
run: eas submit -p ios --non-interactive --path build.ipa
|
||||||
@@ -282,11 +295,18 @@ jobs:
|
|||||||
echo "${{ secrets.ENV_TOKEN }}" > .env
|
echo "${{ secrets.ENV_TOKEN }}" > .env
|
||||||
echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$(git rev-parse --short HEAD)" >> .env
|
echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$(git rev-parse --short HEAD)" >> .env
|
||||||
echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env
|
echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env
|
||||||
|
echo "EXPO_PUBLIC_SENTRY_DSN=${{ secrets.SENTRY_DSN }}" >> .env
|
||||||
echo "EXPO_PUBLIC_BITDRIFT_API_KEY=${{ secrets.BITDRIFT_API_KEY }}" >> .env
|
echo "EXPO_PUBLIC_BITDRIFT_API_KEY=${{ secrets.BITDRIFT_API_KEY }}" >> .env
|
||||||
echo "$json" > google-services.json
|
echo "$json" > google-services.json
|
||||||
|
|
||||||
- name: 🏗️ EAS Build
|
- name: 🏗️ EAS Build
|
||||||
run: yarn use-build-number-with-bump eas build -p android --profile testflight-android --local --output build.apk --non-interactive
|
run: >
|
||||||
|
SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||||
|
SENTRY_DIST=$(git rev-parse --short HEAD)
|
||||||
|
yarn use-build-number-with-bump
|
||||||
|
eas build -p android
|
||||||
|
--profile testflight-android
|
||||||
|
--local --output build.apk --non-interactive
|
||||||
|
|
||||||
- name: ⏰ Get a timestamp
|
- name: ⏰ Get a timestamp
|
||||||
id: timestamp
|
id: timestamp
|
||||||
|
|||||||
+1
-2
@@ -62,12 +62,11 @@ RUN \. "$NVM_DIR/nvm.sh" && \
|
|||||||
echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$EXPO_PUBLIC_BUNDLE_IDENTIFIER" >> .env && \
|
echo "EXPO_PUBLIC_BUNDLE_IDENTIFIER=$EXPO_PUBLIC_BUNDLE_IDENTIFIER" >> .env && \
|
||||||
echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env && \
|
echo "EXPO_PUBLIC_BUNDLE_DATE=$(date -u +"%y%m%d%H")" >> .env && \
|
||||||
echo "EXPO_PUBLIC_SENTRY_DSN=$EXPO_PUBLIC_SENTRY_DSN" >> .env && \
|
echo "EXPO_PUBLIC_SENTRY_DSN=$EXPO_PUBLIC_SENTRY_DSN" >> .env && \
|
||||||
echo "SENTRY_AUTH_TOKEN=$SENTRY_AUTH_TOKEN" >> .env && \
|
|
||||||
npm install --global yarn && \
|
npm install --global yarn && \
|
||||||
yarn && \
|
yarn && \
|
||||||
yarn intl:build 2>&1 | tee i18n.log && \
|
yarn intl:build 2>&1 | tee i18n.log && \
|
||||||
if grep -q "invalid syntax" "i18n.log"; then echo "\n\nFound compilation errors!\n\n" && exit 1; else echo "\n\nNo compile errors!\n\n"; fi && \
|
if grep -q "invalid syntax" "i18n.log"; then echo "\n\nFound compilation errors!\n\n" && exit 1; else echo "\n\nNo compile errors!\n\n"; fi && \
|
||||||
yarn build-web
|
SENTRY_AUTH_TOKEN=$SENTRY_AUTH_TOKEN SENTRY_DIST=$EXPO_PUBLIC_BUNDLE_IDENTIFIER yarn build-web
|
||||||
|
|
||||||
# DEBUG
|
# DEBUG
|
||||||
RUN find ./bskyweb/static && find ./web-build/static
|
RUN find ./bskyweb/static && find ./web-build/static
|
||||||
|
|||||||
Reference in New Issue
Block a user