name: Integration Test CI

on:
    push:
        branches: [master]
    pull_request:
        branches: [master, 'dependabot/*']

jobs:
    JavaScript:
        runs-on: ubuntu-latest
        env:
            APP: 'loading-icons-tester-js'
            WORKDIR: '/home/runner/work/react-loading-icons/react-loading-icons'

        steps:
            - uses: actions/checkout@v2
            - uses: actions/setup-node@v2-beta
              with:
                  node-version: '16'
                  check-latest: true

            - name: Create React App
              run: >-
                  npx create-react-app $APP &&
                  cd $APP &&
                  npm install react-loading-icons

            - name: Build latest icons
              run: >-
                  cd $WORKDIR &&
                  npm install --force &&
                  npm run build &&
                  npm link

            - name: Build with latest icons
              run: >-
                  cd $APP &&
                  npm link react-loading-icons &&
                  npm install &&
                  npm run build

    TypeScript:
        runs-on: ubuntu-latest
        env:
            APP: 'loading-icons-tester-ts'
            WORKDIR: '/home/runner/work/react-loading-icons/react-loading-icons'

        steps:
            - uses: actions/checkout@v2
            - uses: actions/setup-node@v2-beta
              with:
                  node-version: '16'
                  check-latest: true

            - name: Create React App
              run: >-
                  npx create-react-app $APP --template typescript &&
                  cd $APP &&
                  npm install react-loading-icons

            - name: Build latest icons
              run: >-
                  cd $WORKDIR &&
                  npm install --force &&
                  npm run build &&
                  npm link

            - name: Build app with latest icons
              run: >-
                  cd $APP &&
                  npm link react-loading-icons &&
                  npm install &&
                  npm run build