mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 01:58:19 +00:00
Migrate to Github Actions
This commit is contained in:
parent
a47a94ee0e
commit
a9e3a4029a
|
@ -1,120 +0,0 @@
|
||||||
version: 2
|
|
||||||
defaults: &defaults
|
|
||||||
working_directory: ~/ddnet/ddnet
|
|
||||||
docker:
|
|
||||||
- image: buildpack-deps:stretch
|
|
||||||
|
|
||||||
defignore: &defignore
|
|
||||||
filters:
|
|
||||||
branches:
|
|
||||||
ignore:
|
|
||||||
- /.*\.tmp/
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
pre_test:
|
|
||||||
<<: *defaults
|
|
||||||
parallelism: 1
|
|
||||||
steps:
|
|
||||||
- checkout
|
|
||||||
- run: python scripts/check_header_guards.py
|
|
||||||
|
|
||||||
build:
|
|
||||||
<<: *defaults
|
|
||||||
parallelism: 1
|
|
||||||
#environment:
|
|
||||||
#CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
|
|
||||||
#CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- checkout
|
|
||||||
#- run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS
|
|
||||||
- run: git submodule update --init
|
|
||||||
|
|
||||||
- run: |
|
|
||||||
apt-get update
|
|
||||||
apt-get install -y build-essential \
|
|
||||||
python3 \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libfreetype6-dev \
|
|
||||||
libsdl2-dev \
|
|
||||||
libglew-dev \
|
|
||||||
libogg-dev \
|
|
||||||
libopus-dev \
|
|
||||||
libpnglite-dev \
|
|
||||||
libopusfile-dev \
|
|
||||||
libwavpack-dev \
|
|
||||||
libwebsockets-dev \
|
|
||||||
libmysqlcppconn-dev
|
|
||||||
apt-get install -y cmake xz-utils
|
|
||||||
|
|
||||||
# Compile
|
|
||||||
- run: python scripts/check_header_guards.py
|
|
||||||
- run: |
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
env CFLAGS="-Wdeclaration-after-statement -Werror" CXXFLAGS="-Werror" cmake -DDOWNLOAD_GTEST=ON ..
|
|
||||||
make everything
|
|
||||||
make package_default
|
|
||||||
mkdir -p /tmp/artifacts
|
|
||||||
cp DDNet-*-linux_x86_64.tar.xz /tmp/artifacts
|
|
||||||
- run: |
|
|
||||||
mkdir noautoupdate
|
|
||||||
cd noautoupdate
|
|
||||||
env CFLAGS="-Wdeclaration-after-statement -Werror" CXXFLAGS="-Werror" cmake -DAUTOUPDATE=OFF -DDOWNLOAD_GTEST=ON ..
|
|
||||||
make everything
|
|
||||||
- run: |
|
|
||||||
mkdir websockets
|
|
||||||
cd websockets
|
|
||||||
env CFLAGS="-Wdeclaration-after-statement -Werror" CXXFLAGS="-Werror" cmake -DWEBSOCKETS=ON -DDOWNLOAD_GTEST=ON ..
|
|
||||||
make everything
|
|
||||||
- run: |
|
|
||||||
mkdir mysql
|
|
||||||
cd mysql
|
|
||||||
env CFLAGS="-Wdeclaration-after-statement -Werror" CXXFLAGS="-Werror" cmake -DDMYSQL=ON -DDOWNLOAD_GTEST=ON ..
|
|
||||||
make everything
|
|
||||||
- run: |
|
|
||||||
mkdir bundled
|
|
||||||
cd bundled
|
|
||||||
env CFLAGS="-Wdeclaration-after-statement -Werror" CXXFLAGS="-Werror" cmake -DPREFER_BUNDLED_LIBS=ON -DDOWNLOAD_GTEST=ON ..
|
|
||||||
make everything
|
|
||||||
|
|
||||||
- store_artifacts:
|
|
||||||
path: /tmp/artifacts
|
|
||||||
|
|
||||||
- persist-to-workspace:
|
|
||||||
root: ./
|
|
||||||
paths: ./*
|
|
||||||
|
|
||||||
test:
|
|
||||||
<<: *defaults
|
|
||||||
steps:
|
|
||||||
- attach-workspace:
|
|
||||||
at: ./
|
|
||||||
|
|
||||||
- run: |
|
|
||||||
apt-get update
|
|
||||||
apt-get install -y make cmake xz-utils
|
|
||||||
|
|
||||||
- run: |
|
|
||||||
cd build
|
|
||||||
make run_tests
|
|
||||||
./DDNet-Server shutdown
|
|
||||||
|
|
||||||
- run: |
|
|
||||||
cd noautoupdate
|
|
||||||
make run_tests
|
|
||||||
|
|
||||||
workflows:
|
|
||||||
version: 2
|
|
||||||
build_and_test:
|
|
||||||
jobs:
|
|
||||||
- pre_test:
|
|
||||||
<<: *defignore
|
|
||||||
- build:
|
|
||||||
<<: *defignore
|
|
||||||
requires:
|
|
||||||
- pre_test
|
|
||||||
- test:
|
|
||||||
<<: *defignore
|
|
||||||
requires:
|
|
||||||
- build
|
|
100
.github/workflows/build.yaml
vendored
Normal file
100
.github/workflows/build.yaml
vendored
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
name: Build
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-cmake:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, macOS-latest, windows-latest, ubuntu-16.04]
|
||||||
|
include:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
cmake-args: -G "Unix Makefiles"
|
||||||
|
build-args: --parallel
|
||||||
|
package-file: DDNet-Server-*-linux_x86_64.tar.xz
|
||||||
|
env:
|
||||||
|
CFLAGS: -Wdeclaration-after-statement -Werror
|
||||||
|
CXXFLAGS: -Werror
|
||||||
|
- os: ubuntu-16.04
|
||||||
|
cmake-path: /usr/bin/
|
||||||
|
cmake-args: -G "Unix Makefiles"
|
||||||
|
package-file: DDNet-Server-*-linux_x86_64.tar.xz
|
||||||
|
env:
|
||||||
|
CFLAGS: -Wdeclaration-after-statement -Werror
|
||||||
|
CXXFLAGS: -Werror
|
||||||
|
- os: macOS-latest
|
||||||
|
cmake-args: -G "Unix Makefiles"
|
||||||
|
build-args: --parallel
|
||||||
|
package-file: DDNet-Server-*-osx.dmg
|
||||||
|
env:
|
||||||
|
CFLAGS: -Wdeclaration-after-statement -Werror
|
||||||
|
CXXFLAGS: -Werror
|
||||||
|
- os: windows-latest
|
||||||
|
cmake-args: -G "Visual Studio 16 2019" -A x64
|
||||||
|
package-file: DDNet-Server-*-win64.zip
|
||||||
|
env:
|
||||||
|
CFLAGS: /WX
|
||||||
|
CXXFLAGS: /WX
|
||||||
|
LDFLAGS: /WX
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Checkout submodules
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
|
||||||
|
git submodule sync --recursive
|
||||||
|
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
|
||||||
|
|
||||||
|
- name: Prepare Linux
|
||||||
|
if: contains(matrix.os, 'ubuntu')
|
||||||
|
run: |
|
||||||
|
sudo apt-get update -y
|
||||||
|
sudo apt-get install pkg-config cmake libfreetype6-dev libsdl2-dev -y
|
||||||
|
|
||||||
|
- name: Prepare MacOS
|
||||||
|
if: contains(matrix.os, 'macOS')
|
||||||
|
run: |
|
||||||
|
brew update
|
||||||
|
brew install pkg-config freetype sdl2
|
||||||
|
|
||||||
|
- name: Build in debug mode
|
||||||
|
env: ${{ matrix.env }}
|
||||||
|
run: |
|
||||||
|
mkdir debug
|
||||||
|
cd debug
|
||||||
|
${{ matrix.cmake-path }}cmake --version
|
||||||
|
${{ matrix.cmake-path }}cmake ${{ matrix.cmake-args }} -DCMAKE_BUILD_TYPE=Debug -Werror=dev -DDOWNLOAD_GTEST=ON -DDEV=ON -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG=. ..
|
||||||
|
${{ matrix.cmake-path }}cmake --build . --config Debug ${{ matrix.build-args }} --target everything
|
||||||
|
- name: Test debug
|
||||||
|
run: |
|
||||||
|
cd debug
|
||||||
|
${{ matrix.cmake-path }}cmake --build . --config Debug ${{ matrix.build-args }} --target run_tests
|
||||||
|
./DDNet-Server shutdown
|
||||||
|
|
||||||
|
- name: Build in release mode
|
||||||
|
env: ${{ matrix.env }}
|
||||||
|
run: |
|
||||||
|
mkdir release
|
||||||
|
cd release
|
||||||
|
${{ matrix.cmake-path }}cmake ${{ matrix.cmake-args }} -DCMAKE_BUILD_TYPE=Release -Werror=dev -DDOWNLOAD_GTEST=ON -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=. ..
|
||||||
|
${{ matrix.cmake-path }}cmake --build . --config Release ${{ matrix.build-args }} --target everything
|
||||||
|
- name: Test release
|
||||||
|
run: |
|
||||||
|
cd release
|
||||||
|
${{ matrix.cmake-path }}cmake --build . --config Release ${{ matrix.build-args }} --target run_tests
|
||||||
|
./DDNet-Server shutdown
|
||||||
|
|
||||||
|
- name: Package
|
||||||
|
run: |
|
||||||
|
cd release
|
||||||
|
${{ matrix.cmake-path }}cmake --build . --config Release ${{ matrix.build-args }} --target package_default
|
||||||
|
mkdir artifacts
|
||||||
|
mv ${{ matrix.package-file }} artifacts
|
||||||
|
|
||||||
|
- name: Upload Artifacts
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: ddnet-${{ matrix.os }}
|
||||||
|
path: release/artifacts
|
35
.travis.yml
35
.travis.yml
|
@ -1,35 +0,0 @@
|
||||||
language: c++
|
|
||||||
sudo: false
|
|
||||||
dist: trusty
|
|
||||||
os:
|
|
||||||
- linux
|
|
||||||
- osx
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- libfreetype6-dev
|
|
||||||
- libgtest-dev
|
|
||||||
- libsdl2-dev
|
|
||||||
script:
|
|
||||||
- python scripts/check_header_guards.py
|
|
||||||
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then CMAKE_EXTRA_ARGS="-DDOWNLOAD_GTEST=ON -DDEV=ON"; fi
|
|
||||||
- if [ "$TRAVIS_OS_NAME" != "osx" ]; then CMAKE_EXTRA_ARGS="-DGTEST_LIBRARY=../gtest_build/libgtest.a -DGTEST_MAIN_LIBRARY=../gtest_build/libgtest_main.a"; mkdir gtest_build; cmake -E chdir gtest_build cmake /usr/src/gtest; cmake --build gtest_build; fi
|
|
||||||
- mkdir build; cd build
|
|
||||||
- cmake -Werror=dev -DCMAKE_INSTALL_PREFIX=/usr $CMAKE_EXTRA_ARGS ..
|
|
||||||
- make everything
|
|
||||||
- make run_tests
|
|
||||||
- if [ "$TRAVIS_OS_NAME" != "osx" ]; then make DESTDIR=install install; test -x install/bin/DDNet; test -x install/bin/DDNet-Server; test -d install/bin/data; test -d install/usr/lib; fi
|
|
||||||
- make package_default
|
|
||||||
- cd ..; mkdir build_debug; cd build_debug
|
|
||||||
- cmake -Werror=dev -DCMAKE_BUILD_TYPE=Debug $CMAKE_EXTRA_ARGS ..
|
|
||||||
- make run_tests
|
|
||||||
- cd ..
|
|
||||||
- build/DDNet-Server shutdown
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- CFLAGS="-Wdeclaration-after-statement -Werror"
|
|
||||||
- CXXFLAGS="-Werror"
|
|
||||||
branches:
|
|
||||||
except:
|
|
||||||
- staging.tmp
|
|
||||||
- testing.tmp
|
|
51
appveyor.yml
51
appveyor.yml
|
@ -1,51 +0,0 @@
|
||||||
image: Visual Studio 2015
|
|
||||||
|
|
||||||
before_build:
|
|
||||||
- cmd: |
|
|
||||||
git submodule update --init
|
|
||||||
|
|
||||||
scripts\check_header_guards.py
|
|
||||||
|
|
||||||
md build32 & cd build32
|
|
||||||
cmake -Werror=dev -G "Visual Studio 14 2015" ..
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
md build64 & cd build64
|
|
||||||
cmake -Werror=dev -G "Visual Studio 14 2015 Win64" ..
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
build_script:
|
|
||||||
- cmd: cmake --build build32 --config Release --target everything
|
|
||||||
- cmd: cmake --build build64 --config Release --target everything
|
|
||||||
|
|
||||||
test_script:
|
|
||||||
- cmd: cmake --build build32 --config Debug --target run_tests
|
|
||||||
- cmd: cmake --build build64 --config Debug --target run_tests
|
|
||||||
- cmd: cmake --build build32 --config Release --target run_tests
|
|
||||||
- cmd: cmake --build build64 --config Release --target run_tests
|
|
||||||
- cmd: |
|
|
||||||
cd build32
|
|
||||||
Release\DDNet-Server shutdown
|
|
||||||
cd ..
|
|
||||||
- cmd: |
|
|
||||||
cd build64
|
|
||||||
Release\DDNet-Server shutdown
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
after_build:
|
|
||||||
- cmd: cmake --build build32 --config Release --target package
|
|
||||||
- cmd: cmake --build build64 --config Release --target package
|
|
||||||
|
|
||||||
environment:
|
|
||||||
CFLAGS: /WX
|
|
||||||
CXXFLAGS: /WX
|
|
||||||
LDFLAGS: /WX
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
- path: build*/DDNet-*.zip
|
|
||||||
name: DDNet
|
|
||||||
|
|
||||||
branches:
|
|
||||||
except:
|
|
||||||
- staging.tmp
|
|
||||||
- testing.tmp
|
|
Loading…
Reference in a new issue