diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 014fa7a8a84..ec2eb2ca7e9 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -238,7 +238,6 @@ jobs: client_gen: timeout-minutes: 20 - runs-on: ubuntu-22.04 needs: - setup - specs @@ -251,6 +250,7 @@ jobs: strategy: fail-fast: false matrix: ${{ fromJSON(needs.setup.outputs.GEN_MATRIX) }} + runs-on: ${{ matrix.client.os }} env: ALGOLIA_APPLICATION_ID: ${{ secrets.ALGOLIA_APPLICATION_ID }} ALGOLIA_ADMIN_KEY: ${{ secrets.ALGOLIA_ADMIN_KEY }} diff --git a/scripts/.eslintrc.cjs b/scripts/.eslintrc.cjs index 0cb86820a29..8e7d5963279 100644 --- a/scripts/.eslintrc.cjs +++ b/scripts/.eslintrc.cjs @@ -42,6 +42,7 @@ module.exports = { ], '@typescript-eslint/sort-type-union-intersection-members': 0, 'no-param-reassign': 0, + complexity: 0, '@typescript-eslint/consistent-type-assertions': 0, }, }; diff --git a/scripts/ci/githubActions/createMatrix.ts b/scripts/ci/githubActions/createMatrix.ts index d741b121101..c174241dc47 100644 --- a/scripts/ci/githubActions/createMatrix.ts +++ b/scripts/ci/githubActions/createMatrix.ts @@ -85,6 +85,7 @@ async function createClientMatrix(baseBranch: string): Promise { const toRun = matrix[language].toRun.join(' '); let buildCommand = `yarn cli build clients ${language} ${toRun}`; + let os = ['ubuntu-22']; // some clients have specific files required for testing switch (language) { @@ -120,6 +121,9 @@ async function createClientMatrix(baseBranch: string): Promise { case 'swift': testsToStore = `${testsToStore} ${testsRootFolder}/Package.swift`; break; + case 'kotlin': + os = ['ubuntu-22', 'macos-latest']; + break; default: break; } @@ -133,6 +137,7 @@ async function createClientMatrix(baseBranch: string): Promise { testsToDelete, testsToStore, snippetsToStore, + os, }); } diff --git a/scripts/ci/githubActions/types.ts b/scripts/ci/githubActions/types.ts index 3fc5772db92..565a1d6cb2e 100644 --- a/scripts/ci/githubActions/types.ts +++ b/scripts/ci/githubActions/types.ts @@ -43,6 +43,10 @@ export type ClientMatrix = { * The snippets output path to store in the artifact. */ snippetsToStore: string; + /** + * The OS to run the CI on. + */ + os: string[]; }>; };