Skip to content

Merge pull request #152 from Crossbell-Box/develop #73

Merge pull request #152 from Crossbell-Box/develop

Merge pull request #152 from Crossbell-Box/develop #73

Workflow file for this run

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.productiona
echo "${{ secrets.ENV_FILE_STAGING }}" > .env.staging
- 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