diff options
author | Yehonal <yehonal.azeroth@gmail.com> | 2025-07-01 15:35:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-01 15:35:54 +0200 |
commit | e1b2689c3a2b1395323d2fc58588b1e1b3c07c53 (patch) | |
tree | f36a888ec1fef286ac59607c8a513668286e4065 /.github | |
parent | d3130f0d39064d03bed969c7bc135ebb6066442f (diff) |
feat(bash): startup-scripts reworked + bash scripts workflow integration (#22401)
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/dashboard-ci.yml | 82 |
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 |