Skip to content

Merge #1332

Merge #1332 #1879

Workflow file for this run

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