The makefile for the client is not as useful as a install script - Updated test action to install client deps. - Added new action to specifically test the install script for client
82 lines
2.0 KiB
YAML
82 lines
2.0 KiB
YAML
name: DRB Build Tests
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
env:
|
|
NODE_ENV: development
|
|
MONGO_INITDB_ROOT_USERNAME: admin
|
|
MONGO_INITDB_ROOT_PASSWORD: admin
|
|
MONGO_INITDB_DATABASE: drb
|
|
SERVER_PORT: 6000
|
|
MONGO_URL: "mongodb://mongodb:27017/drb"
|
|
DISCORD_CLIENT_ID: ${{ secrets.DISCORD_CLIENT_ID }}
|
|
TEST_CHANNEL_ID: ${{ secrets.TEST_CHANNEL_ID }}
|
|
TEST_GUILD_ID: ${{ secrets.TEST_GUILD_ID }}
|
|
EXPECTED_CLIENT_ID: ${{ secrets.EXPECTED_CLIENT_ID }}
|
|
PDAB_PORT: ${{ vars.PDAB_PORT }}
|
|
|
|
jobs:
|
|
drb_build_and_test:
|
|
runs-on: ubuntu-latest
|
|
|
|
services:
|
|
mongodb:
|
|
image: mongo:latest
|
|
ports:
|
|
- 27017:27017
|
|
options: >-
|
|
--health-cmd mongo
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
|
|
- name: Remove package-lock.json (Server)
|
|
working-directory: "./server"
|
|
run: rm package-lock.json
|
|
|
|
- name: Install Node-GYP (Server)
|
|
working-directory: "./server"
|
|
run: npm install -g node-gyp
|
|
|
|
- name: Install dependencies (Server)
|
|
working-directory: "./server"
|
|
run: npm install
|
|
|
|
- name: Remove package-lock.json (Client)
|
|
working-directory: "./client"
|
|
run: rm package-lock.json
|
|
|
|
- name: Install dependencies (Client)
|
|
working-directory: "./client"
|
|
run: npm install
|
|
|
|
- run: echo "Node has finished installing dependencies"
|
|
|
|
- name: Run Server tests
|
|
working-directory: "./server"
|
|
run: npm test
|
|
|
|
- name: Run Client tests
|
|
working-directory: "./client"
|
|
run: npm test
|
|
|
|
- run: echo "Completed the NPM tests"
|
|
|
|
- name: Start discord-radio-bot service
|
|
working-directory: "./client"
|
|
run: systemctl start discord-radio-bot.service |