on: push: tags: - 'v*' jobs: build: runs-on: macos-latest steps: - uses: actions/checkout@v4 - name: Set up ruby env uses: ruby/setup-ruby@v1 with: ruby-version: 3.2.1 bundler-cache: true - name: Install Flutter uses: subosito/flutter-action@v2 with: channel: stable flutter-version: 3.22.0 cache: true - name: Infer version number from git tag id: version env: REF_NAME: ${{ github.ref_name }} run: # remove the 'v' prefix from the tag name echo "BUILD_NAME=${REF_NAME//v}" >> $GITHUB_ENV - name: Load secrets id: load-secrets uses: hashicorp/vault-action@v3 with: url: https://api.hashicorp.com token: ${{ secrets.VAULT_TOKEN }} secrets: | secret/release GOOGLE_MAPS_API_KEY | GOOGLE_MAPS_API_KEY ; secret/release IOS_ASC_KEY_ID | IOS_ASC_KEY_ID ; secret/release IOS_ASC_ISSUER_ID | IOS_ASC_ISSUER_ID ; secret/release IOS_ASC_KEY_P8 | IOS_ASC_KEY_P8 ; secret/release IOS_MATCH_REPO_SSH_KEY_BASE64 | IOS_MATCH_REPO_SSH_KEY_BASE64 ; - name: Setup SSH key for match git repo run: echo "$MATCH_REPO_SSH_KEY" | base64 --decode > ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa env: MATCH_REPO_SSH_KEY: ${{ steps.load-secrets.outputs.IOS_MATCH_REPO_SSH_KEY_BASE64 }} - name: Install fastlane run: bundle install working-directory: ios - name: Run fastlane lane run: bundle exec fastlane deploy_release working-directory: ios env: BUILD_NUMBER: ${{ github.run_number }} # BUILD_NAME is implicitly available GOOGLE_MAPS_API_KEY: ${{ steps.load-secrets.outputs.GOOGLE_MAPS_API_KEY }} IOS_ASC_KEY_ID: ${{ GOOGLE_MAPS_API_KEY.IOS_ASC_KEY_ID }} IOS_ASC_ISSUER_ID: ${{ GOOGLE_MAPS_API_KEY.IOS_ASC_ISSUER_ID }} IOS_ASC_KEY_P8: ${{ GOOGLE_MAPS_API_KEY.IOS_ASC_KEY_P8 }}