Skip to content

Commit

Permalink
[Beta] Add deployment workflow for beta environment (#2595)
Browse files Browse the repository at this point in the history
* feat: Add deployment workflow for beta environment

This commit adds a new GitHub Actions workflow file, deploy-beta.yml, which is responsible for deploying the application to the beta environment. The workflow is triggered on push and pull request events. It checks if the repository is 'pagefaultgames/pokerogue' before running the deployment steps. The deployment includes checking out the code, setting up the Node.js environment, installing dependencies, building the application, setting up SSH for secure communication, deploying the build on the server using rsync, and purging the Cloudflare cache. The deployment is only performed when the push event is triggered on the default branch.
It also changes the deploy.yml workflow to be triggered only when a release is generated.

* feat: Update deployment workflow for beta environment

* Update deploy-beta name

* chore: Update deploy-beta.yml to use 'f-fsantos:beta-environment' as the ref name

* chore: Update deploy-beta.yml to use 'f-fsantos:beta-environment' as the ref name

* chore: Update deploy-beta.yml to use '2595/merge' as the ref name

* chore: Update deploy-beta.yml to include event name in deployment message

* chore: Update deploy-beta.yml to use 'pull_request' event and '2595/merge' as the ref name

* chore: Update deploy-beta.yml to include SSH public key

* chore: Update deploy-beta.yml to include SSH public key

---------

Co-authored-by: Temps Ray <[email protected]>
  • Loading branch information
f-fsantos and Tempo-anon authored Jul 3, 2024
1 parent 34058a5 commit e42c329
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 2 deletions.
3 changes: 3 additions & 0 deletions .env.beta
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
VITE_BYPASS_LOGIN=0
VITE_BYPASS_TUTORIAL=0
VITE_SERVER_URL=https://api.beta.pokerogue.net
3 changes: 3 additions & 0 deletions .env.production
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
VITE_BYPASS_LOGIN=0
VITE_BYPASS_TUTORIAL=0
VITE_SERVER_URL=https://api.pokerogue.net
33 changes: 33 additions & 0 deletions .github/workflows/deploy-beta.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Deploy Beta

on:
push: {}
pull_request: {}

jobs:
deploy:
if: github.repository == 'pagefaultgames/pokerogue'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build:beta
env:
NODE_ENV: production
- name: Set up SSH
if: github.event_name == 'push' && github.ref_name == github.event.repository.default_branch
run: |
mkdir ~/.ssh
echo "${{ secrets.BETA_SSH_PUBLIC_KEY }}" > ~/.ssh/id_ed25519.pub
echo "${{ secrets.BETA_SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/*
ssh-keyscan -H ${{ secrets.BETA_SSH_HOST }} >> ~/.ssh/known_hosts
- name: Deploy build on server
if: github.event_name == 'push' && github.ref_name == github.event.repository.default_branch
run: |
rsync --del --no-times --checksum -vrm dist/* ${{ secrets.BETA_SSH_USER }}@${{ secrets.BETA_SSH_HOST }}:${{ secrets.BETA_DESTINATION_DIR }}
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"start": "vite",
"start:dev": "vite --mode development",
"build": "vite build",
"build:beta": "vite build --mode beta",
"preview": "vite preview",
"test": "vitest run",
"test:cov": "vitest run --coverage",
Expand Down
3 changes: 1 addition & 2 deletions src/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -288,8 +288,7 @@ export const isLocal = (
export const localServerUrl = import.meta.env.VITE_SERVER_URL ?? `http://${window.location.hostname}:${window.location.port+1}`;

// Set the server URL based on whether it's local or not
export const serverUrl = isLocal ? localServerUrl : "";
export const apiUrl = isLocal ? serverUrl : "https://api.pokerogue.net";
export const apiUrl = localServerUrl ?? "https://api.pokerogue.net";
// used to disable api calls when isLocal is true and a server is not found
export let isLocalServerConnected = true;

Expand Down

0 comments on commit e42c329

Please sign in to comment.