From 88b9b97e296ead4c40195b8d9fb27486158379d6 Mon Sep 17 00:00:00 2001 From: Roland Kakonyi Date: Tue, 19 Dec 2023 10:28:26 +0100 Subject: [PATCH] chore: split away typescript related CI checks --- .github/workflows/ci-typescript.yml | 118 ++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 .github/workflows/ci-typescript.yml diff --git a/.github/workflows/ci-typescript.yml b/.github/workflows/ci-typescript.yml new file mode 100644 index 00000000..290dc9fd --- /dev/null +++ b/.github/workflows/ci-typescript.yml @@ -0,0 +1,118 @@ +name: CI (TypeScript) + +on: + pull_request: + paths: + - '.github/workflows/ci-typescript.yml' + - '**.ts' + - '**.tsx' + - '**.js' + - '**.json' + - '**package.json' + - '.eslint*' + - '*prettier*' + - '**babel.config.js' + - 'tsconfig.json' + - 'typedoc.json' + - '**yarn.lock' + - '**react-native.config.js' + - '**metro.config.js' + - '!*/android/**' + - '!*/ios/**' + + push: + branches: [development] + paths: + - '.github/workflows/ci-typescript.yml' + - '**.ts' + - '**.tsx' + - '**.js' + - '**.json' + - '**package.json' + - '.eslint*' + - '*prettier*' + - '**babel.config.js' + - 'tsconfig.json' + - 'typedoc.json' + - '**yarn.lock' + - '**react-native.config.js' + - '**metro.config.js' + - '!*/android/**' + - '!*/ios/**' + +concurrency: + group: ci-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + code-style-typescript: + name: Code style Typescript + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup node and npm registry + uses: actions/setup-node@v3 + with: + node-version: '16' + registry-url: 'https://registry.npmjs.org/' + cache: 'yarn' + + - name: Install node_modules + run: yarn install --frozen-lockfile + + - name: Lint Typescript + run: yarn lint + + test-build-typescript: + name: Build Typescript + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup node and npm registry + uses: actions/setup-node@v3 + with: + node-version: '16' + registry-url: 'https://registry.npmjs.org/' + cache: 'yarn' + + - name: Install node_modules + run: yarn install --frozen-lockfile + + - name: Install node_modules (example/) + run: yarn install --frozen-lockfile --cwd example + + - name: Install node_modules (integration_test/) + run: yarn install --frozen-lockfile --cwd integration_test + + - name: Compile TypeScript + run: yarn typescript + + test-build-docs: + name: Build API docs + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup node and npm registry + uses: actions/setup-node@v3 + with: + node-version: '16' + registry-url: 'https://registry.npmjs.org/' + cache: 'yarn' + + - name: Install node_modules + run: yarn install --frozen-lockfile + + - name: Install node_modules (example/) + run: yarn install --frozen-lockfile --cwd example + + - name: Install node_modules (integration_test/) + run: yarn install --frozen-lockfile --cwd integration_test + + - name: Build docs + run: yarn docs