Merge #1316 #1822
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: | |
pull_request: | |
push: | |
# trying and staging branches are for BORS config | |
branches: | |
- trying | |
- staging | |
- main | |
jobs: | |
cypress-autocomplete-client-run: | |
runs-on: ubuntu-latest | |
# Will not run if the event is a PR to bump-meilisearch-v* (so a pre-release PR) | |
# Will not run if the event is a PR to pre-release-beta/* | |
# Will not run if the event is a PR to prototype-beta/* | |
# Will not run if the event is a push on pre-release-beta/* | |
# Will still run for each push to bump-meilisearch-v* and prototype-beta/* | |
if: | | |
github.event_name != 'pull_request' || | |
!startsWith(github.base_ref, 'bump-meilisearch-v') && | |
!startsWith(github.base_ref, 'pre-release-beta/') && | |
!startsWith(github.base_ref, 'prototype-beta/') && | |
!startsWith(github.head_ref, 'pre-release-beta/') | |
services: | |
meilisearch: | |
image: getmeili/meilisearch:latest | |
env: | |
MEILI_MASTER_KEY: 'masterKey' | |
MEILI_NO_ANALYTICS: 'true' | |
ports: | |
- '7700:7700' | |
name: autocomplete-client end-to-end-tests | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: yarn | |
- name: Install dependencies | |
run: yarn | |
- name: Run local browser tests | |
uses: cypress-io/github-action@v6 | |
with: | |
project: ./playgrounds/autocomplete | |
wait-on: 'http://localhost:7700' | |
# Tests are only done on one playground to avoid long testing time | |
start: yarn playground:autocomplete | |
env: playground=local | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: cypress-screenshots | |
path: cypress/screenshots | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: cypress-videos | |
path: cypress/videos | |
cypress-instant-meilisearch-run: | |
runs-on: ubuntu-latest | |
# Will not run if the event is a PR to bump-meilisearch-v* (so a pre-release PR) | |
# Will not run if the event is a PR to pre-release-beta/* | |
# Will not run if the event is a PR to prototype-beta/* | |
# Will not run if the event is a push on pre-release-beta/* | |
# Will still run for each push to bump-meilisearch-v* and prototype-beta/* | |
if: | | |
github.event_name != 'pull_request' || | |
!startsWith(github.base_ref, 'bump-meilisearch-v') && | |
!startsWith(github.base_ref, 'pre-release-beta/') && | |
!startsWith(github.base_ref, 'prototype-beta/') && | |
!startsWith(github.head_ref, 'pre-release-beta/') | |
services: | |
meilisearch: | |
image: getmeili/meilisearch:latest | |
env: | |
MEILI_MASTER_KEY: 'masterKey' | |
MEILI_NO_ANALYTICS: 'true' | |
ports: | |
- '7700:7700' | |
name: instant-meilisearch end-to-end-tests | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: yarn | |
- name: Install dependencies | |
run: yarn | |
- name: Run local browser tests | |
uses: cypress-io/github-action@v6 | |
with: | |
project: ./playgrounds/local-react | |
wait-on: 'http://localhost:7700' | |
# Tests are only done on one playground to avoid long testing time | |
start: yarn playground:local-react | |
env: playground=local | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: cypress-screenshots | |
path: cypress/screenshots | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: cypress-videos | |
path: cypress/videos | |
integration_tests: | |
# Will not run if the event is a PR to bump-meilisearch-v* (so a pre-release PR) | |
# Will not run if the event is a PR to pre-release-beta/* | |
# Will not run if the event is a PR to prototype-beta/* | |
# Will not run if the event is a push on pre-release-beta/* | |
# Will still run for each push to bump-meilisearch-v* and prototype-beta/* | |
if: | | |
github.event_name != 'pull_request' || | |
!startsWith(github.base_ref, 'bump-meilisearch-v') && | |
!startsWith(github.base_ref, 'pre-release-beta/') && | |
!startsWith(github.base_ref, 'prototype-beta/') && | |
!startsWith(github.head_ref, 'pre-release-beta/') | |
runs-on: ubuntu-latest | |
services: | |
meilisearch: | |
image: getmeili/meilisearch:latest | |
env: | |
MEILI_MASTER_KEY: 'masterKey' | |
MEILI_NO_ANALYTICS: 'true' | |
ports: | |
- '7700:7700' | |
strategy: | |
fail-fast: false | |
matrix: | |
node: ['18', '20'] | |
name: integration-tests (Node.js ${{ matrix.node }}) | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
cache: yarn | |
node-version: ${{ matrix.node }} | |
- name: Install dependencies | |
run: yarn install | |
- name: Run tests | |
run: yarn test | |
- name: Build all the playgrounds and the packages | |
run: yarn build | |
- name: Run the node playground | |
run: yarn playground:node | |
style_tests: | |
name: style-check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: yarn | |
- name: Install dependencies | |
run: yarn install | |
- name: Tests style | |
run: yarn lint | |
- name: Yaml Style | |
uses: ibiqlik/action-yamllint@v3 | |
with: | |
config_file: .yamllint.yml | |
types_tests: | |
runs-on: ubuntu-latest | |
name: types-check | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: yarn | |
- name: Install dependencies | |
run: yarn | |
- name: Run types check | |
run: yarn test:types |