xref: /expo/.github/workflows/home.yml (revision 6eefacaa)
1name: Home app
2
3on:
4  workflow_dispatch: {}
5  pull_request:
6    paths:
7      - .github/workflows/home.yml
8      - home/**
9      - yarn.lock
10  push:
11    branches: [main, 'sdk-*']
12    paths:
13      - .github/workflows/home.yml
14      - home/**
15      - yarn.lock
16
17concurrency:
18  group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}
19  cancel-in-progress: true
20
21jobs:
22  build:
23    runs-on: ubuntu-22.04
24    steps:
25      - name: �� Checkout
26        uses: actions/checkout@v3
27        with:
28          submodules: true
29      - name: ⬢ Setup Node
30        uses: actions/setup-node@v3
31        with:
32          node-version: 16
33      - name: ♻️ Restore caches
34        uses: ./.github/actions/expo-caches
35        id: expo-caches
36        with:
37          yarn-workspace: 'true'
38      - name: �� Yarn install
39        if: steps.expo-caches.outputs.yarn-workspace-hit != 'true'
40        run: yarn install --frozen-lockfile
41      - name: �� Compile Home sources
42        run: yarn tsc
43        working-directory: home
44      - name: �� Run Home tests
45        run: yarn jest --maxWorkers 1
46        working-directory: home
47      - name: �� Lint Home app
48        run: yarn lint --max-warnings 0
49        working-directory: home
50      - name: �� Notify on Slack
51        uses: 8398a7/action-slack@v3
52        if: failure() && (github.event.ref == 'refs/heads/main' || startsWith(github.event.ref, 'refs/heads/sdk-'))
53        env:
54          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
55          SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_api }}
56        with:
57          channel: '#expo-sdk'
58          status: ${{ job.status }}
59          fields: job,message,ref,eventName,author,took
60          author_name: Home app
61