diff --git a/.github/workflows/core-build-nopch.yml b/.github/workflows/core-build-nopch.yml index 04301b9db..003268be4 100644 --- a/.github/workflows/core-build-nopch.yml +++ b/.github/workflows/core-build-nopch.yml @@ -2,7 +2,7 @@ name: nopch-build on: push: branches: - - 'Playerbot' + - 'master' pull_request: types: ['opened', 'synchronize', 'reopened'] diff --git a/.github/workflows/core-build-pch.yml b/.github/workflows/core-build-pch.yml index c6da84f58..149bda68f 100644 --- a/.github/workflows/core-build-pch.yml +++ b/.github/workflows/core-build-pch.yml @@ -2,7 +2,7 @@ name: pch-build on: push: branches: - - 'Playerbot' + - 'master' pull_request: types: ['opened', 'synchronize', 'reopened'] diff --git a/.github/workflows/core-build-playerbots.yml b/.github/workflows/core-build-playerbots.yml new file mode 100644 index 000000000..49ff90b16 --- /dev/null +++ b/.github/workflows/core-build-playerbots.yml @@ -0,0 +1,101 @@ +# This starter workflow is for a CMake project running on multiple platforms. There is a different starter workflow if you just want a single platform. +# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-single-platform.yml +name: ubuntu-build + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + strategy: + # Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable. + fail-fast: false + matrix: + # the result of the matrix will be the combination of all attributes, so we get os*compiler builds + include: + - os: ubuntu-20.04 + c_compiler: clang + cpp_compiler: clang++ + build_type: Release + - os: ubuntu-20.04 + c_compiler: gcc + cpp_compiler: g++ + build_type: Release + - os: ubuntu-latest + 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 + with: + repository: 'liyunfan1223/azerothcore-wotlk' + + - name: Set reusable strings + # Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file. + id: strings + shell: bash + run: | + echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT" + + # - name: Clone Playerbot Module + # run: git clone --depth=1 --branch=master https://github.com/liyunfan1223/mod-playerbots.git modules/mod-playerbots + + - name: Checkout Playerbot Module + uses: actions/checkout@v3 + with: + repository: 'liyunfan1223/mod-playerbots' + path: 'modules/mod-playerbots' + + - name: Install Requirements + run: sudo apt-get update && sudo apt-get install git cmake make gcc g++ clang libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev mysql-server libboost-all-dev + + # - name: Cache + # uses: actions/cache@v3 + # 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: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + 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 + # Build your program with the given configuration. Note that --config is needed because the default Windows generator is a multi-config generator (Visual Studio generator). + run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }} + + # - name: Test + # working-directory: ${{ steps.strings.outputs.build-output-dir }} + # # Execute tests defined by the CMake configuration. Note that --build-config is needed because the default Windows generator is a multi-config generator (Visual Studio generator). + # # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + # run: ctest --build-config ${{ matrix.build_type }} diff --git a/.github/workflows/core-build.yml b/.github/workflows/core-build.yml new file mode 100644 index 000000000..08ef4cb73 --- /dev/null +++ b/.github/workflows/core-build.yml @@ -0,0 +1,101 @@ +# This starter workflow is for a CMake project running on multiple platforms. There is a different starter workflow if you just want a single platform. +# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-single-platform.yml +name: ubuntu-build + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + strategy: + # Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable. + fail-fast: false + matrix: + # the result of the matrix will be the combination of all attributes, so we get os*compiler builds + include: + - os: ubuntu-20.04 + c_compiler: clang + cpp_compiler: clang++ + build_type: Release + - os: ubuntu-20.04 + c_compiler: gcc + cpp_compiler: g++ + build_type: Release + - os: ubuntu-latest + 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 + with: + repository: 'liyunfan1223/azerothcore-wotlk' + + - name: Set reusable strings + # Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file. + id: strings + shell: bash + run: | + echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT" + + # - name: Clone Playerbot Module + # run: git clone --depth=1 --branch=master https://github.com/liyunfan1223/mod-playerbots.git modules/mod-playerbots + + # - name: Checkout Playerbot Module + # uses: actions/checkout@v3 + # with: + # repository: 'liyunfan1223/mod-playerbots' + # path: 'modules/mod-playerbots' + + - name: Install Requirements + run: sudo apt-get update && sudo apt-get install git cmake make gcc g++ clang libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev mysql-server libboost-all-dev + + # - name: Cache + # uses: actions/cache@v3 + # 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: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + 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 + # Build your program with the given configuration. Note that --config is needed because the default Windows generator is a multi-config generator (Visual Studio generator). + run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }} + + # - name: Test + # working-directory: ${{ steps.strings.outputs.build-output-dir }} + # # Execute tests defined by the CMake configuration. Note that --build-config is needed because the default Windows generator is a multi-config generator (Visual Studio generator). + # # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + # run: ctest --build-config ${{ matrix.build_type }} diff --git a/.github/workflows/core_modules_build.yml b/.github/workflows/core_modules_build.yml index 467623efa..c0e12e784 100644 --- a/.github/workflows/core_modules_build.yml +++ b/.github/workflows/core_modules_build.yml @@ -2,7 +2,7 @@ name: nopch-module-build on: push: branches: - - 'Playerbot' + - 'master' pull_request: types: ['labeled', 'opened', 'synchronize', 'reopened'] diff --git a/.github/workflows/docker_build.yml b/.github/workflows/docker_build.yml index 2689716df..9d2d0192e 100644 --- a/.github/workflows/docker_build.yml +++ b/.github/workflows/docker_build.yml @@ -2,7 +2,7 @@ name: docker-build on: push: branches: - - 'Playerbot' + - 'master' pull_request: types: - labeled diff --git a/.github/workflows/tools_build.yml b/.github/workflows/tools_build.yml index 7ef93f19f..fcd069192 100644 --- a/.github/workflows/tools_build.yml +++ b/.github/workflows/tools_build.yml @@ -2,7 +2,7 @@ name: tools on: push: branches: - - 'Playerbot' + - 'master' pull_request: concurrency: diff --git a/.github/workflows/windows_build.yml b/.github/workflows/windows_build.yml index 502083afd..4473243b6 100644 --- a/.github/workflows/windows_build.yml +++ b/.github/workflows/windows_build.yml @@ -2,7 +2,7 @@ name: windows-build on: push: branches: - - 'Playerbot' + - 'master' pull_request: types: ['labeled', 'opened', 'synchronize', 'reopened']