Skip to content

Commit

Permalink
Merge pull request #172 from cavoke-project/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
waleko authored Jun 3, 2022
2 parents 121c756 + de2e9cc commit 4d75068
Show file tree
Hide file tree
Showing 204 changed files with 18,329 additions and 2,241 deletions.
108 changes: 0 additions & 108 deletions .circleci/config.yml

This file was deleted.

14 changes: 0 additions & 14 deletions .circleci/suse-qt6-install-karchive.sh

This file was deleted.

62 changes: 62 additions & 0 deletions .craft.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
[General]
Command = craft
Branch = master
ShallowClone = True

# Variables defined here override the default value
# The variable names are casesensitive
[Variables]
#Values need to be overwritten to create a chache
UseCache = True
CreateCache = True

[GeneralSettings]
Version/ConfigVersion = 6

Packager/Destination=${Variables:WORKSPACE}/binaries
Paths/Python = C:/Python36
Paths/Python27 = C:/Python27
Paths/DownloadDir = ${Variables:Root}/downloads
ShortPath/Enabled = False
Compile/BuildType = Release
ContinuousIntegration/Enabled = True
Packager/PackageDebugSymbols = False

Packager/CacheDir = ${Variables:WORKSPACE}/cache
Packager/UseCache = ${Variables:UseCache}
Packager/CreateCache = ${Variables:CreateCache}

[windows-msvc2019_64-cl]
General/ABI = windows-msvc2019_64-cl

[windows-msvc2019_64-cl-debug]
General/ABI = windows-msvc2019_64-cl
Compile/BuildType = Debug

[windows-msvc2019_32-cl]
General/ABI = windows-msvc2019_32-cl

[macos-64-clang]
General/ABI = macos-64-clang
# Packager/PackageType = MacPkgPackager

[macos-64-clang-debug]
General/ABI = macos-64-clang
Compile/BuildType = Debug

[linux-64-gcc]
General/ABI = linux-64-gcc

[linux-64-gcc-BlueprintSettings]
libs/dbus.ignored = False
libs/qt5/qtbase.withDBus = True
dev-utils/7zip.useCentosBasedBuild=True

[linux-64-gcc-debug]
General/ABI = linux-64-gcc
Compile/BuildType = Debug

[linux-64-gcc-debug-BlueprintSettings]
libs/dbus.ignored = False
libs/qt5/qtbase.withDBus = True
dev-utils/7zip.useCentosBasedBuild=True
3 changes: 3 additions & 0 deletions .craft.shelf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[General]
version = 2
blueprintrepositories = https://github.com/cavoke-project/craft-blueprints-cavoke.git|master|;https://invent.kde.org/packaging/craft-blueprints-kde.git|master|
Binary file added .github/assets/cavoke-demo.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
151 changes: 151 additions & 0 deletions .github/files/ci_server_config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
/* This is a JSON format configuration file
*/
{
//custom_config: custom configuration for users. This object can be acquired by the app().getCustomConfig() method.
"custom_config": {
"storage": {
"games_directory": "local_server/games",
"logic_name": "logic",
"zip_name": "client.zip",
"config_name": "config.json"
}
},
"db_clients": [
{
//name: Name of the client,'default' by default
"name": "default",
//rdbms: Server type, postgresql,mysql or sqlite3, "postgresql" by default
"rdbms": "postgresql",
//filename: Sqlite3 db file name
//"filename":"",
//host: Server address,localhost by default
"host": "127.0.0.1",
//port: Server port, 5432 by default
"port": 5432,
//dbname: Database name
"dbname": "cavoke",
//user: 'postgres' by default
"user": "postgres_user",
//passwd: '' by default
"passwd": "postgres_password",
//is_fast: false by default, if it is true, the client is faster but user can't call
//any synchronous interface of it.
"is_fast": false,
//client_encoding: The character set used by the client. it is empty string by default which
//means use the default character set.
//"client_encoding": "",
//number_of_connections: 1 by default, if the 'is_fast' is true, the number is the number of
//connections per IO thread, otherwise it is the total number of all connections.
"number_of_connections": 1,
//timeout: -1.0 by default, in seconds, the timeout for executing a SQL query.
//zero or negative value means no timeout.
"timeout": -1.0
}
],
"app": {
//number_of_threads: The number of IO threads, 1 by default, if the value is set to 0, the number of threads
//is the number of CPU cores
"number_of_threads": 1,
//enable_session: False by default
"enable_session": false,
"session_timeout": 0,
//max_connections: maximum number of connections, 100000 by default
"max_connections": 100000,
//max_connections_per_ip: maximum number of connections per client, 0 by default which means no limit
"max_connections_per_ip": 0,
//Load_dynamic_views: False by default, when set to true, drogon
//compiles and loads dynamically "CSP View Files" in directories defined
//by "dynamic_views_path"
"load_dynamic_views": false,
//dynamic_views_path: If the path isn't prefixed with /, ./ or ../,
//it is relative path of document_root path
"dynamic_views_path": [
"./views"
],
//dynamic_views_output_path: Default by an empty string which means the output path of source
//files is the path where the csp files locate. If the path isn't prefixed with /, it is relative
//path of the current working directory.
"dynamic_views_output_path": "",
//enable_unicode_escaping_in_json: true by default, enable unicode escaping in json.
"enable_unicode_escaping_in_json": true,
//float_precision_in_json: set precision of float number in json.
"float_precision_in_json": {
//precision: 0 by default, 0 means use the default precision of the jsoncpp lib.
"precision": 0,
//precision_type: must be "significant" or "decimal", defaults to "significant" that means
//setting max number of significant digits in string, "decimal" means setting max number of
//digits after "." in string
"precision_type": "significant"
},
//log: Set log output, drogon output logs to stdout by default
"log": {
//log_path: Log file path,empty by default,in which case,logs are output to the stdout
"log_path": "./",
//logfile_base_name: Log file base name,empty by default which means drogon names logfile as
//drogon.log ...
"logfile_base_name": "cavoke-server",
//log_size_limit: 100000000 bytes by default,
//When the log file size reaches "log_size_limit", the log file is switched.
"log_size_limit": 100000000,
//log_level: "DEBUG" by default,options:"TRACE","DEBUG","INFO","WARN"
//The TRACE level is only valid when built in DEBUG mode.
"log_level": "DEBUG"
},
//run_as_daemon: False by default
"run_as_daemon": false,
//handle_sig_term: True by default
"handle_sig_term": true,
//relaunch_on_error: False by default, if true, the program will be restarted by the parent after exiting;
"relaunch_on_error": false,
//use_sendfile: True by default, if true, the program
//uses sendfile() system-call to send static files to clients;
"use_sendfile": true,
//use_gzip: True by default, use gzip to compress the response body's content;
"use_gzip": true,
//use_brotli: False by default, use brotli to compress the response body's content;
"use_brotli": false,
//static_files_cache_time: 5 (seconds) by default, the time in which the static file response is cached,
//0 means cache forever, the negative value means no cache
"static_files_cache_time": 5,
//idle_connection_timeout: Defaults to 60 seconds, the lifetime
//of the connection without read or write
"idle_connection_timeout": 60,
//server_header_field: Set the 'Server' header field in each response sent by drogon,
//empty string by default with which the 'Server' header field is set to "Server: drogon/version string\r\n"
"server_header_field": "",
//enable_server_header: Set true to force drogon to add a 'Server' header to each HTTP response. The default
//value is true.
"enable_server_header": true,
//enable_date_header: Set true to force drogon to add a 'Date' header to each HTTP response. The default
//value is true.
"enable_date_header": true,
//keepalive_requests: Set the maximum number of requests that can be served through one keep-alive connection.
//After the maximum number of requests are made, the connection is closed.
//The default value of 0 means no limit.
"keepalive_requests": 0,
//pipelining_requests: Set the maximum number of unhandled requests that can be cached in pipelining buffer.
//After the maximum number of requests are made, the connection is closed.
//The default value of 0 means no limit.
"pipelining_requests": 0,
//gzip_static: If it is set to true, when the client requests a static file, drogon first finds the compressed
//file with the extension ".gz" in the same path and send the compressed file to the client.
//The default value of gzip_static is true.
"gzip_static": true,
//br_static: If it is set to true, when the client requests a static file, drogon first finds the compressed
//file with the extension ".br" in the same path and send the compressed file to the client.
//The default value of br_static is true.
"br_static": true,
//client_max_body_size: Set the maximum body size of HTTP requests received by drogon. The default value is "1M".
//One can set it to "1024", "1k", "10M", "1G", etc. Setting it to "" means no limit.
"client_max_body_size": "1M",
//max_memory_body_size: Set the maximum body size in memory of HTTP requests received by drogon. The default value is "64K" bytes.
//If the body size of an HTTP request exceeds this limit, the body is stored to a temporary file for processing.
//Setting it to "" means no limit.
"client_max_memory_body_size": "64K",
//client_max_websocket_message_size: Set the maximum size of messages sent by WebSocket client. The default value is "128K".
//One can set it to "1024", "1k", "10M", "1G", etc. Setting it to "" means no limit.
"client_max_websocket_message_size": "128K",
//reuse_port: Defaults to false, users can run multiple processes listening on the same port at the same time.
"reuse_port": false
}
}
13 changes: 13 additions & 0 deletions .github/scripts/.craft.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
if ($IsWindows) {
$python = (Get-Command py).Source
} else {
$python = (Get-Command python3).Source
}
$command = @("${env:HOME}/craft/CraftMaster/CraftMaster/CraftMaster.py",
"--config", "${env:GITHUB_WORKSPACE}/.craft.ini",
"--target", "${env:CRAFT_TARGET}",
"--variables", "WORKSPACE=${env:HOME}/craft") + $args

Write-Host "Exec: ${python} ${command}"

& $python @command
2 changes: 2 additions & 0 deletions .github/scripts/diff-clangformat-12.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/usr/bin/env bash
diff -u --from-file "$1" <(clang-format-12 "$1") && exit 0 || exit 1
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ def check_eq(expected, actual):


def main():
_, *server_cmd = sys.argv
assert server_cmd, 'Expected usage: ./server-test-health.py <command-to-run>'
server_cmds = sys.argv[1:]
assert server_cmds, 'Expected usage: ./server-test-health.py <command-to-run> <args>'

port = 8080
print(f'Booting server... at {server_cmd}', flush=True)
print(f'Booting server... at {server_cmds[0]}', flush=True)

server = subprocess.Popen(args=[*server_cmd, '-p', str(port)])
server = subprocess.Popen(args=server_cmds + ['-p', str(port)])
def kill_server():
try:
server.wait(timeout=0.1)
Expand Down
14 changes: 14 additions & 0 deletions .github/workflows/app.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Cavoke
on:
push
jobs:
tests:
uses: ./.github/workflows/tests.yml
bundle-client:
needs: [tests]
uses: ./.github/workflows/bundle-client-craft.yml
deploy-server-develop:
if: github.ref == 'refs/heads/develop'
needs: [tests]
uses: ./.github/workflows/deploy-server-develop.yml
secrets: inherit
Loading

0 comments on commit 4d75068

Please sign in to comment.