Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removed RELEASE workflow input on GitHub Actions. #449

Merged
merged 10 commits into from
Apr 9, 2024
20 changes: 5 additions & 15 deletions .github/workflows/arena-brazil-testing-deploy.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
name: Deploy to Brazil Arena testing
on:
workflow_dispatch:
inputs:
release:
type: choice
description: What release to deploy
options:
- game_backend
- arena
- arena_load_test
- game_client
required: true

jobs:
build-deploy:
Expand All @@ -33,28 +23,28 @@ jobs:
- name: Create ssh private key file from env var
env:
SSH_KEY: ${{ secrets.SSH_KEY }}
TS_HOST: ${{ vars.TS_HOST }}
SSH_HOST: ${{ vars.TS_ARENA_HOST }}
run: |
set -ex
mkdir -p ~/.ssh/
sed -E 's/(-+(BEGIN|END) OPENSSH PRIVATE KEY-+) *| +/\1\n/g' <<< "$SSH_KEY" > ~/.ssh/id_ed25519
chmod 400 ~/.ssh/id_ed25519
retries=5; until ssh-keyscan $TS_HOST >> ~/.ssh/known_hosts || [ $retries -eq 0 ]; do ((retries--)); sleep 5; done
retries=5; until ssh-keyscan $SSH_HOST >> ~/.ssh/known_hosts || [ $retries -eq 0 ]; do ((retries--)); sleep 5; done

- name: Copy deploy script
env:
SSH_USERNAME: ${{ vars.SSH_USERNAME }}
SSH_HOST: ${{ vars.TS_HOST }}
SSH_HOST: ${{ vars.TS_ARENA_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_HOST }}
SSH_HOST: ${{ vars.TS_ARENA_HOST }}
SSH_USERNAME: ${{ vars.SSH_USERNAME }}
MIX_ENV: ${{ vars.MIX_ENV }}
RELEASE: ${{ inputs.release }}
RELEASE: arena
PHX_SERVER: ${{ vars.PHX_SERVER }}
PHX_HOST: ${{ vars.HOST }}
PORT: ${{ vars.ARENA_PORT }}
Expand Down
20 changes: 5 additions & 15 deletions .github/workflows/arena-europe-testing-deploy.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
name: Deploy to Europe Arena testing
on:
workflow_dispatch:
inputs:
release:
type: choice
description: What release to deploy
options:
- game_backend
- arena
- arena_load_test
- game_client
required: true

jobs:
build-deploy:
Expand All @@ -33,28 +23,28 @@ jobs:
- name: Create ssh private key file from env var
env:
SSH_KEY: ${{ secrets.SSH_KEY }}
TS_HOST: ${{ vars.TS_HOST }}
SSH_HOST: ${{ vars.TS_ARENA_HOST }}
run: |
set -ex
mkdir -p ~/.ssh/
sed -E 's/(-+(BEGIN|END) OPENSSH PRIVATE KEY-+) *| +/\1\n/g' <<< "$SSH_KEY" > ~/.ssh/id_ed25519
chmod 400 ~/.ssh/id_ed25519
retries=5; until ssh-keyscan $TS_HOST >> ~/.ssh/known_hosts || [ $retries -eq 0 ]; do ((retries--)); sleep 5; done
retries=5; until ssh-keyscan $SSH_HOST >> ~/.ssh/known_hosts || [ $retries -eq 0 ]; do ((retries--)); sleep 5; done

- name: Copy deploy script
env:
SSH_USERNAME: ${{ vars.SSH_USERNAME }}
SSH_HOST: ${{ vars.TS_HOST }}
SSH_HOST: ${{ vars.TS_ARENA_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_HOST }}
SSH_HOST: ${{ vars.TS_ARENA_HOST }}
SSH_USERNAME: ${{ vars.SSH_USERNAME }}
MIX_ENV: ${{ vars.MIX_ENV }}
RELEASE: ${{ inputs.release }}
RELEASE: arena
PHX_SERVER: ${{ vars.PHX_SERVER }}
PHX_HOST: ${{ vars.HOST }}
PORT: ${{ vars.ARENA_PORT }}
Expand Down
73 changes: 73 additions & 0 deletions .github/workflows/central-brazil-testing-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Deploy to Brazil Central testing
on:
workflow_dispatch:

jobs:
build-deploy:
name: Build and deploy to Brazil testing
runs-on: ubuntu-latest
environment:
name: testing-brazil
url: https://central-europe-testing.curseofmirra.com/

steps:
- uses: actions/checkout@v4

- name: Tailscale
uses: tailscale/github-action@v2
with:
oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}
oauth-secret: ${{ secrets.TS_OAUTH_SECRET }}
tags: tag:ci

- name: Create ssh private key file from env var
env:
SSH_KEY: ${{ secrets.SSH_KEY }}
SSH_HOST: ${{ vars.TS_CENTRAL_HOST }}
run: |
set -ex
mkdir -p ~/.ssh/
sed -E 's/(-+(BEGIN|END) OPENSSH PRIVATE KEY-+) *| +/\1\n/g' <<< "$SSH_KEY" > ~/.ssh/id_ed25519
chmod 400 ~/.ssh/id_ed25519
retries=5; until ssh-keyscan $SSH_HOST >> ~/.ssh/known_hosts || [ $retries -eq 0 ]; do ((retries--)); sleep 5; done

- name: Copy deploy script
env:
SSH_USERNAME: ${{ vars.SSH_USERNAME }}
SSH_HOST: ${{ vars.TS_CENTRAL_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_CENTRAL_HOST }}
SSH_USERNAME: ${{ vars.SSH_USERNAME }}
MIX_ENV: ${{ vars.MIX_ENV }}
RELEASE: central_backend
PHX_SERVER: ${{ vars.PHX_SERVER }}
PHX_HOST: ${{ vars.HOST }}
PORT: ${{ vars.ARENA_PORT }}
BOT_MANAGER_PORT: ${{ vars.BOT_MANAGER_PORT }}
BOT_MANAGER_HOST: ${{ vars.LOADTEST_CLIENT_HOST }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }}
NEWRELIC_APP_NAME: ${{ vars.NEWRELIC_APP_NAME }}
NEWRELIC_KEY: ${{ secrets.NEWRELIC_KEY }}
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
run: |
set -ex
ssh ${SSH_USERNAME}@${SSH_HOST} \
BRANCH_NAME=${BRANCH_NAME} \
MIX_ENV=${MIX_ENV} \
RELEASE=${RELEASE} \
PHX_SERVER=${PHX_SERVER} \
PHX_HOST=${PHX_HOST} \
PORT=${PORT} \
BOT_MANAGER_PORT=${BOT_MANAGER_PORT} \
BOT_MANAGER_HOST=${BOT_MANAGER_HOST} \
DATABASE_URL=${DATABASE_URL} \
SECRET_KEY_BASE=${SECRET_KEY_BASE} \
NEWRELIC_APP_NAME=${NEWRELIC_APP_NAME} \
NEWRELIC_KEY=${NEWRELIC_KEY} \
/home/${SSH_USERNAME}/deploy-script/deploy.sh
73 changes: 73 additions & 0 deletions .github/workflows/central-europe-testing-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Deploy to Europe Central testing
on:
workflow_dispatch:

jobs:
build-deploy:
name: Build and deploy to Europe testing
runs-on: ubuntu-latest
environment:
name: testing-europe
url: https://central-europe-testing.curseofmirra.com/

steps:
- uses: actions/checkout@v4

- name: Tailscale
uses: tailscale/github-action@v2
with:
oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}
oauth-secret: ${{ secrets.TS_OAUTH_SECRET }}
tags: tag:ci

- name: Create ssh private key file from env var
env:
SSH_KEY: ${{ secrets.SSH_KEY }}
SSH_HOST: ${{ vars.TS_CENTRAL_HOST }}
run: |
set -ex
mkdir -p ~/.ssh/
sed -E 's/(-+(BEGIN|END) OPENSSH PRIVATE KEY-+) *| +/\1\n/g' <<< "$SSH_KEY" > ~/.ssh/id_ed25519
chmod 400 ~/.ssh/id_ed25519
retries=5; until ssh-keyscan $SSH_HOST >> ~/.ssh/known_hosts || [ $retries -eq 0 ]; do ((retries--)); sleep 5; done

- name: Copy deploy script
env:
SSH_USERNAME: ${{ vars.SSH_USERNAME }}
SSH_HOST: ${{ vars.TS_CENTRAL_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_CENTRAL_HOST }}
SSH_USERNAME: ${{ vars.SSH_USERNAME }}
MIX_ENV: ${{ vars.MIX_ENV }}
RELEASE: central_backend
PHX_SERVER: ${{ vars.PHX_SERVER }}
PHX_HOST: ${{ vars.HOST }}
PORT: ${{ vars.ARENA_PORT }}
BOT_MANAGER_PORT: ${{ vars.BOT_MANAGER_PORT }}
BOT_MANAGER_HOST: ${{ vars.LOADTEST_CLIENT_HOST }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }}
NEWRELIC_APP_NAME: ${{ vars.NEWRELIC_APP_NAME }}
NEWRELIC_KEY: ${{ secrets.NEWRELIC_KEY }}
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
run: |
set -ex
ssh ${SSH_USERNAME}@${SSH_HOST} \
BRANCH_NAME=${BRANCH_NAME} \
MIX_ENV=${MIX_ENV} \
RELEASE=${RELEASE} \
PHX_SERVER=${PHX_SERVER} \
PHX_HOST=${PHX_HOST} \
PORT=${PORT} \
BOT_MANAGER_PORT=${BOT_MANAGER_PORT} \
BOT_MANAGER_HOST=${BOT_MANAGER_HOST} \
DATABASE_URL=${DATABASE_URL} \
SECRET_KEY_BASE=${SECRET_KEY_BASE} \
NEWRELIC_APP_NAME=${NEWRELIC_APP_NAME} \
NEWRELIC_KEY=${NEWRELIC_KEY} \
/home/${SSH_USERNAME}/deploy-script/deploy.sh
7 changes: 2 additions & 5 deletions .github/workflows/loadtest-brazil-client-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,7 @@ on:
type: choice
description: What release to deploy
options:
- game_backend
- arena
- arena_load_test
- game_client
- bot_manager
required: true
target_server:
Expand Down Expand Up @@ -40,13 +37,13 @@ jobs:
- name: Create ssh private key file from env var
env:
SSH_KEY: ${{ secrets.SSH_KEY }}
TS_HOST: ${{ vars.TS_LOADTEST_CLIENT_HOST }}
SSH_HOST: ${{ vars.TS_LOADTEST_CLIENT_HOST }}
run: |
set -ex
mkdir -p ~/.ssh/
sed -E 's/(-+(BEGIN|END) OPENSSH PRIVATE KEY-+) *| +/\1\n/g' <<< "$SSH_KEY" > ~/.ssh/id_ed25519
chmod 400 ~/.ssh/id_ed25519
retries=5; until ssh-keyscan $TS_HOST >> ~/.ssh/known_hosts || [ $retries -eq 0 ]; do ((retries--)); sleep 5; done
retries=5; until ssh-keyscan $SSH_HOST >> ~/.ssh/known_hosts || [ $retries -eq 0 ]; do ((retries--)); sleep 5; done

- name: Copy deploy script
env:
Expand Down
18 changes: 5 additions & 13 deletions .github/workflows/loadtest-brazil-server-deploy.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
name: Deploy to Brazil Loadtest Server
on:
workflow_dispatch:
inputs:
release:
type: choice
description: What release to deploy
options:
- game_backend
- arena
- arena_load_test
- game_client
required: true

jobs:
build-deploy:
Expand All @@ -33,13 +23,13 @@ jobs:
- name: Create ssh private key file from env var
env:
SSH_KEY: ${{ secrets.SSH_KEY }}
TS_HOST: ${{ vars.TS_LOADTEST_SERVER_HOST }}
SSH_HOST: ${{ vars.TS_LOADTEST_SERVER_HOST }}
run: |
set -ex
mkdir -p ~/.ssh/
sed -E 's/(-+(BEGIN|END) OPENSSH PRIVATE KEY-+) *| +/\1\n/g' <<< "$SSH_KEY" > ~/.ssh/id_ed25519
chmod 400 ~/.ssh/id_ed25519
retries=5; until ssh-keyscan $TS_HOST >> ~/.ssh/known_hosts || [ $retries -eq 0 ]; do ((retries--)); sleep 5; done
retries=5; until ssh-keyscan $SSH_HOST >> ~/.ssh/known_hosts || [ $retries -eq 0 ]; do ((retries--)); sleep 5; done

- name: Copy deploy script
env:
Expand All @@ -51,10 +41,11 @@ jobs:

- name: Execute deploy script
env:
XDG_RUNTIME_DIR: /run/user/1001 # Temporary fix for systemd commands.
SSH_HOST: ${{ vars.TS_LOADTEST_SERVER_HOST }}
SSH_USERNAME: ${{ vars.SSH_USERNAME }}
MIX_ENV: ${{ vars.MIX_ENV }}
RELEASE: ${{ inputs.release }}
RELEASE: arena
PHX_SERVER: ${{ vars.PHX_SERVER }}
PHX_HOST: ${{ vars.LOADTEST_SERVER_HOST }}
PORT: ${{ vars.ARENA_PORT }}
Expand All @@ -67,6 +58,7 @@ jobs:
run: |
set -ex
ssh ${SSH_USERNAME}@${SSH_HOST} \
XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR} \
BRANCH_NAME=${BRANCH_NAME} \
MIX_ENV=${MIX_ENV} \
RELEASE=${RELEASE} \
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/loadtest-europe-client-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,7 @@ on:
type: choice
description: What release to deploy
options:
- game_backend
- arena
- arena_load_test
- game_client
- bot_manager
required: true
target_server:
Expand Down Expand Up @@ -40,13 +37,13 @@ jobs:
- name: Create ssh private key file from env var
env:
SSH_KEY: ${{ secrets.SSH_KEY }}
TS_HOST: ${{ vars.TS_LOADTEST_CLIENT_HOST }}
SSH_HOST: ${{ vars.TS_LOADTEST_CLIENT_HOST }}
run: |
set -ex
mkdir -p ~/.ssh/
sed -E 's/(-+(BEGIN|END) OPENSSH PRIVATE KEY-+) *| +/\1\n/g' <<< "$SSH_KEY" > ~/.ssh/id_ed25519
chmod 400 ~/.ssh/id_ed25519
retries=5; until ssh-keyscan $TS_HOST >> ~/.ssh/known_hosts || [ $retries -eq 0 ]; do ((retries--)); sleep 5; done
retries=5; until ssh-keyscan $SSH_HOST >> ~/.ssh/known_hosts || [ $retries -eq 0 ]; do ((retries--)); sleep 5; done

- name: Copy deploy script
env:
Expand Down
16 changes: 3 additions & 13 deletions .github/workflows/loadtest-europe-server-deploy.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
name: Deploy to Europe Loadtest Server
on:
workflow_dispatch:
inputs:
release:
type: choice
description: What release to deploy
options:
- game_backend
- arena
- arena_load_test
- game_client
required: true

jobs:
build-deploy:
Expand All @@ -33,13 +23,13 @@ jobs:
- name: Create ssh private key file from env var
env:
SSH_KEY: ${{ secrets.SSH_KEY }}
TS_HOST: ${{ vars.TS_LOADTEST_SERVER_HOST }}
SSH_HOST: ${{ vars.TS_LOADTEST_SERVER_HOST }}
run: |
set -ex
mkdir -p ~/.ssh/
sed -E 's/(-+(BEGIN|END) OPENSSH PRIVATE KEY-+) *| +/\1\n/g' <<< "$SSH_KEY" > ~/.ssh/id_ed25519
chmod 400 ~/.ssh/id_ed25519
retries=5; until ssh-keyscan $TS_HOST >> ~/.ssh/known_hosts || [ $retries -eq 0 ]; do ((retries--)); sleep 5; done
retries=5; until ssh-keyscan $SSH_HOST >> ~/.ssh/known_hosts || [ $retries -eq 0 ]; do ((retries--)); sleep 5; done

- name: Copy deploy script
env:
Expand All @@ -54,7 +44,7 @@ jobs:
SSH_HOST: ${{ vars.TS_LOADTEST_SERVER_HOST }}
SSH_USERNAME: ${{ vars.SSH_USERNAME }}
MIX_ENV: ${{ vars.MIX_ENV }}
RELEASE: ${{ inputs.release }}
RELEASE: arena
PHX_SERVER: ${{ vars.PHX_SERVER }}
PHX_HOST: ${{ vars.LOADTEST_SERVER_HOST }}
PORT: ${{ vars.ARENA_PORT }}
Expand Down
Loading
Loading