Skip to content

Commit

Permalink
Fix europe host variable (#441)
Browse files Browse the repository at this point in the history
* Fix europe host variable

* Fx database url var

* Add bot manager application to arena load test release

* Add bot manager env var to deploy scripts

* Add bot manager release option

* Add bot manager to arena load tests application

* Turn off bots

* Add bot manager port to deploy script

* Rename env var

* handle nil bot pid
  • Loading branch information
agustinesco authored Apr 4, 2024
1 parent 70cd742 commit 1dae5d9
Show file tree
Hide file tree
Showing 10 changed files with 34 additions and 31 deletions.
6 changes: 4 additions & 2 deletions .github/workflows/arena-brazil-testing-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,10 @@ jobs:
PHX_SERVER: ${{ vars.PHX_SERVER }}
PHX_HOST: ${{ vars.HOST }}
PORT: ${{ vars.ARENA_PORT }}
DATABASE_URL: ${secrets.DATABASE_URL}
BOT_MANAGER_PORT: ${{ vars.BOT_MANAGER_PORT }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }}
NEWRELIC_APP_NAME: ${{ vars.NEWRELIC_APP_NAME_BRAZIL }}
NEWRELIC_APP_NAME: ${{ vars.NEWRELIC_APP_NAME }}
NEWRELIC_KEY: ${{ secrets.NEWRELIC_KEY }}
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
run: |
Expand All @@ -72,6 +73,7 @@ jobs:
PHX_SERVER=${PHX_SERVER} \
PHX_HOST=${PHX_HOST} \
PORT=${PORT} \
BOT_MANAGER_PORT=${BOT_MANAGER_PORT} \
DATABASE_URL=${DATABASE_URL} \
SECRET_KEY_BASE=${SECRET_KEY_BASE} \
NEWRELIC_APP_NAME=${NEWRELIC_APP_NAME} \
Expand Down
14 changes: 8 additions & 6 deletions .github/workflows/arena-europe-testing-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
- name: Create ssh private key file from env var
env:
SSH_KEY: ${{ secrets.SSH_KEY }}
TS_HOST: ${{ vars.TS_EUROPE_HOST }}
TS_HOST: ${{ vars.TS_HOST }}
run: |
set -ex
mkdir -p ~/.ssh/
Expand All @@ -44,23 +44,24 @@ jobs:
- name: Copy deploy script
env:
SSH_USERNAME: ${{ vars.SSH_USERNAME }}
SSH_HOST: ${{ vars.TS_EUROPE_HOST }}
SSH_HOST: ${{ vars.TS_HOST }}
run: |
set -ex
rsync -avz --mkpath devops/deploy.sh ${SSH_USERNAME}@${SSH_HOST}:/home/${SSH_USERNAME}/deploy-script/
- name: Execute deploy script
env:
SSH_HOST: ${{ vars.TS_EUROPE_HOST }}
SSH_HOST: ${{ vars.TS_HOST }}
SSH_USERNAME: ${{ vars.SSH_USERNAME }}
MIX_ENV: ${{ vars.MIX_ENV }}
RELEASE: ${{ inputs.release }}
PHX_SERVER: ${{ vars.PHX_SERVER }}
PHX_HOST: ${{ vars.EUROPE_HOST }}
PHX_HOST: ${{ vars.HOST }}
PORT: ${{ vars.ARENA_PORT }}
DATABASE_URL: ${secrets.DATABASE_URL}
BOT_MANAGER_PORT: ${{ vars.BOT_MANAGER_PORT }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }}
NEWRELIC_APP_NAME: ${{ vars.NEWRELIC_APP_NAME_EUROPE }}
NEWRELIC_APP_NAME: ${{ vars.NEWRELIC_APP_NAME }}
NEWRELIC_KEY: ${{ secrets.NEWRELIC_KEY }}
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
run: |
Expand All @@ -72,6 +73,7 @@ jobs:
PHX_SERVER=${PHX_SERVER} \
PHX_HOST=${PHX_HOST} \
PORT=${PORT} \
BOT_MANAGER_PORT=${BOT_MANAGER_PORT} \
DATABASE_URL=${DATABASE_URL} \
SECRET_KEY_BASE=${SECRET_KEY_BASE} \
NEWRELIC_APP_NAME=${NEWRELIC_APP_NAME} \
Expand Down
9 changes: 4 additions & 5 deletions .github/workflows/loadtest-brazil-client-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
- arena
- arena_load_test
- game_client
- bot_manager
required: true
target_server:
type: choice
Expand Down Expand Up @@ -62,12 +63,11 @@ jobs:
MIX_ENV: ${{ vars.MIX_ENV }}
RELEASE: ${{ inputs.release }}
TARGET_SERVER: ${{ inputs.target_server }}
BRAZIL_HOST: ${{ vars.brazil_host }}
EUROPE_HOST: ${{ vars.europe_host }}
PHX_SERVER: ${{ vars.PHX_SERVER }}
PHX_HOST: ${{ vars.LOADTEST_CLIENT_HOST }}
PORT: ${{ vars.ARENA_PORT }}
DATABASE_URL: ${secrets.DATABASE_URL}
BOT_MANAGER_PORT: ${{ vars.BOT_MANAGER_PORT }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }}
NEWRELIC_APP_NAME: ${{ vars.NEWRELIC_APP_NAME_LOADTEST }}
NEWRELIC_KEY: ${{ secrets.NEWRELIC_KEY }}
Expand All @@ -79,11 +79,10 @@ jobs:
MIX_ENV=${MIX_ENV} \
RELEASE=${RELEASE} \
TARGET_SERVER=${TARGET_SERVER} \
BRAZIL_HOST=${BRAZIL_HOST} \
EUROPE_HOST=${EUROPE_HOST} \
PHX_SERVER=${PHX_SERVER} \
PHX_HOST=${PHX_HOST} \
PORT=${PORT} \
BOT_MANAGER_PORT=${BOT_MANAGER_PORT} \
DATABASE_URL=${DATABASE_URL} \
SECRET_KEY_BASE=${SECRET_KEY_BASE} \
NEWRELIC_APP_NAME=${NEWRELIC_APP_NAME} \
Expand Down
8 changes: 3 additions & 5 deletions .github/workflows/loadtest-brazil-server-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,11 @@ jobs:
SSH_USERNAME: ${{ vars.SSH_USERNAME }}
MIX_ENV: ${{ vars.MIX_ENV }}
RELEASE: ${{ inputs.release }}
BRAZIL_HOST: ${{ vars.brazil_host }}
EUROPE_HOST: ${{ vars.europe_host }}
PHX_SERVER: ${{ vars.PHX_SERVER }}
PHX_HOST: ${{ vars.LOADTEST_SERVER_HOST }}
PORT: ${{ vars.ARENA_PORT }}
DATABASE_URL: ${secrets.DATABASE_URL}
BOT_MANAGER_PORT: ${{ vars.BOT_MANAGER_PORT }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }}
NEWRELIC_APP_NAME: ${{ vars.NEWRELIC_APP_NAME_LOADTEST }}
NEWRELIC_KEY: ${{ secrets.NEWRELIC_KEY }}
Expand All @@ -71,11 +70,10 @@ jobs:
BRANCH_NAME=${BRANCH_NAME} \
MIX_ENV=${MIX_ENV} \
RELEASE=${RELEASE} \
BRAZIL_HOST=${BRAZIL_HOST} \
EUROPE_HOST=${EUROPE_HOST} \
PHX_SERVER=${PHX_SERVER} \
PHX_HOST=${PHX_HOST} \
PORT=${PORT} \
BOT_MANAGER_PORT=${BOT_MANAGER_PORT} \
DATABASE_URL=${DATABASE_URL} \
SECRET_KEY_BASE=${SECRET_KEY_BASE} \
NEWRELIC_APP_NAME=${NEWRELIC_APP_NAME} \
Expand Down
9 changes: 4 additions & 5 deletions .github/workflows/loadtest-europe-client-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
- arena
- arena_load_test
- game_client
- bot_manager
required: true
target_server:
type: choice
Expand Down Expand Up @@ -62,12 +63,11 @@ jobs:
MIX_ENV: ${{ vars.MIX_ENV }}
RELEASE: ${{ inputs.release }}
TARGET_SERVER: ${{ inputs.target_server }}
BRAZIL_HOST: ${{ vars.brazil_host }}
EUROPE_HOST: ${{ vars.europe_host }}
PHX_SERVER: ${{ vars.PHX_SERVER }}
PHX_HOST: ${{ vars.LOADTEST_CLIENT_HOST }}
PORT: ${{ vars.ARENA_PORT }}
DATABASE_URL: ${secrets.DATABASE_URL}
BOT_MANAGER_PORT: ${{ vars.BOT_MANAGER_PORT }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }}
NEWRELIC_APP_NAME: ${{ vars.NEWRELIC_APP_NAME_LOADTEST }}
NEWRELIC_KEY: ${{ secrets.NEWRELIC_KEY }}
Expand All @@ -79,11 +79,10 @@ jobs:
MIX_ENV=${MIX_ENV} \
RELEASE=${RELEASE} \
TARGET_SERVER=${TARGET_SERVER} \
BRAZIL_HOST=${BRAZIL_HOST} \
EUROPE_HOST=${EUROPE_HOST} \
PHX_SERVER=${PHX_SERVER} \
PHX_HOST=${PHX_HOST} \
PORT=${PORT} \
BOT_MANAGER_PORT=${BOT_MANAGER_PORT} \
DATABASE_URL=${DATABASE_URL} \
SECRET_KEY_BASE=${SECRET_KEY_BASE} \
NEWRELIC_APP_NAME=${NEWRELIC_APP_NAME} \
Expand Down
8 changes: 3 additions & 5 deletions .github/workflows/loadtest-europe-server-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,11 @@ jobs:
SSH_USERNAME: ${{ vars.SSH_USERNAME }}
MIX_ENV: ${{ vars.MIX_ENV }}
RELEASE: ${{ inputs.release }}
BRAZIL_HOST: ${{ vars.brazil_host }}
EUROPE_HOST: ${{ vars.europe_host }}
PHX_SERVER: ${{ vars.PHX_SERVER }}
PHX_HOST: ${{ vars.LOADTEST_SERVER_HOST }}
PORT: ${{ vars.ARENA_PORT }}
DATABASE_URL: ${secrets.DATABASE_URL}
BOT_MANAGER_PORT: ${{ vars.BOT_MANAGER_PORT }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }}
NEWRELIC_APP_NAME: ${{ vars.NEWRELIC_APP_NAME_LOADTEST }}
NEWRELIC_KEY: ${{ secrets.NEWRELIC_KEY }}
Expand All @@ -71,11 +70,10 @@ jobs:
BRANCH_NAME=${BRANCH_NAME} \
MIX_ENV=${MIX_ENV} \
RELEASE=${RELEASE} \
BRAZIL_HOST=${BRAZIL_HOST} \
EUROPE_HOST=${EUROPE_HOST} \
PHX_SERVER=${PHX_SERVER} \
PHX_HOST=${PHX_HOST} \
PORT=${PORT} \
BOT_MANAGER_PORT=${BOT_MANAGER_PORT} \
DATABASE_URL=${DATABASE_URL} \
SECRET_KEY_BASE=${SECRET_KEY_BASE} \
NEWRELIC_APP_NAME=${NEWRELIC_APP_NAME} \
Expand Down
4 changes: 3 additions & 1 deletion apps/bot_manager/lib/bot_supervisor.ex
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ defmodule BotManager.BotSupervisor do
end

def add_bot_to_game(bot_config) do
DynamicSupervisor.start_child(__MODULE__, {BotManager.GameSocketHandler, bot_config})
if System.get_env("BOTS_ACTIVE") == "true" do
DynamicSupervisor.start_child(__MODULE__, {BotManager.GameSocketHandler, bot_config})
end
end
end
2 changes: 1 addition & 1 deletion apps/bot_manager/lib/endpoint.ex
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ defmodule BotManager.Endpoint do
plug(:dispatch)

get "/join/:game_id/:bot_client" do
bot_pid = BotManager.BotSupervisor.add_bot_to_game(conn.params)
bot_pid = BotManager.BotSupervisor.add_bot_to_game(conn.params) || ""

conn
|> put_resp_content_type("application/json")
Expand Down
1 change: 1 addition & 0 deletions devops/deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ DATABASE_URL=${DATABASE_URL}
PHX_SERVER=${PHX_SERVER}
SECRET_KEY_BASE=${SECRET_KEY_BASE}
PORT=${PORT}
BOT_MANAGER_PORT=${BOT_MANAGER_PORT}
RELEASE=${RELEASE}
TARGET_SERVER=${TARGET_SERVER}
EUROPE_HOST=${EUROPE_HOST}
Expand Down
4 changes: 3 additions & 1 deletion mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,9 @@ defmodule MirraBackend.MixProject do
[
arena: [applications: [arena: :permanent]],
# TODO ArenaLoadTest must deploy only arena
arena_load_test: [applications: [arena_load_test: :permanent, arena: :permanent]],
arena_load_test: [
applications: [arena_load_test: :permanent, arena: :permanent, bot_manager: :permanent]
],
game_client: [applications: [game_client: :permanent]],
game_backend: [
applications: [
Expand Down

0 comments on commit 1dae5d9

Please sign in to comment.