Skip to content

Commit 7b5b66d

Browse files
author
Saqib
committed
ci: consolidate dev and prod deploy workflows into single file
Replaces separate dev/prod workflow files with a single deploy-Dataspace.yml that uses GitHub environments to switch between development and production config.
1 parent cf79913 commit 7b5b66d

2 files changed

Lines changed: 44 additions & 112 deletions

File tree

.github/workflows/deploy-Dataspace-dev.yml

Lines changed: 0 additions & 81 deletions
This file was deleted.
Lines changed: 44 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,50 @@
1-
name: Update DataSpace Prod
1+
name: Deploy DataSpace
22

33
on:
44
push:
5-
branches: ['main']
6-
env:
7-
KEYCLOAK_CLIENT_ID: ${{secrets.KEYCLOAK_CLIENT_ID}}
8-
KEYCLOAK_CLIENT_SECRET: ${{secrets.KEYCLOAK_CLIENT_SECRET}}
9-
AUTH_ISSUER: ${{secrets.AUTH_ISSUER}}
10-
NEXTAUTH_URL: ${{secrets.NEXTAUTH_URL_DS}}
11-
NEXT_PUBLIC_NEXTAUTH_URL: ${{secrets.NEXT_PUBLIC_NEXTAUTH_URL_DS}}
12-
NEXTAUTH_SECRET: ${{secrets.NEXTAUTH_SECRET}}
13-
END_SESSION_URL: ${{secrets.END_SESSION_URL}}
14-
REFRESH_TOKEN_URL: ${{secrets.REFRESH_TOKEN_URL}}
15-
NEXT_PUBLIC_BACKEND_URL: ${{secrets.NEXT_PUBLIC_BACKEND_URL_DS}}
16-
BACKEND_GRAPHQL_URL: ${{secrets.BACKEND_GRAPHQL_URL_DS}}
17-
NEXT_PUBLIC_ENABLE_ACCESSMODEL: ${{secrets.NEXT_PUBLIC_ENABLE_ACCESSMODEL_DS}}
18-
NEXT_PUBLIC_BACKEND_GRAPHQL_URL: ${{secrets.NEXT_PUBLIC_BACKEND_GRAPHQL_URL_DS}}
19-
BACKEND_URL: ${{secrets.BACKEND_URL}}
20-
NEXT_PUBLIC_PLATFORM_URL: ${{secrets.NEXT_PUBLIC_PLATFORM_URL}}
21-
NEXT_PUBLIC_ANALYTICS_URL: ${{secrets.NEXT_PUBLIC_ANALYTICS_URL}}
5+
branches:
6+
- dev
7+
- main
228

239
jobs:
2410
deploy:
2511
runs-on: ubuntu-latest
12+
environment: ${{ github.ref_name == 'main' && 'production' || 'development' }}
13+
env:
14+
KEYCLOAK_CLIENT_ID: ${{ secrets.KEYCLOAK_CLIENT_ID }}
15+
KEYCLOAK_CLIENT_SECRET: ${{ secrets.KEYCLOAK_CLIENT_SECRET }}
16+
AUTH_ISSUER: ${{ secrets.AUTH_ISSUER }}
17+
NEXTAUTH_URL: ${{ vars.NEXTAUTH_URL }}
18+
NEXTAUTH_SECRET: ${{ secrets.NEXTAUTH_SECRET }}
19+
NEXT_PUBLIC_NEXTAUTH_URL: ${{ vars.NEXT_PUBLIC_NEXTAUTH_URL }}
20+
END_SESSION_URL: ${{ secrets.END_SESSION_URL }}
21+
REFRESH_TOKEN_URL: ${{ secrets.REFRESH_TOKEN_URL }}
22+
NEXT_PUBLIC_BACKEND_URL: ${{ vars.NEXT_PUBLIC_BACKEND_URL }}
23+
BACKEND_URL: ${{ vars.BACKEND_URL }}
24+
NEXT_PUBLIC_BACKEND_GRAPHQL_URL: ${{ vars.NEXT_PUBLIC_BACKEND_GRAPHQL_URL }}
25+
BACKEND_GRAPHQL_URL: ${{ vars.BACKEND_GRAPHQL_URL }}
26+
NEXT_PUBLIC_ENABLE_ACCESSMODEL: ${{ vars.NEXT_PUBLIC_ENABLE_ACCESSMODEL }}
27+
NEXT_PUBLIC_ANALYTICS_URL: ${{ vars.NEXT_PUBLIC_ANALYTICS_URL }}
28+
NEXT_PUBLIC_PLATFORM_URL: ${{ vars.NEXT_PUBLIC_PLATFORM_URL }}
2629

2730
steps:
2831
- name: Checkout code
2932
uses: actions/checkout@v4
3033

34+
- name: Setup Node.js
35+
uses: actions/setup-node@v4
36+
with:
37+
node-version: '20'
38+
cache: 'npm'
39+
3140
- name: Install dependencies
32-
run: npm install
41+
run: npm install --legacy-peer-deps
3342

3443
- name: Generate
35-
run: npm run generate
44+
run: npm run generate:ci
45+
env:
46+
BACKEND_GRAPHQL_URL: ${{ vars.BACKEND_GRAPHQL_URL }}
47+
NODE_ENV: production
3648

3749
- name: Build
3850
run: npm run build
@@ -41,30 +53,31 @@ jobs:
4153
run: mv .next .next2
4254

4355
- name: Rename public to public2
44-
run: mv public public2
56+
run: mv public public2
4557

4658
- name: Send .next2 to EC2
47-
uses: appleboy/scp-action@master
59+
uses: appleboy/scp-action@v0.1.7
4860
with:
49-
host: ${{ secrets.EC2_HOST_DS }}
50-
username: ${{ secrets.EC2_USERNAME_DS }}
61+
host: ${{ vars.EC2_HOST }}
62+
username: ${{ secrets.EC2_USERNAME }}
5163
key: ${{ secrets.EC2_PRIVATE_KEY }}
5264
source: .next2
5365
target: DataExchange/DataExFrontend
5466

5567
- name: Send public2 to EC2
56-
uses: appleboy/scp-action@master
68+
uses: appleboy/scp-action@v0.1.7
5769
with:
58-
host: ${{ secrets.EC2_HOST_DS }}
59-
username: ${{ secrets.EC2_USERNAME_DS }}
70+
host: ${{ vars.EC2_HOST }}
71+
username: ${{ secrets.EC2_USERNAME }}
6072
key: ${{ secrets.EC2_PRIVATE_KEY }}
6173
source: public2
62-
target: DataExchange/DataExFrontend
63-
74+
target: DataExchange/DataExFrontend
75+
6476
- name: Update with new Build
6577
uses: appleboy/ssh-action@v1.0.3
78+
continue-on-error: false
6679
with:
67-
host: ${{ secrets.EC2_HOST_DS }}
68-
username: ${{ secrets.EC2_USERNAME_DS }}
80+
host: ${{ vars.EC2_HOST }}
81+
username: ${{ secrets.EC2_USERNAME }}
6982
key: ${{ secrets.EC2_PRIVATE_KEY }}
7083
script: rm -rf DataExchange/DataExFrontend/.next; rm -rf DataExchange/DataExFrontend/public; mv DataExchange/DataExFrontend/.next2 DataExchange/DataExFrontend/.next; mv DataExchange/DataExFrontend/public2 DataExchange/DataExFrontend/public; /home/ubuntu/.nvm/versions/node/v20.11.1/bin/pm2 restart dataspace

0 commit comments

Comments
 (0)