chore: add husky, commitlint, and some eslint config #86
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: CI | |
on: | |
pull_request: | |
branches: ["*"] | |
push: | |
branches: ["main"] | |
merge_group: | |
# You can leverage Vercel Remote Caching with Turbo to speed up your builds | |
# @link https://turborepo.org/docs/core-concepts/remote-caching#remote-caching-on-vercel-builds | |
env: | |
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
TURBO_TEAM: ${{ secrets.TURBO_TEAM }} | |
jobs: | |
build-lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Setup pnpm | |
uses: pnpm/[email protected] | |
- name: Setup Node 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- name: Get pnpm store directory | |
id: pnpm-cache | |
run: | | |
echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT | |
- name: Setup pnpm cache | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: Install deps (with cache) | |
run: pnpm install | |
- name: Build, lint and type-check | |
run: pnpm turbo build lint typecheck | |
android-build: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./apps/expo | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Setup pnpm | |
uses: pnpm/[email protected] | |
- name: Setup Node 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- name: Setup EAS | |
uses: expo/expo-github-action@v8 | |
with: | |
eas-version: latest | |
packager: pnpm | |
token: ${{ secrets.EXPO_TOKEN }} | |
- name: Get pnpm store directory | |
id: pnpm-cache | |
run: | | |
echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT | |
- name: Setup pnpm cache | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: Install deps (with cache) | |
run: pnpm install | |
- name: 🚀 Build app | |
run: eas build --platform android --profile preview --non-interactive |