tethys.backend/.gitea/workflows/ci.yaml
2023-05-09 15:08:40 +02:00

72 lines
2.6 KiB
YAML

# This workflow will do a clean install of node dependencies, build the source code and run tests
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: CI Pipeline
run-name: ${{ github.actor }} is running CI pipeline
# trigger build when pushing, or when creating a pull request
on: [push, pull_request]
jobs:
japa-tests:
# run build on latest ubuntu
runs-on: ubuntu-latest
services:
postgres:
image: postgres
env:
POSTGRES_USER: ProjectName
POSTGRES_PASSWORD: password
POSTGRES_DB: ProjectName-test
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
# this will check out the current branch (https://github.com/actions/checkout#Push-a-commit-using-the-built-in-token)
- name: Check out repository code
uses: actions/checkout@v3
# installing Node
- name: Use Node.js 16.x
uses: actions/setup-node@v1
with:
# this will use the latest Node 12 version
node-version: 16.x
# install dependencies using clean install to avoid package lock updates
# build the project if necessary
# - run: npm run build
# - run: cd build
- name: Install dependencies
run: npm ci
# - run: npm ci --omit=dev
# finally run the tests
# - run: npm test
- name: Run tests
run: node ace test
env:
DB_CONNECTION: pg
PG_HOST: postgres
PG_PORT: 5432
PG_USER: ProjectName
PG_PASSWORD: password
PG_DB_NAME: ProjectName-test
PORT: 3333
HOST: 0.0.0.0
APP_KEY: somefakekeythatis>16characters
NODE_ENV: test
ASSETS_DRIVER: fake
SESSION_DRIVER: memory
CACHE_VIEWS: false
DRIVE_DISK: local
# # Save coverage report in Coveralls
# - name: Coveralls
# uses: coverallsapp/github-action@master
# with:
# github-token: ${{ secrets.GITHUB_TOKEN }}