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 push: 13 branches: [main] 14 paths: 15 - .github/workflows/native-component-list.yml 16 - apps/native-component-list/** 17 - packages/** 18 - yarn.lock 19 - '!packages/@expo/cli/**' 20 21concurrency: 22 group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} 23 cancel-in-progress: true 24 25jobs: 26 build: 27 runs-on: ubuntu-22.04 28 steps: 29 - name: Checkout 30 uses: actions/checkout@v3 31 with: 32 submodules: true 33 - name: ⬢ Setup Node 34 uses: actions/setup-node@v3 35 with: 36 node-version: 16 37 - name: ♻️ Restore caches 38 uses: ./.github/actions/expo-caches 39 id: expo-caches 40 with: 41 yarn-workspace: 'true' 42 yarn-tools: 'true' 43 - name: Install workspace node modules 44 if: steps.expo-caches.outputs.yarn-workspace-hit != 'true' 45 run: yarn install --frozen-lockfile 46 - name: Compile NCL sources 47 run: yarn tsc 48 working-directory: apps/native-component-list 49 - name: Lint NCL app 50 run: yarn lint --max-warnings 0 51 working-directory: apps/native-component-list 52 - name: Notify on Slack 53 uses: 8398a7/action-slack@v3 54 if: failure() && (github.event.ref == 'refs/heads/main') 55 env: 56 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 57 SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_api }} 58 with: 59 channel: '#expo-sdk' 60 status: ${{ job.status }} 61 fields: job,message,ref,eventName,author,took 62 author_name: Build Native Component List 63