name: Test on: push: branches-ignore: - 'phillip/**' - 'sabrecat/**' - 'kalista/**' - 'natalie/**' 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 update - run: sudo apt -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 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 update - run: sudo apt -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 update - run: sudo apt -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 update - run: sudo apt -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: [7.0] 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.11.0 with: mongodb-version: ${{ matrix.mongodb-version }} mongodb-replica-set: rs - run: sudo apt update - run: sudo apt -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: [7.0] 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.11.0 with: mongodb-version: ${{ matrix.mongodb-version }} mongodb-replica-set: rs - run: sudo apt update - run: sudo apt -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: [7.0] 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.11.0 with: mongodb-version: ${{ matrix.mongodb-version }} mongodb-replica-set: rs - run: sudo apt update - run: sudo apt -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 update - run: sudo apt -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 update - run: sudo apt -y install libkrb5-dev - run: cp config.json.example config.json - name: npm install run: | npm install env: CI: true NODE_ENV: production