1name: Native Component List app
2
3on:
4  workflow_dispatch: {}
5  pull_request:
6    paths:
7      - .github/workflows/native-component-list.yml
8      - apps/native-component-list/**
9      - packages/**
10      - yarn.lock
11      - '!packages/expo/cli/**'
12      - '!packages/expo/bin/**'
13      - '!packages/expo/e2e/**'
14  push:
15    branches: [main]
16    paths:
17      - .github/workflows/native-component-list.yml
18      - apps/native-component-list/**
19      - packages/**
20      - yarn.lock
21      - '!packages/expo/cli/**'
22      - '!packages/expo/bin/**'
23      - '!packages/expo/e2e/**'
24
25concurrency:
26  group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}
27  cancel-in-progress: true
28
29jobs:
30  build:
31    runs-on: ubuntu-18.04
32    steps:
33      - uses: actions/checkout@v2
34        with:
35          submodules: true
36      - uses: actions/setup-node@v2
37        with:
38          node-version: '14.17'
39      - name: Get yarn cache directory path
40        id: yarn-cache-dir-path
41        run: echo "::set-output name=dir::$(yarn cache dir)"
42      - uses: actions/cache@v2
43        with:
44          path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
45          key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
46          restore-keys: |
47            ${{ runner.os }}-yarn-
48      - run: yarn install --frozen-lockfile
49      - run: yarn tsc
50        working-directory: apps/native-component-list
51      - run: yarn lint --max-warnings 0
52        working-directory: apps/native-component-list
53      - name: �� Notify on Slack
54        uses: 8398a7/action-slack@v3
55        if: failure() && (github.event.ref == 'refs/heads/main')
56        env:
57          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
58          SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_api }}
59        with:
60          channel: '#expo-sdk'
61          status: ${{ job.status }}
62          fields: job,message,ref,eventName,author,took
63          author_name: Build Native Component List
64