Skip to content

ci: improve workflows #8

ci: improve workflows

ci: improve workflows #8

Workflow file for this run

name: Review
on:
push:
branches:
- main
pull_request:
branches:
- main
merge_group:
types:
- checks_requested
jobs:
lint:
name: Lint ESLint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
- name: Lint with ESLint
run: yarn lint:eslint
lint-tsc:
name: Lint TSC
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
- name: Lint with TSC
run: yarn lint:tsc
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
- name: Test with Jest
run: yarn test
codegen:
name: Codegen
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
- name: Codegen
run: yarn codegen
build-library:
name: Build Library
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
- name: Build Library
run: yarn prepack
build-expo-android:
name: Build Expo Android
needs: [lint, test, codegen, build-library]
uses: ./.github/workflows/build-expo-android.yml
build-expo-ios:
name: Build Expo iOS
needs: [lint, test, codegen, build-library]
uses: ./.github/workflows/build-expo-ios.yml
build-react-native-android:
name: Build React Native Android
needs: [lint, test, codegen, build-library]
uses: ./.github/workflows/build-react-native-android.yml
build-react-native-ios:
name: Build React Native iOS & Test with Detox
needs: [lint, test, codegen, build-library]
uses: ./.github/workflows/build-react-native-ios.yml
publish:
name: Publish
if: startsWith(github.ref, 'refs/tags/')
needs: [lint, test, codegen, build-library, build-react-native-android, build-react-native-ios]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup
with:
registry-url: https://registry.npmjs.org/
- name: Setup .yarnrc.yml
run: yarn config set npmAuthToken $NPM_AUTH_TOKEN
env:
NPM_AUTH_TOKEN: ${{ secrets.NPM_ORG_TOKEN }}
- name: Publish
run: yarn npm publish