name: core-modules-build on: push: branches: - 'master' pull_request: types: ['labeled', 'opened', 'synchronize', 'reopened'] concurrency: group: ${{ github.head_ref }} || concat(${{ github.ref }}, ${{ github.workflow }}) cancel-in-progress: true jobs: build-modules: strategy: fail-fast: false matrix: # the result of the matrix will be the combination of all attributes, so we get os*compiler*modules builds os: [ubuntu-20.04] compiler: [clang] modules: [with] runs-on: ${{ matrix.os }} name: ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.modules }}-modules env: COMPILER: ${{ matrix.compiler }} if: | github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft && ( github.ref == 'refs/heads/master' || contains(github.event.pull_request.labels.*.name, 'file-cpp' || github.event.label.name == 'file-cpp' || contains(github.event.pull_request.labels.*.name, 'run-build') || github.event.label.name == 'run-build') ) steps: - uses: actions/checkout@v2 - name: Checkout modules run: ./apps/ci/ci-install-modules.sh if: matrix.modules == 'with' - name: Cache uses: actions/cache@v2 with: path: var/ccache key: ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ matrix.modules }}-modules:${{ github.ref }}:${{ github.sha }} restore-keys: | ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ matrix.modules }}-modules:${{ github.ref }} ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ matrix.modules }}-modules - name: Configure OS run: source ./acore.sh install-deps env: CONTINUOUS_INTEGRATION: true - name: Create conf/config.sh run: source ./apps/ci/ci-conf-core.sh - name: Process pending sql run: bash bin/acore-db-pendings - name: Build run: source ./apps/ci/ci-compile.sh - name: Dry run run: source ./apps/ci/ci-dry-run.sh worldserver - name: Check startup errors run: source ./apps/ci/ci-error-check.sh - name: Run unit tests run: source ./apps/ci/ci-run-unit-tests.sh