Skip to content

Handle multiple sorts on records query #2566

Handle multiple sorts on records query

Handle multiple sorts on records query #2566

Workflow file for this run

name: CI
on:
push:
branches:
- develop
- main
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
install:
uses: ./.github/workflows/install.yml
setup-workspaces-list-name:
runs-on: ubuntu-latest
needs:
- install
outputs:
workspaces_name: ${{ steps.set-workspaces-list-name.outputs.workspaces_name }}
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 18.x
cache: 'yarn'
- name: Set workspaces list name
id: set-workspaces-list-name
run: echo "workspaces_name=$(yarn workspaces list --json | jq 'select(.location | contains("test-apps") | not)' | jq '.name' | jq -s | jq -c)" >> "$GITHUB_OUTPUT"
lint:
runs-on: ubuntu-latest
needs:
- install
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 18.x
cache: 'yarn'
- name: Cache NPM dependencies
uses: actions/cache@v4
with:
path: '**/node_modules'
key: ${{ runner.OS }}-yarn-${{ hashFiles('**/yarn.lock') }}
- run: yarn lint
tscheck:
runs-on: ubuntu-latest
needs:
- install
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 18.x
cache: 'yarn'
- name: Cache NPM dependencies
uses: actions/cache@v4
with:
path: '**/node_modules'
key: ${{ runner.OS }}-yarn-${{ hashFiles('**/yarn.lock') }}
- run: yarn tscheck
translations-check:
runs-on: ubuntu-latest
needs:
- install
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 18.x
cache: 'yarn'
- name: Cache NPM dependencies
uses: actions/cache@v4
with:
path: '**/node_modules'
key: ${{ runner.OS }}-yarn-${{ hashFiles('**/yarn.lock') }}
- run: yarn translations:check
workspace-unit-tests:
runs-on: ubuntu-latest
name: Workspace ${{ matrix.name }}
needs:
- setup-workspaces-list-name
- install
strategy:
fail-fast: false
matrix:
name: ${{ fromJson(needs.setup-workspaces-list-name.outputs.workspaces_name) }}
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 18.x
cache: 'yarn'
- name: Cache NPM dependencies
uses: actions/cache@v4
with:
path: '**/node_modules'
key: ${{ runner.OS }}-yarn-${{ hashFiles('**/yarn.lock') }}
- name: run workspace test
id: run-workspace-test
run: yarn workspace ${{ matrix.name }} run test:ci
e2e-api:
runs-on: ubuntu-latest
needs:
- install
services:
arangodb:
image: arangodb:3.12
env:
ARANGO_NO_AUTH: 1
ports:
- "8529:8529"
rabbitmq:
image: rabbitmq:3.13-management-alpine
ports:
- "5672:5672"
redis:
image: redis
ports:
- "6379:6379"
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 18.x
cache: 'yarn'
- name: Configure sysctl limits for ElasticSearch
run: |
sudo swapoff -a
sudo sysctl -w vm.swappiness=1
sudo sysctl -w fs.file-max=262144
sudo sysctl -w vm.max_map_count=262144
- name: Runs Elasticsearch
uses: elastic/elastic-github-actions/elasticsearch@master
with:
stack-version: 8.5.3
security-enabled: false
- name: Cache NPM dependencies
uses: actions/cache@v4
with:
path: '**/node_modules'
key: ${{ runner.OS }}-yarn-${{ hashFiles('**/yarn.lock') }}
- run: sudo apt-get update && sudo apt-get install -y libpoppler-dev libpoppler-cpp-dev libpoppler-private-dev poppler-utils
- name: Run e2e tests
working-directory: ./apps/core
run: yarn run test:e2e:api
env:
NODE_ENV: test
ARANGO_URL: 'http://root:@localhost:8529'
AUTH_KEY: 123456789
AMQP_HOST: localhost
AMQP_PORT: 5672
AMQP_USERNAME: guest
AMQP_PWD: guest
APP_ROOT_PATH: ${{ github.workspace }}/apps/core
ELASTICSEARCH_URL: "http://localhost:9200"
IMPORT_DIR: ${{ github.workspace }}/imports
DISK_CACHE_DIRECTORY: ${{ github.workspace }}/cache
FILES_ROOT_PATHS: files1:${{ github.workspace }}/files
REDIS_HOST: localhost
REDIS_PORT: 6379
e2e-indexation-manager:
runs-on: ubuntu-latest
needs:
- install
services:
arangodb:
image: arangodb:3.12
env:
ARANGO_NO_AUTH: 1
ports:
- "8529:8529"
rabbitmq:
image: rabbitmq:3.13-management-alpine
ports:
- "5672:5672"
redis:
image: redis
ports:
- "6379:6379"
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 18.x
cache: 'yarn'
- name: Configure sysctl limits for ElasticSearch
run: |
sudo swapoff -a
sudo sysctl -w vm.swappiness=1
sudo sysctl -w fs.file-max=262144
sudo sysctl -w vm.max_map_count=262144
- name: Runs Elasticsearch
uses: elastic/elastic-github-actions/elasticsearch@master
with:
stack-version: 8.5.3
security-enabled: false
- name: Cache NPM dependencies
uses: actions/cache@v4
with:
path: '**/node_modules'
key: ${{ runner.OS }}-yarn-${{ hashFiles('**/yarn.lock') }}
- run: sudo apt-get update && sudo apt-get install -y libpoppler-dev libpoppler-cpp-dev libpoppler-private-dev poppler-utils
- name: Run e2e tests
working-directory: ./apps/core
run: yarn run test:e2e:indexationManager
env:
NODE_ENV: test
ARANGO_URL: 'http://root:@localhost:8529'
AUTH_KEY: 123456789
AMQP_HOST: localhost
AMQP_PORT: 5672
AMQP_USERNAME: guest
AMQP_PWD: guest
APP_ROOT_PATH: .
ELASTICSEARCH_URL: "http://localhost:9200"
REDIS_HOST: localhost
REDIS_PORT: 6379
e2e-sync-scan:
timeout-minutes: 20
runs-on: ubuntu-latest
needs:
- install
services:
rabbitmq:
image: rabbitmq:3.13-management-alpine
ports:
- "5672:5672"
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 18.x
cache: 'yarn'
- name: Cache NPM dependencies
uses: actions/cache@v4
with:
path: '**/node_modules'
key: ${{ runner.OS }}-yarn-${{ hashFiles('**/yarn.lock') }}
- run: sudo apt-get update && sudo apt-get install -y libpoppler-dev libpoppler-cpp-dev libpoppler-private-dev poppler-utils
- name: Run e2e tests
working-directory: ./apps/sync-scan
run: yarn run test:e2e
env:
NODE_ENV: test
ALLOW_FILES_LIST: ""
IGNORE_FILES_LIST: ""
APP_ROOT_PATH: .
AMQP_HOST: localhost
AMQP_PORT: 5672
AMQP_USERNAME: guest
AMQP_PWD: guest