Migrate from Travis to GitHub Actions (#140)
* Introducing GitHub Actions * Update for Eluna
This commit is contained in:
parent
8f017ecd2e
commit
c984991f59
77
.github/workflows/core_build.yml
vendored
Normal file
77
.github/workflows/core_build.yml
vendored
Normal file
@ -0,0 +1,77 @@
|
||||
name: core-build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- github-actions # just for testing and replace with release branch
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
matrix:
|
||||
compiler: [gcc, clang]
|
||||
|
||||
include:
|
||||
- os: ubuntu-18.04
|
||||
name: Ubuntu 18.04 GCC
|
||||
compiler: gcc
|
||||
|
||||
- os: ubuntu-18.04
|
||||
name: Ubuntu 18.04 Clang
|
||||
compiler: clang
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: ${{ matrix.name }}
|
||||
env:
|
||||
compiler: ${{ matrix.compiler }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Check for Updates
|
||||
run: sudo apt-get update -y
|
||||
|
||||
- name: Install Required Packages
|
||||
run: sudo apt-get install -y git make cmake gcc g++ clang libssl-dev libbz2-dev build-essential default-libmysqlclient-dev libace-6.4.5 libace-dev python
|
||||
|
||||
- name: Check for Submodule Updates
|
||||
run: source ./apps/ci/ci-submodule-update.sh
|
||||
|
||||
- name: Build Mangos Project
|
||||
run: source ./apps/ci/ci-compile.sh
|
||||
|
||||
windows-build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
runs-on: windows-2019
|
||||
name: Windows Server 2019
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Configure Windows
|
||||
run: choco install --no-progress openssl
|
||||
|
||||
- name: Checkout Submodules
|
||||
shell: bash
|
||||
run: |
|
||||
git submodule init && git submodule update
|
||||
|
||||
- name: Build
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p build && cd build
|
||||
cmake .. -DTOOLS=ON
|
||||
cmake --build . --config Release --parallel 4
|
||||
|
||||
- name: Copy dll files
|
||||
shell: bash
|
||||
run: |
|
||||
cp "/c/mysql-5.7.21-winx64/lib/libmysql.dll" "build/bin/Release/"
|
||||
cp "/c/Program Files/OpenSSL-Win64/bin/libcrypto-1_1-x64.dll" "build/bin/Release/"
|
||||
cp "/c/Program Files/OpenSSL-Win64/bin/libssl-1_1-x64.dll" "build/bin/Release/"
|
@ -1,8 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eu
|
||||
|
||||
if [[ x$OSTYPE =~ ^xdarwin ]]; then
|
||||
brew update
|
||||
brew install "mysql"
|
||||
fi
|
47
.travis.yml
47
.travis.yml
@ -1,47 +0,0 @@
|
||||
language: cpp
|
||||
|
||||
# use docker in travis
|
||||
sudo: false
|
||||
|
||||
# reduce clone time by only getting the latest commit and not the whole history (default for travis is 100)
|
||||
git:
|
||||
depth: 1
|
||||
|
||||
# only run travis on the master branch
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
# send notifications to stack as well as email
|
||||
notifications:
|
||||
slack: getmangos:yRgNBSgRQVh8WdfGEbT08Hit
|
||||
|
||||
# build on both Linux and OSX
|
||||
os:
|
||||
- linux
|
||||
# - osx
|
||||
|
||||
# build with both gcc and clang to ensure compatibility
|
||||
compiler:
|
||||
- gcc
|
||||
- clang
|
||||
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- clang
|
||||
|
||||
before_install:
|
||||
- bash .travis.sh
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CC" = "gcc" ] ; then export CC=gcc-4.9 CXX=g++-4.9 ; fi
|
||||
|
||||
script:
|
||||
- test -d _build || mkdir _build
|
||||
- test -d _install || mkdir _install
|
||||
- cd _build
|
||||
- cmake .. -DCMAKE_INSTALL_PREFIX=../_install -DSOAP=1 -DPLAYERBOTS=1 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl/
|
||||
- which openssl
|
||||
- make -j4
|
19
apps/ci/ci-compile.sh
Normal file
19
apps/ci/ci-compile.sh
Normal file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
# Check for & make directories
|
||||
test -d _build || mkdir _build
|
||||
test -d _install || mkdir _install
|
||||
|
||||
# Move to build folder
|
||||
cd _build
|
||||
|
||||
# Run CMake Configurations
|
||||
cmake .. -DCMAKE_INSTALL_PREFIX=../_install -DSOAP=1 -DPLAYERBOTS=1 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl/
|
||||
|
||||
# Check OpenSSL
|
||||
which openssl
|
||||
|
||||
# Compile the Project
|
||||
make -j 6
|
7
apps/ci/ci-submodule-update.sh
Normal file
7
apps/ci/ci-submodule-update.sh
Normal file
@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
# Check for Submodule Updates
|
||||
git submodule init
|
||||
git submodule update
|
Loading…
x
Reference in New Issue
Block a user