diff --git a/.github/workflows/core-build-nopch.yml b/.github/workflows/core-build-nopch.yml index e72e9c16b..d1faab4b9 100644 --- a/.github/workflows/core-build-nopch.yml +++ b/.github/workflows/core-build-nopch.yml @@ -12,13 +12,6 @@ on: - synchronize concurrency: - # One concurrency group per workflow + ref. - # - # - PRs use `refs/pull//merge`, so new commits cancel older - # in-progress runs for the same PR. - # - When a PR is merged, a push to the target branch starts a new group, - # canceling any still-running PR CI. - # - Branch pushes are isolated by ref. group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -53,4 +46,5 @@ jobs: with: CC: ${{ matrix.compiler.CC }} CXX: ${{ matrix.compiler.CXX }} - pch: false \ No newline at end of file + pch: false + modules: true # optional: include module compilation if desired \ No newline at end of file diff --git a/.github/workflows/core-build-pch.yml b/.github/workflows/core-build-pch.yml index 08bfee8a1..423dd9ec9 100644 --- a/.github/workflows/core-build-pch.yml +++ b/.github/workflows/core-build-pch.yml @@ -12,13 +12,6 @@ on: - synchronize concurrency: - # One concurrency group per workflow + ref. - # - # - PRs use `refs/pull//merge`, so new commits cancel older - # in-progress runs for the same PR. - # - When a PR is merged, a push to the target branch starts a new group, - # canceling any still-running PR CI. - # - Branch pushes are isolated by ref. group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -41,9 +34,7 @@ jobs: CC: clang-18 CXX: clang++-18 runs-on: ${{ matrix.os }} - name: ${{ matrix.os }}-${{ matrix.compiler }}-pch - env: - COMPILER: ${{ matrix.compiler }} + name: ${{ matrix.os }}-${{ matrix.compiler.CC }}-pch if: github.repository == 'mod-playerbots/azerothcore-wotlk' && !github.event.pull_request.draft steps: - uses: actions/checkout@v4 @@ -51,4 +42,5 @@ jobs: with: CC: ${{ matrix.compiler.CC }} CXX: ${{ matrix.compiler.CXX }} - pch: true \ No newline at end of file + pch: true + modules: true # optional: include modules in PCH build \ No newline at end of file diff --git a/.github/workflows/core-build-playerbots.yml b/.github/workflows/core-build-playerbots.yml index efb81f9a4..06fcd69ed 100644 --- a/.github/workflows/core-build-playerbots.yml +++ b/.github/workflows/core-build-playerbots.yml @@ -26,37 +26,41 @@ jobs: c_compiler: gcc cpp_compiler: g++ build_type: Release - runs-on: ${{ matrix.os }} name: ${{ matrix.os }}-${{ matrix.cpp_compiler }} steps: - - name: Checkout AzerothCore - uses: actions/checkout@v3 + - name: Checkout AzerothCore + uses: actions/checkout@v3 - - name: Set reusable strings - id: strings - shell: bash - run: | - echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT" + - name: Set reusable strings + id: strings + shell: bash + run: | + echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT" - - name: Checkout Playerbot Module - uses: actions/checkout@v3 - with: - repository: mod-playerbots/mod-playerbots - ref: ${{ (github.head_ref || github.ref_name) == 'test-staging' && 'staging' || 'master' }} - path: modules/mod-playerbots - - - name: Install Requirements - run: sudo apt-get update && sudo apt-get install -y git cmake make gcc g++ clang libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev mysql-server libboost-all-dev - - - name: Configure CMake - run: > - cmake -B ${{ steps.strings.outputs.build-output-dir }} - -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} - -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} - -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} - -S ${{ github.workspace }} + - name: Checkout Playerbot Module + uses: actions/checkout@v3 + with: + repository: mod-playerbots/mod-playerbots + # Map AC branch → PB branch + ref: ${{ github.ref_name == 'Playerbot' && 'master' || 'test-staging' }} + path: modules/mod-playerbots - - name: Build - run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }} \ No newline at end of file + - name: Install Requirements + run: | + sudo apt-get update + sudo apt-get install -y git cmake make gcc g++ clang \ + libmysqlclient-dev libssl-dev libbz2-dev \ + libreadline-dev libncurses-dev mysql-server libboost-all-dev + + - name: Configure CMake + run: | + cmake -B ${{ steps.strings.outputs.build-output-dir }} \ + -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} \ + -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} \ + -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ + -S ${{ github.workspace }} + + - name: Build + run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }} \ No newline at end of file diff --git a/.github/workflows/macos_build.yml b/.github/workflows/macos_build.yml index 2bcdbe89f..aec250af9 100644 --- a/.github/workflows/macos_build.yml +++ b/.github/workflows/macos_build.yml @@ -1,13 +1,14 @@ name: macos-build + on: push: branches: - "Playerbot" - - "test-staging" # added + - "test-staging" pull_request: branches: - "Playerbot" - - "test-staging" # added + - "test-staging" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -27,7 +28,16 @@ jobs: runs-on: ${{ matrix.os }} name: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 + - name: Checkout AzerothCore + uses: actions/checkout@v4 + + - name: Checkout Playerbot Module + uses: actions/checkout@v4 + with: + repository: mod-playerbots/mod-playerbots + ref: ${{ github.ref_name == 'Playerbot' && 'master' || 'test-staging' }} + path: modules/mod-playerbots + - name: Cache uses: actions/cache@v4 with: @@ -36,15 +46,22 @@ jobs: restore-keys: | ccache:${{ matrix.os }}:${{ github.ref_name }} ccache:${{ matrix.os }} + - name: reset ccache stats shell: bash run: ccache -z || true + - name: Install latest bash run: brew install bash + - name: Configure OS + shell: bash run: source ./acore.sh install-deps + - name: Build + shell: bash run: source ./apps/ci/mac/ci-compile.sh + - name: ccache stats shell: bash run: ccache -s || true \ No newline at end of file diff --git a/.github/workflows/windows_build.yml b/.github/workflows/windows_build.yml index 857e3c4ee..938e71f8f 100644 --- a/.github/workflows/windows_build.yml +++ b/.github/workflows/windows_build.yml @@ -7,13 +7,6 @@ on: branches: [ "Playerbot", "test-staging" ] concurrency: - # One concurrency group per workflow + ref. - # - # - PRs use `refs/pull//merge`, so new commits cancel older - # in-progress runs for the same PR. - # - When a PR is merged, a push to the target branch starts a new group, - # canceling any still-running PR CI. - # - Branch pushes are isolated by ref. group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -28,7 +21,15 @@ jobs: env: BOOST_ROOT: C:\local\boost_1_82_0 steps: - - uses: actions/checkout@v4 + - name: Checkout AzerothCore + uses: actions/checkout@v4 + + - name: Checkout Playerbot Module + uses: actions/checkout@v4 + with: + repository: mod-playerbots/mod-playerbots + ref: ${{ github.ref_name == 'Playerbot' && 'master' || 'test-staging' }} + path: modules/mod-playerbots - name: ccache uses: hendrikmuhs/ccache-action@v1.2.13 @@ -44,4 +45,4 @@ jobs: shell: bash run: | export CTOOLS_BUILD=all - ./acore.sh compiler build + ./acore.sh compiler build \ No newline at end of file