mirror of
https://github.com/azerothcore/azerothcore-wotlk.git
synced 2025-11-10 12:24:22 +08:00
83 lines
2.3 KiB
YAML
83 lines
2.3 KiB
YAML
name: Dashboard CI
|
|
description: |
|
|
This workflow runs tests and builds for the AzerothCore dashboard.
|
|
It includes testing of bash scripts and integration testing of the AzerothCore server.
|
|
Do not remove this if something is broken here and you don't know how to fix it, ping Yehonal instead.
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- 'master'
|
|
pull_request:
|
|
types:
|
|
- opened
|
|
- reopened
|
|
- synchronize
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.head_ref }} || concat(${{ github.ref }}, ${{ github.workflow }})
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
CONTINUOUS_INTEGRATION: true
|
|
MYSQL_ROOT_PASSWORD: root
|
|
|
|
jobs:
|
|
test-bash-scripts:
|
|
name: Test Bash Scripts
|
|
runs-on: ubuntu-24.04
|
|
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- name: Install requirements
|
|
run: |
|
|
sudo apt install -y bats
|
|
./acore.sh install-deps
|
|
|
|
- name: Run bash script tests for ${{ matrix.test-module }}
|
|
env:
|
|
TERM: xterm-256color
|
|
run: |
|
|
cd apps/test-framework
|
|
./run-tests.sh --tap
|
|
|
|
build-and-test:
|
|
name: Build and Integration Test
|
|
runs-on: ubuntu-24.04
|
|
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- name: Configure AzerothCore settings
|
|
run: |
|
|
# Create basic configuration
|
|
cp conf/dist/config.sh conf/config.sh
|
|
# Configure dashboard
|
|
sed -i 's/MTHREADS=.*/MTHREADS="4"/' conf/config.sh
|
|
|
|
- name: Run complete installation (deps, compile, database, client-data)
|
|
run: |
|
|
# This runs: install-deps, compile, database setup, client-data download
|
|
./acore.sh init
|
|
timeout-minutes: 120
|
|
|
|
- name: Test authserver dry-run
|
|
run: |
|
|
cd env/dist/bin
|
|
timeout 5m ./authserver -dry-run
|
|
continue-on-error: false
|
|
|
|
- name: Test worldserver dry-run
|
|
run: |
|
|
cd env/dist/bin
|
|
timeout 5m ./worldserver -dry-run
|
|
continue-on-error: false
|