Merge pull request #169 from Crossbell-Box/revert-166-fix/commit-area… #87
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: Release | |
on: | |
push: | |
branches: | |
- main | |
concurrency: ${{ github.workflow }}-${{ github.ref }} | |
jobs: | |
release: | |
name: Release | |
runs-on: macos-latest | |
permissions: | |
pull-requests: write | |
contents: write | |
steps: | |
- name: Check for EXPO_TOKEN | |
run: | | |
if [ -z "${{ secrets.EXPO_TOKEN }}" ]; then | |
echo "You must provide an EXPO_TOKEN secret linked to this project's Expo account in this repo's secrets. Learn more: https://docs.expo.dev/eas-update/github-actions" | |
exit 1 | |
fi | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Setup Node.js 16 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
cache: yarn | |
- name: Setup EAS | |
uses: expo/expo-github-action@v8 | |
with: | |
eas-version: latest | |
token: ${{ secrets.EXPO_TOKEN }} | |
- name: Create env file | |
run: | | |
echo "${{ secrets.ENV_FILE_COMMON }}" > .env.common | |
echo "${{ secrets.ENV_FILE_DEVELOPMENT }}" > .env.development | |
echo "${{ secrets.ENV_FILE_PRODUCTION }}" > .env.production | |
echo "${{ secrets.ENV_FILE_STAGING }}" > .env.staging | |
echo "${{ secrets.GOOGLE_SERVICES_DEVELOPMENT }}" > GOOGLE_SERVICES_DEVELOPMENT | |
echo "${{ secrets.GOOGLE_SERVICES_STAGING }}" > GOOGLE_SERVICES_STAGING | |
echo "${{ secrets.GOOGLE_SERVICES_PRODUCTION }}" > GOOGLE_SERVICES_PRODUCTION | |
- name: Install Dependencies | |
run: yarn | |
- name: Resolve release type | |
uses: actions/github-script@v6 | |
id: release-type | |
with: | |
result-encoding: string | |
script: | | |
const resolveReleaseType = require('./scripts/resolve-release-type.js') | |
const releaseType = await resolveReleaseType(); | |
return releaseType | |
- name: Bump Versions | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
uses: changesets/action@v1 | |
with: | |
version: yarn run release:version | |
publish: yarn run release:publish | |
commit: 'chore: update versions' | |
title: 'chore: update versions' | |
- name: Create Release Pull Request | |
env: | |
NODE_OPTIONS: --max_old_space_size=4096 | |
run: | | |
RELEASE_TYPE=${{ steps.release-type.outputs.result }} | |
echo "Release type: $RELEASE_TYPE" | |
if [ "$RELEASE_TYPE" == "patch" ]; then | |
yarn run update:preview | |
elif [ "$RELEASE_TYPE" == "minor" ] || [ "$RELEASE_TYPE" == "major" ]; then | |
yarn run build:preview -p all | |
else | |
echo "No release type detected" | |
fi |