summaryrefslogtreecommitdiff
path: root/.github/workflows/dashboard-ci.yml
diff options
context:
space:
mode:
authorYehonal <yehonal.azeroth@gmail.com>2025-07-01 15:35:54 +0200
committerGitHub <noreply@github.com>2025-07-01 15:35:54 +0200
commite1b2689c3a2b1395323d2fc58588b1e1b3c07c53 (patch)
treef36a888ec1fef286ac59607c8a513668286e4065 /.github/workflows/dashboard-ci.yml
parentd3130f0d39064d03bed969c7bc135ebb6066442f (diff)
feat(bash): startup-scripts reworked + bash scripts workflow integration (#22401)
Diffstat (limited to '.github/workflows/dashboard-ci.yml')
-rw-r--r--.github/workflows/dashboard-ci.yml82
1 files changed, 82 insertions, 0 deletions
diff --git a/.github/workflows/dashboard-ci.yml b/.github/workflows/dashboard-ci.yml
new file mode 100644
index 0000000000..5e56cb1c87
--- /dev/null
+++ b/.github/workflows/dashboard-ci.yml
@@ -0,0 +1,82 @@
+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