Skip to content

adding a notifier to make sure that deployment and smoke test passed #36

adding a notifier to make sure that deployment and smoke test passed

adding a notifier to make sure that deployment and smoke test passed #36

name: Update DataSpace Dev

Check failure on line 1 in .github/workflows/deploy-Dataspace-dev.yml

View workflow run for this annotation

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

Invalid workflow file

(Line: 121, Col: 5): Unexpected value 'notify_success'
on:
push:
branches: ['dev']
jobs:
deploy:
name: Deploy to Dev Server
runs-on: ubuntu-latest
env:
KEYCLOAK_CLIENT_ID: ${{ secrets.KEYCLOAK_CLIENT_ID }}
KEYCLOAK_CLIENT_SECRET: ${{ secrets.KEYCLOAK_CLIENT_SECRET }}
AUTH_ISSUER: ${{ secrets.AUTH_ISSUER }}
NEXTAUTH_URL: ${{ secrets.NEXTAUTH_URL }}
NEXT_PUBLIC_NEXTAUTH_URL: ${{ secrets.NEXT_PUBLIC_NEXTAUTH_URL }}
NEXTAUTH_SECRET: ${{ secrets.NEXTAUTH_SECRET }}
END_SESSION_URL: ${{ secrets.END_SESSION_URL }}
REFRESH_TOKEN_URL: ${{ secrets.REFRESH_TOKEN_URL }}
NEXT_PUBLIC_BACKEND_URL: ${{ secrets.NEXT_PUBLIC_BACKEND_URL }}
BACKEND_GRAPHQL_URL: ${{ secrets.BACKEND_GRAPHQL_URL }}
NEXT_PUBLIC_ENABLE_ACCESSMODEL: ${{ secrets.NEXT_PUBLIC_ENABLE_ACCESSMODEL }}
NEXT_PUBLIC_BACKEND_GRAPHQL_URL: ${{ secrets.NEXT_PUBLIC_BACKEND_GRAPHQL_URL }}
BACKEND_URL: ${{ secrets.BACKEND_URL }}
NEXT_PUBLIC_PLATFORM_URL: ${{ secrets.NEXT_PUBLIC_PLATFORM_URL }}
NEXT_PUBLIC_ANALYTICS_URL: ${{ secrets.NEXT_PUBLIC_ANALYTICS_URL }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install dependencies
run: npm install
- name: Generate
run: npm run generate
- name: Build
run: npm run build
- name: Rename .next to .next2
run: mv .next .next2
- name: Rename public to public2
run: mv public public2
- name: Backup existing .next and public folders
uses: appleboy/[email protected]
with:
host: ${{ secrets.EC2_HOST_DEV_DS }}
username: ${{ secrets.EC2_USERNAME_DS }}
key: ${{ secrets.EC2_PRIVATE_KEY }}
script: |
cp -r DataExchange/DataExFrontend/.next DataExchange/DataExFrontend/.next_backup || true
cp -r DataExchange/DataExFrontend/public DataExchange/DataExFrontend/public_backup || true
- name: Send .next2 to EC2
uses: appleboy/scp-action@master
with:
host: ${{ secrets.EC2_HOST_DEV_DS }}
username: ${{ secrets.EC2_USERNAME_DS }}
key: ${{ secrets.EC2_PRIVATE_KEY }}
source: .next2
target: DataExchange/DataExFrontend
- name: Send public2 to EC2
uses: appleboy/scp-action@master
with:
host: ${{ secrets.EC2_HOST_DEV_DS }}
username: ${{ secrets.EC2_USERNAME_DS }}
key: ${{ secrets.EC2_PRIVATE_KEY }}
source: public2
target: DataExchange/DataExFrontend
- name: Update with new Build
uses: appleboy/[email protected]
with:
host: ${{ secrets.EC2_HOST_DEV_DS }}
username: ${{ secrets.EC2_USERNAME_DS }}
key: ${{ secrets.EC2_PRIVATE_KEY }}
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
smoke:
name: Run Smoke Tests from QA Repo
needs: deploy
uses: saqibmanan/CivicDataSpace-test/.github/workflows/run-smoke.yml@dev
secrets:
BASE_URL: ${{ secrets.BASE_URL }}
HOME_URL_DEV: ${{ secrets.HOME_URL_DEV }}
TEST_EMAIL_1: ${{ secrets.TEST_EMAIL_1 }}
TEST_PASSWORD_1: ${{ secrets.TEST_PASSWORD_1 }}
TEST_EMAIL_2: ${{ secrets.TEST_EMAIL_2 }}
TEST_PASSWORD_2: ${{ secrets.TEST_PASSWORD_2 }}
QA_REPO_PAT: ${{ secrets.QA_REPO_PAT }}
revert_deploy:
name: Revert Deployment on Smoke Test Failure
needs: smoke_tests
if: failure()
runs-on: ubuntu-latest
steps:
- name: Revert to Backup Build on EC2
uses: appleboy/[email protected]
with:
host: ${{ secrets.EC2_HOST_DEV_DS }}
username: ${{ secrets.EC2_USERNAME_DS }}
key: ${{ secrets.EC2_PRIVATE_KEY }}
script: |
rm -rf DataExchange/DataExFrontend/.next
rm -rf DataExchange/DataExFrontend/public
mv DataExchange/DataExFrontend/.next_backup DataExchange/DataExFrontend/.next
mv DataExchange/DataExFrontend/public_backup DataExchange/DataExFrontend/public
/home/ubuntu/.nvm/versions/node/v20.11.1/bin/pm2 restart dataspace
notify_success:
name: ✅ Deployment & Smoke Test Passed
needs: smoke_tests
if: success()
runs-on: ubuntu-latest
steps:
- run: echo "✅ Smoke tests passed. Deployment is stable."