Change most github workflows to cmake

This commit is contained in:
Vincent Stumpf 2023-06-11 06:41:37 +00:00
parent 026c014eb2
commit 9024cc7ef8
5 changed files with 63 additions and 77 deletions

View File

@ -31,8 +31,6 @@ jobs:
# The ubuntu-latest label currently points to ubuntu-20.04. # The ubuntu-latest label currently points to ubuntu-20.04.
# Available: ubuntu-22.04, ubuntu-20.04 # Available: ubuntu-22.04, ubuntu-20.04
os: [ubuntu-latest] os: [ubuntu-latest]
# Older versions of GCC are not available via unaltered aptitude repo lists.
gcc: ['10']
# We run build checks for both Renewal and PRE-Renewal # We run build checks for both Renewal and PRE-Renewal
mode: ['PRE','RE'] mode: ['PRE','RE']
@ -64,10 +62,10 @@ jobs:
- name: Update & Install packages - name: Update & Install packages
# Ubuntu runners already have most of the packages rAthena requires to build. # Ubuntu runners already have most of the packages rAthena requires to build.
# https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md # https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2204-Readme.md
run: | run: |
sudo apt update sudo apt update
sudo apt install zlib1g-dev libpcre3-dev gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }} sudo apt install zlib1g-dev libpcre3-dev
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below) # If this step fails, then you should remove it and run the build manually (see below)
@ -77,16 +75,16 @@ jobs:
# ✏️ If the Autobuild fails above, remove it and uncomment the following # ✏️ If the Autobuild fails above, remove it and uncomment the following
# three lines and modify them (or add more) to build your code if your # three lines and modify them (or add more) to build your code if your
# project uses a compiled language # project uses a compiled language
- name: Command - configure - name: Create build directory
env: run: cmake -E make_directory ${{github.workspace}}/build
CONFIGURE_FLAGS: 'CC=gcc-${{ matrix.gcc }} CXX=g++-${{ matrix.gcc }} --enable-prere=${{ env.PRERE }} --enable-buildbot=yes'
run: ./configure $CONFIGURE_FLAGS
- name: Command - make clean - name: Configure CMake
run: make clean working-directory: ${{github.workspace}}/build
run: cmake .. -DENABLE_PRERENEWAL=${{env.PRERE}} -DENABLE_EXTRA_BUILDBOT_CODE=ON
- name: Command - make server - name: Build
run: make server working-directory: ${{github.workspace}}/build
run: cmake --build . --target server
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2 uses: github/codeql-action/analyze@v2

View File

@ -30,8 +30,6 @@ jobs:
# The ubuntu-latest label currently points to ubuntu-22.04. # The ubuntu-latest label currently points to ubuntu-22.04.
# Available: ubuntu-22.04, ubuntu-20.04 # Available: ubuntu-22.04, ubuntu-20.04
os: [ubuntu-latest] os: [ubuntu-latest]
# Older versions of GCC are not available via unaltered aptitude repo lists.
gcc: ['11']
# We run build checks for both Renewal and PRE-Renewal # We run build checks for both Renewal and PRE-Renewal
mode: ['PRE','RE'] mode: ['PRE','RE']
@ -42,18 +40,18 @@ jobs:
- name: Variable Parsing - PRE - name: Variable Parsing - PRE
if: ${{ matrix.mode == 'PRE' }} if: ${{ matrix.mode == 'PRE' }}
run: | run: |
echo "PRERE=yes" >> $GITHUB_ENV echo "PRERE=ON" >> $GITHUB_ENV
- name: Variable Parsing - RE - name: Variable Parsing - RE
if: ${{ matrix.mode == 'RE' }} if: ${{ matrix.mode == 'RE' }}
run: | run: |
echo "PRERE=no" >> $GITHUB_ENV echo "PRERE=OFF" >> $GITHUB_ENV
- name: Update & Install packages - name: Update & Install packages
# Ubuntu runners already have most of the packages rAthena requires to build. # Ubuntu runners already have most of the packages rAthena requires to build.
# https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md # https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2204-Readme.md
run: | run: |
sudo apt update sudo apt update
sudo apt install zlib1g-dev libpcre3-dev gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }} sudo apt install zlib1g-dev libpcre3-dev
- name: Start MySQL - name: Start MySQL
run: sudo systemctl start mysql.service run: sudo systemctl start mysql.service
@ -61,16 +59,16 @@ jobs:
- name: Setup Database and import table data - name: Setup Database and import table data
run: ./tools/ci/sql.sh run: ./tools/ci/sql.sh
- name: Command - configure - name: Create build directory
env: run: cmake -E make_directory ${{github.workspace}}/build
CONFIGURE_FLAGS: 'CC=gcc-${{ matrix.gcc }} CXX=g++-${{ matrix.gcc }} --enable-prere=${{ env.PRERE }} --enable-buildbot=yes'
run: ./configure $CONFIGURE_FLAGS
- name: Command - make clean - name: Configure CMake
run: make clean working-directory: ${{github.workspace}}/build
run: cmake .. -DENABLE_PRERENEWAL=${{env.PRERE}} -DENABLE_EXTRA_BUILDBOT_CODE=ON
- name: Command - make server - name: Build
run: make server working-directory: ${{github.workspace}}/build
run: cmake --build . --target server
- name: Run Once - login-server - name: Run Once - login-server
run: ./login-server --run-once run: ./login-server --run-once

View File

@ -30,8 +30,6 @@ jobs:
# The ubuntu-latest label currently points to ubuntu-22.04. # The ubuntu-latest label currently points to ubuntu-22.04.
# Available: ubuntu-22.04, ubuntu-20.04 # Available: ubuntu-22.04, ubuntu-20.04
os: [ubuntu-latest] os: [ubuntu-latest]
# Older versions of GCC are not available via unaltered aptitude repo lists.
gcc: ['11']
# We run build checks for both Renewal and PRE-Renewal # We run build checks for both Renewal and PRE-Renewal
mode: ['PRE','RE'] mode: ['PRE','RE']
# Check build success for different packet-versions # Check build success for different packet-versions
@ -44,18 +42,18 @@ jobs:
- name: Variable Parsing - PRE - name: Variable Parsing - PRE
if: ${{ matrix.mode == 'PRE' }} if: ${{ matrix.mode == 'PRE' }}
run: | run: |
echo "PRERE=yes" >> $GITHUB_ENV echo "PRERE=ON" >> $GITHUB_ENV
- name: Variable Parsing - RE - name: Variable Parsing - RE
if: ${{ matrix.mode == 'RE' }} if: ${{ matrix.mode == 'RE' }}
run: | run: |
echo "PRERE=no" >> $GITHUB_ENV echo "PRERE=OFF" >> $GITHUB_ENV
- name: Update & Install packages - name: Update & Install packages
# Ubuntu runners already have most of the packages rAthena requires to build. # Ubuntu runners already have most of the packages rAthena requires to build.
# https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md # https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md
run: | run: |
sudo apt update sudo apt update
sudo apt install zlib1g-dev libpcre3-dev gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }} sudo apt install zlib1g-dev libpcre3-dev
- name: Start MySQL - name: Start MySQL
run: sudo systemctl start mysql.service run: sudo systemctl start mysql.service
@ -63,13 +61,13 @@ jobs:
- name: Setup Database and import table data - name: Setup Database and import table data
run: ./tools/ci/sql.sh run: ./tools/ci/sql.sh
- name: Command - configure - name: Create build directory
env: run: cmake -E make_directory ${{github.workspace}}/build
CONFIGURE_FLAGS: 'CC=gcc-${{ matrix.gcc }} CXX=g++-${{ matrix.gcc }} --enable-prere=${{ env.PRERE }} --enable-packetver=${{ matrix.packetver }} --enable-buildbot=yes'
run: ./configure $CONFIGURE_FLAGS
- name: Command - make clean - name: Configure CMake
run: make clean working-directory: ${{github.workspace}}/build
run: cmake .. -DENABLE_PRERENEWAL=${{env.PRERE}} -DPACKETVER=${{matrix.packetver}} -DENABLE_EXTRA_BUILDBOT_CODE=ON
- name: Command - make all - name: Build
run: make all working-directory: ${{github.workspace}}/build
run: cmake --build .

View File

@ -30,8 +30,6 @@ jobs:
# The ubuntu-latest label currently points to ubuntu-22.04. # The ubuntu-latest label currently points to ubuntu-22.04.
# Available: ubuntu-22.04, ubuntu-20.04 # Available: ubuntu-22.04, ubuntu-20.04
os: [ubuntu-latest] os: [ubuntu-latest]
# Older versions of GCC are not available via unaltered aptitude repo lists.
gcc: ['11']
# We run build checks for both Renewal and PRE-Renewal # We run build checks for both Renewal and PRE-Renewal
mode: ['PRE', 'RE'] mode: ['PRE', 'RE']
@ -42,18 +40,18 @@ jobs:
- name: Variable Parsing - PRE - name: Variable Parsing - PRE
if: ${{ matrix.mode == 'PRE' }} if: ${{ matrix.mode == 'PRE' }}
run: | run: |
echo "PRERE=yes" >> $GITHUB_ENV echo "PRERE=ON" >> $GITHUB_ENV
- name: Variable Parsing - RE - name: Variable Parsing - RE
if: ${{ matrix.mode == 'RE' }} if: ${{ matrix.mode == 'RE' }}
run: | run: |
echo "PRERE=no" >> $GITHUB_ENV echo "PRERE=OFF" >> $GITHUB_ENV
- name: Update & Install packages - name: Update & Install packages
# Ubuntu runners already have most of the packages rAthena requires to build. # Ubuntu runners already have most of the packages rAthena requires to build.
# https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md # https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md
run: | run: |
sudo apt update sudo apt update
sudo apt install zlib1g-dev libpcre3-dev gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }} sudo apt install zlib1g-dev libpcre3-dev
- name: Start MySQL - name: Start MySQL
run: sudo systemctl start mysql.service run: sudo systemctl start mysql.service
@ -61,16 +59,16 @@ jobs:
- name: Setup Database and import table data - name: Setup Database and import table data
run: ./tools/ci/sql.sh run: ./tools/ci/sql.sh
- name: Command - configure - name: Create build directory
env: run: cmake -E make_directory ${{github.workspace}}/build
CONFIGURE_FLAGS: 'CC=gcc-${{ matrix.gcc }} CXX=g++-${{ matrix.gcc }} --enable-prere=${{ env.PRERE }} --enable-buildbot=yes --enable-vip=yes'
run: ./configure $CONFIGURE_FLAGS
- name: Command - make clean
run: make clean
- name: Command - make server - name: Configure CMake
run: make server working-directory: ${{github.workspace}}/build
run: cmake .. -DENABLE_PRERENEWAL=${{env.PRERE}} -DENABLE_EXTRA_BUILDBOT_CODE=ON -DENABLE_VIP=ON
- name: Build
working-directory: ${{github.workspace}}/build
run: cmake --build . --target server
- name: Run Once - login-server - name: Run Once - login-server
run: ./login-server --run-once run: ./login-server --run-once

View File

@ -33,8 +33,6 @@ jobs:
# The ubuntu-latest label currently points to ubuntu-22.04. # The ubuntu-latest label currently points to ubuntu-22.04.
# Available: ubuntu-22.04, ubuntu-20.04 # Available: ubuntu-22.04, ubuntu-20.04
os: [ubuntu-latest] os: [ubuntu-latest]
# Only a single version of GCC is required for validating NPC scripts and database changes.
gcc: ['11']
# We run build checks for both Renewal and PRE-Renewal # We run build checks for both Renewal and PRE-Renewal
mode: ['PRE', 'RE'] mode: ['PRE', 'RE']
@ -43,45 +41,41 @@ jobs:
# A simple 'yes' and 'no' can be confusing, so we use names to display in the current job then convert them for use in the compiler. # A simple 'yes' and 'no' can be confusing, so we use names to display in the current job then convert them for use in the compiler.
- name: Variable Parsing - PRE - name: Variable Parsing - PRE
if: ${{ matrix.mode == 'PRE' }} if: ${{ matrix.mode == 'PRE' }}
run: | run: |
echo "PRERE=yes" >> $GITHUB_ENV echo "PRERE=ON" >> $GITHUB_ENV
- name: Variable Parsing - RE - name: Variable Parsing - RE
if: ${{ matrix.mode == 'RE' }} if: ${{ matrix.mode == 'RE' }}
run: | run: |
echo "PRERE=no" >> $GITHUB_ENV echo "PRERE=OFF" >> $GITHUB_ENV
- name: Update & Install packages - name: Update & Install packages
# Ubuntu runners already have most of the packages rAthena requires to build. # Ubuntu runners already have most of the packages rAthena requires to build.
# https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md # https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2204-Readme.md
run: | run: |
sudo apt update sudo apt update
sudo apt install zlib1g-dev libpcre3-dev gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }} sudo apt install zlib1g-dev libpcre3-dev
- name: Start MySQL - name: Start MySQL
run: sudo systemctl start mysql.service run: sudo systemctl start mysql.service
- name: Setup Database and import table data - name: Setup Database and import table data
run: ./tools/ci/sql.sh run: ./tools/ci/sql.sh
- name: Command - configure - name: Create build directory
env: run: cmake -E make_directory ${{github.workspace}}/build
CONFIGURE_FLAGS: 'CC=gcc-${{ matrix.gcc }} CXX=g++-${{ matrix.gcc }} --enable-prere=${{ env.PRERE }} --enable-buildbot=yes'
run: ./configure $CONFIGURE_FLAGS - name: Configure CMake
working-directory: ${{github.workspace}}/build
run: cmake .. -DENABLE_PRERENEWAL=${{env.PRERE}} -DENABLE_EXTRA_BUILDBOT_CODE=ON
- name: Build
working-directory: ${{github.workspace}}/build
run: cmake --build . --target map-server
# npc.sh enables all NPC scripts in the custom and test folders. # npc.sh enables all NPC scripts in the custom and test folders.
- name: Enable All NPCs for Testing - name: Enable All NPCs for Testing
run: ./tools/ci/npc.sh run: ./tools/ci/npc.sh
- name: Command - make clean
run: make clean
# Create import directories
- name: Command - make import
run: make import
- name: Command - make map
run: make map
- name: Run Once - map-server - name: Run Once - map-server
run: ./map-server --run-once run: ./map-server --run-once