Production Deploy #8
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Production Deploy | |
on: | |
workflow_dispatch: | |
inputs: | |
publish_to_play_store: | |
required: false | |
default: false | |
description: Publish to Play Store? | |
type: boolean | |
release: | |
types: [ released ] | |
env: | |
SUPPLY_UPLOAD_MAX_RETRIES: 5 | |
jobs: | |
play_promote_production: | |
name: Play Publish Production | |
if: ${{ inputs.publish_to_play_store == true }} | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Configure Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc # v1.202.0 | |
with: | |
bundler-cache: false | |
# Create and set permissions for vendor directory | |
- name: Set up vendor directory | |
run: | | |
mkdir -p vendor/bundle | |
chmod -R 777 vendor/bundle | |
sudo chown -R $USER:$USER vendor/bundle | |
- name: Install Bundler | |
run: | | |
gem install bundler -v 2.5.18 | |
# Install gems with explicit permissions | |
- name: Bundle Install | |
run: | | |
bundle config set --local path 'vendor/bundle' | |
bundle config set --local deployment 'true' | |
bundle install --jobs 4 --retry 3 | |
- uses: ./.github/actions/inflate-secrets | |
name: Inflate Secrets | |
with: | |
keystore: ${{ secrets.ORIGINAL_KEYSTORE_FILE }} | |
google-services: ${{ secrets.GOOGLESERVICES }} | |
playstore-creds: ${{ secrets.PLAYSTORECREDS }} | |
firebase-creds: ${{ secrets.FIREBASECREDS }} | |
# Add permissions check before running fastlane | |
- name: Check Permissions | |
run: | | |
ls -la vendor/bundle | |
whoami | |
groups | |
- name: Promote Beta to Production Play Store | |
run: | | |
which ruby | |
ruby -v | |
which bundle | |
bundle -v | |
bundle exec which fastlane | |
bundle exec fastlane check_version |