teeworlds_network/.github/workflows/integration.yml

64 lines
2.4 KiB
YAML

name: Integration tests
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
connect-to-server:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Ruby 3.1
uses: actions/setup-ruby@v1
with:
ruby-version: 3.1.x
- name: Prepare
run: |
sudo apt-get update -y
sudo apt-get install -y shellcheck teeworlds-server teeworlds teeworlds-data
sudo apt install -y build-essential glslang-tools libavcodec-extra libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libcurl4-openssl-dev libfreetype6-dev libglew-dev libnotify-dev libogg-dev libopus-dev libopusfile-dev libpng-dev libsdl2-dev libsqlite3-dev libssl-dev libvulkan-dev libwavpack-dev libx264-dev
gem install bundler
gem install rubocop:1.31.2
bundle install --jobs 4 --retry 3
wget https://github.com/ChillerDragon/teeworlds/releases/download/v0.7.5-headless/teeworlds-0.7.5-linux_x86_64.tar.gz
tar -xvzf teeworlds-0.7.5-linux_x86_64.tar.gz
sudo mkdir -p /usr/local/bin/
sudo mv teeworlds-0.7.5-linux_x86_64/teeworlds /usr/local/bin/teeworlds-headless
rm -rf teeworlds-0.7.5-linux_x86_64*
wget https://github.com/ChillerDragon/ddnet/releases/download/v16.5-headless/DDNet-headless.zip
unzip DDNet-headless.zip
sudo mv DDNet-headless /usr/local/bin
rm DDNet-headless.zip
wget https://github.com/ChillerDragon/ddnet/releases/download/v17.4.2-headless-0.7/DDNet7-headless-linux.zip
unzip DDNet7-headless-linux.zip
chmod +x DDNet7-headless
sudo mv DDNet7-headless /usr/local/bin
rm DDNet7-headless-linux.zip
echo 'TODO: remove this ugly hack!'
mkdir -p ~/.teeworlds/downloadedmaps
cd ~/.teeworlds/downloadedmaps
wget https://heinrich5991.de/teeworlds/maps/maps/dm1_64548818.map
- name: '[CLIENT] Test sending chat messages'
run: |
./integration_test/run.sh client/chat.rb
- name: '[CLIENT] Test reconnect'
run: |
./integration_test/run.sh client/reconnect.rb
- name: '[CLIENT] Test rcon'
run: |
./integration_test/run.sh client/rcon.rb
- name: '[SERVER] Test connect'
run: |
./integration_test/run.sh server/connect.rb
- name: '[SERVER] Test chat'
run: |
./integration_test/run.sh server/chat.rb