name: Test on: [push, pull_request] permissions: contents: read jobs: lint: runs-on: ubuntu-latest strategy: matrix: node-version: [21.x] steps: - uses: actions/checkout@v4 with: fetch-depth: 1 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - run: sudo apt-get -y install libkrb5-dev - run: cp config.json.example config.json - name: npm install run: | npm i env: CI: true NODE_ENV: test - run: npm run lint-no-fix apidoc: runs-on: ubuntu-latest strategy: matrix: node-version: [21.x] steps: - uses: actions/checkout@v4 with: fetch-depth: 1 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - run: sudo apt-get -y install libkrb5-dev - run: cp config.json.example config.json - name: npm install run: | npm i env: CI: true NODE_ENV: test - run: npm run apidoc sanity: runs-on: ubuntu-latest strategy: matrix: node-version: [21.x] steps: - uses: actions/checkout@v4 with: fetch-depth: 1 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - run: sudo apt-get -y install libkrb5-dev - run: cp config.json.example config.json - name: npm install run: | npm i env: CI: true NODE_ENV: test - run: npm run test:sanity common: runs-on: ubuntu-latest strategy: matrix: node-version: [21.x] steps: - uses: actions/checkout@v4 with: fetch-depth: 1 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - run: sudo apt-get -y install libkrb5-dev - run: cp config.json.example config.json - name: npm install run: | npm i env: CI: true NODE_ENV: test - run: npm run test:common content: runs-on: ubuntu-latest strategy: matrix: node-version: [21.x] steps: - uses: actions/checkout@v4 with: fetch-depth: 1 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - run: sudo apt-get -y install libkrb5-dev - run: cp config.json.example config.json - name: npm install run: | npm i env: CI: true NODE_ENV: test - run: npm run test:content api-unit: runs-on: ubuntu-latest strategy: matrix: node-version: [21.x] mongodb-version: [4.2] steps: - uses: actions/checkout@v4 with: fetch-depth: 1 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Start MongoDB ${{ matrix.mongodb-version }} Replica Set uses: supercharge/mongodb-github-action@1.3.0 with: mongodb-version: ${{ matrix.mongodb-version }} mongodb-replica-set: rs - run: sudo apt-get -y install libkrb5-dev - run: cp config.json.example config.json - name: npm install run: | npm i env: CI: true NODE_ENV: test - run: npm run test:api:unit env: REQUIRES_SERVER=true: true api-v3-integration: runs-on: ubuntu-latest strategy: matrix: node-version: [21.x] mongodb-version: [4.2] steps: - uses: actions/checkout@v4 with: fetch-depth: 1 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Start MongoDB ${{ matrix.mongodb-version }} Replica Set uses: supercharge/mongodb-github-action@1.3.0 with: mongodb-version: ${{ matrix.mongodb-version }} mongodb-replica-set: rs - run: sudo apt-get -y install libkrb5-dev - run: cp config.json.example config.json - name: npm install run: | npm i env: CI: true NODE_ENV: test - run: npm run test:api-v3:integration env: REQUIRES_SERVER=true: true api-v4-integration: runs-on: ubuntu-latest strategy: matrix: node-version: [21.x] mongodb-version: [4.2] steps: - uses: actions/checkout@v4 with: fetch-depth: 1 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Start MongoDB ${{ matrix.mongodb-version }} Replica Set uses: supercharge/mongodb-github-action@1.3.0 with: mongodb-version: ${{ matrix.mongodb-version }} mongodb-replica-set: rs - run: sudo apt-get -y install libkrb5-dev - run: cp config.json.example config.json - name: npm install run: | npm i env: CI: true NODE_ENV: test - run: npm run test:api-v4:integration env: REQUIRES_SERVER=true: true client-unit: runs-on: ubuntu-latest strategy: matrix: node-version: [21.x] steps: - uses: actions/checkout@v4 with: fetch-depth: 1 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - run: sudo apt-get -y install libkrb5-dev - run: cp config.json.example config.json - name: npm install run: | npm i env: CI: true NODE_ENV: test - run: npm run test:unit working-directory: ./website/client production-build: runs-on: ubuntu-latest strategy: matrix: node-version: [21.x] steps: - uses: actions/checkout@v4 with: fetch-depth: 1 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - run: sudo apt-get -y install libkrb5-dev - run: cp config.json.example config.json - name: npm install run: | npm install env: CI: true NODE_ENV: production