mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-10-26 10:42:52 +01:00
274 lines
6.7 KiB
YAML
274 lines
6.7 KiB
YAML
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
|
|
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 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 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 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: [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 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: [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 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: [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 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
|